使用8086CPU汇编语言 编程实现从键盘输入两个 10 进制的 2 位整数的和
时间: 2024-12-24 12:28:43 浏览: 11
在8086 CPU汇编语言中,实现从键盘输入两个10进制的2位整数并求和,可以分为以下几个步骤:
1. **初始化**:
- 设置数据段寄存器DS,用于存储变量和数组地址。
- 设置标准输入设备的控制码。
2. **输入函数**:
- 输入第一个2位数,通常使用INT 21H中断服务程序,功能码为16H (Read Character)。先读取一个字符,检查是否结束输入(例如,回车符),如果不是,则转换成数字并存储到内存。
```assembly
; 读取第一个2位数
read_num_1:
mov ah, 01h
int 21h
cmp al, 0Dh ; 检查是否为换行
je end_input
sub al, '0' ; 转换成ASCII值后的数值
push ax ; 存储到堆栈
jmp read_num_1
end_input:
```
3. **处理输入**:
- 如果是第二个2位数的输入,继续上述过程;否则将堆栈中的两个数值弹出,并相加。
```assembly
; 类似于上面的过程,读取第二个2位数
; ...
add_two_digits:
pop bx ; 弹出第一个数字
pop ax ; 弹出第二个数字
add ax, bx ; 算术加法
;...
4. **结果输出**:
- 将结果转换回ASCII字符并输出到屏幕,同样使用INT 21H,功能码为02H (Write Character)。
```assembly
output_result:
add ax, '0' ; 将数值转换回字符
mov ah, 02h
int 21h
; ...
end_program:
; 清理栈,关闭输入等操作,然后返回
```
阅读全文