【发布时间】:2012-11-26 17:45:11
【问题描述】:
我想创建一个打印AH、AL、BH 和BL 寄存器值的过程。我有这个:
prntABHL:
PUSH BL
PUSH BH
PUSH AL
PUSH AH
PUSH fourNums ! defined in data as "%d, %d, %d, %d\n"
PUSH _PRINTF
SYS
ADD SP, 12 ! reset stack
RET
这会导致PUSH 指令出现四个寄存器错误。我假设是因为 PUSH 需要 16 位值,而 AH 和 AL 是 8 位值。
如果AH、AL、BH 和BL 寄存器中的值不是 16 位长,如何将它们指定为函数的参数?有没有一种相当直接的方法来解决这个问题?
【问题讨论】: