Make symbols for regular registers.
--HG-- extra : convert_revision : 28a6df1efe4298877dc2b20179caeb25dfdc4622
This commit is contained in:
parent
ec24de8b59
commit
70d6044527
|
@ -61,8 +61,8 @@ def macroop CALL_I
|
||||||
|
|
||||||
limm t2, imm
|
limm t2, imm
|
||||||
rdip t1
|
rdip t1
|
||||||
subi "INTREG_RSP", "INTREG_RSP", dsz
|
subi rsp, rsp, dsz
|
||||||
st t1, ss, [0, t0, "INTREG_RSP"]
|
st t1, ss, [0, t0, rsp]
|
||||||
wrip t1, t2
|
wrip t1, t2
|
||||||
};
|
};
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -58,16 +58,16 @@ def macroop POP_R {
|
||||||
# Make the default data size of pops 64 bits in 64 bit mode
|
# Make the default data size of pops 64 bits in 64 bit mode
|
||||||
.adjust_env oszIn64Override
|
.adjust_env oszIn64Override
|
||||||
|
|
||||||
ld reg, ss, [0, t0, "INTREG_RSP"]
|
ld reg, ss, [0, t0, rsp]
|
||||||
addi "INTREG_RSP", "INTREG_RSP", dsz
|
addi rsp, rsp, dsz
|
||||||
};
|
};
|
||||||
|
|
||||||
def macroop PUSH_R {
|
def macroop PUSH_R {
|
||||||
# Make the default data size of pops 64 bits in 64 bit mode
|
# Make the default data size of pops 64 bits in 64 bit mode
|
||||||
.adjust_env oszIn64Override
|
.adjust_env oszIn64Override
|
||||||
|
|
||||||
subi "INTREG_RSP", "INTREG_RSP", dsz
|
subi rsp, rsp, dsz
|
||||||
st reg, ss, [0, t0, "INTREG_RSP"]
|
st reg, ss, [0, t0, rsp]
|
||||||
};
|
};
|
||||||
'''
|
'''
|
||||||
#let {{
|
#let {{
|
||||||
|
|
|
@ -91,6 +91,9 @@ let {{
|
||||||
"osz" : "env.operandSize",
|
"osz" : "env.operandSize",
|
||||||
"ssz" : "env.stackSize"
|
"ssz" : "env.stackSize"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for reg in ('ax', 'bx', 'cx', 'dx', 'sp', 'bp', 'si', 'di'):
|
||||||
|
assembler.symbols["r%s" % reg] = "INTREG_R%s" % reg.upper()
|
||||||
assembler.symbols.update(symbols)
|
assembler.symbols.update(symbols)
|
||||||
|
|
||||||
# Code literal which forces a default 64 bit operand size in 64 bit mode.
|
# Code literal which forces a default 64 bit operand size in 64 bit mode.
|
||||||
|
|
Loading…
Reference in a new issue