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