📅  最后修改于: 2023-12-03 14:38:54.408000             🧑  作者: Mango
本文介绍如何在8086汇编语言中编写程序以打印输入的整数表。
程序的主要流程如下:
首先,我们需要使用操作码int 21h
来完成输入和输出操作。其中,ah=01h
表示输入操作,ah=02h
表示输出操作。输入的字符会被保存在al
寄存器中,输出的字符由dl
寄存器提供。
下面是一个完整的代码片段:
assume cs:code
cseg segment 'code'
jmp start ; 跳转到start标号
input db 'Input an integer: $' ; 输入提示信息
output db 'The integer is $' ; 输出信息
endmsg db '$' ; 结束符
start:
mov ah, 09h ; 设置输出调用码
lea dx, input ; 设置输入提示信息
int 21h ; 输出提示信息
read:
mov ah, 01h ; 设置输入调用码
int 21h ; 读取输入的字符
cmp al, '0' ; 比较输入的字符和'0'
je exit ; 如果输入的字符是'0',跳转到exit标号
mov ah, 02h ; 设置输出调用码
lea dx, output ; 设置输出信息
int 21h ; 输出信息
mov dl, al ; 把输入的字符保存到dl寄存器中
int 21h ; 输出字符
mov dl, 0Dh ; 输出回车符
int 21h
mov dl, 0Ah ; 输出换行符
int 21h
add al, 01h ; 输入的字符加1
jmp read ; 跳转到read标号
exit:
mov ah, 09h ; 设置输出调用码
lea dx, endmsg ; 设置结束符
int 21h ; 输出结束符
mov ah, 4Ch ; 设置退出调用码
int 21h ; 退出程序
cseg ends
end
本文介绍了如何在8086汇编语言中编写程序以打印输入的整数表。我们使用了int 21h
操作码来完成输入和输出操作,同时也运用了这个程序的主要流程。如果在编写过程中遇到问题,请随时查看8086汇编语言的相关文档。