在汇编程序执行完后,可以通过以下方法查看AX和CX的值:
使用Debug进行调试
在得到AX和DX的结果后,可以在程序中紧接着添加一条“int 3”中断指令。
然后在调试器(如Debug)中运行程序,程序暂停时,AX和DX寄存器中的值即为所求。
编写显示子程序
可以编写一个显示16位二进制数的显示子程序,然后分别调用该子程序来显示AX和DX的值。
如果需要显示32位二进制数,并且DX是32位数的高16位,AX是32位数的低16位,则需要编写一个32位二进制数的显示子程序,并调用它来显示AX和DX的值。
使用INT 21H中断
可以编写一个子程序,使用MOV、ROL、AND、CMP和JBC等指令将AX和DX的值转换为16进制数,并通过INT 21H中断显示出来。
```assembly
DISPDXAX PROC
MOV BX, AX; 将AX的值移动到BX
MOV CH, 4 ; 设置计数器CH为4,用于循环
MOV CL, 4 ; 设置计数器CL为4,用于循环
next0:
ROL BX, CL; 将BX右移CL位
MOV DL, BL; 将BX的最低4位移动到DL
AND DL, 0FH ; 将DL与0FH进行与操作,保留最低4位
CMP DL, 09H ; 比较DL与09H
JBE next1 ; 如果DL小于或等于09H,跳转到next1
ADD DL, 07H ; 否则,将DL加7
next1:
MOV AH, 02H ; 设置AH为2,用于显示字符
INT 21H ; 调用中断21H显示字符
DEC CH; 计数器CH减1
CMP CH, 0 ; 如果CH不为0,跳转到next0
DISPDXAX ENDP
```
通过这些方法,你可以在汇编程序执行完后查看AX和CX的值。选择哪种方法取决于你的具体需求和编程环境。