我想创建一个打印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 位长,如何将它们指定为函数的参数?有没有一种相当直接的方法来解决这个问题?