在汇编程序中显示结果通常有以下几种方法:
使用DOS中断
通过调用DOS的中断功能来实现输出。例如,使用INT 21H中断,其中2号功能可以输出字符的ASCII码。具体用法如下:
```assembly
MOV AH, 02h ; 设置功能号为2,用于输出字符
MOV DL, 内容 ; 将要输出的字符的ASCII码放入DL寄存器
INT 21H ; 调用中断
```
使用x86汇编的打印函数
可以使用x86汇编中的`INT 0x10`中断来实现字符输出。例如:
```assembly
MOV AL, 'A' ; 将字符'A'存储到AL寄存器中
MOV AH, 0x0E ; 设置打印字符的功能号
INT 0x10 ; 调用中断
```
使用调试工具
可以通过调试工具如debug来查看汇编程序的执行结果。此外,一些汇编器如tasm也提供了单步调试的功能。
将结果转换为ASCII码并输出
如果需要在屏幕上显示计算结果,可以将结果转换为十进制数,然后逐个字符地将其转换为ASCII码并输出。例如:
```assembly
; 假设结果为SUM,存储在AX寄存器中
MOV CX, 10 ; 循环10次,每次输出一个字符
MOV SI, 0
LOOP_LOOP:
ADD AX, SI ; 将SUM的个位数加到AX
INC SI
MOV DL, AH ; 将AX的低4位(即个位数)放入DL
ADD DL, 30h ; 将数字转换为对应的ASCII码(假设为十进制)
INT 21H ; 输出字符
LOOP LOOP
```
使用显示缓冲区
在某些情况下,可以使用显示缓冲区(如x86的0B800H地址)来显示结果。例如:
```assembly
MOV AX, 0xB800h ; 定位显示缓冲区
MOV DS, AX ; 将DS指向显示缓冲区
MOV AL, 160 ; 将要显示的字符存入AL
MOV BH, 0 ; 将颜色信息存入BH(如果需要)
INT 10h ; 调用显示中断
```
根据你的具体需求和目标平台,可以选择合适的方法来显示汇编程序的结果。