使用汇编编写程序,16位寄存器完成两个 32 位数(A1863124h, 12345678h)的加法运算。要求这两个数从物理 地址 11111h 单元开始连续存放,相加的结果要求在其后。运行程序,到内存查看结果,确 保程序正确
时间: 2024-05-05 20:22:00 浏览: 144
以下是使用汇编编写的程序:
```
ORG 100h
MOV AX, 1111h ; 将第一个数的高16位存入 AX
MOV DS, AX ; 将 DS 寄存器设置为该数的段地址
MOV SI, 0111h ; 将 SI 寄存器设置为该数的偏移地址
MOV BX, [DS:SI] ; 将第一个数的低16位存入 BX
MOV AX, 2222h ; 将第二个数的高16位存入 AX
MOV DS, AX ; 将 DS 寄存器设置为该数的段地址
MOV SI, 0113h ; 将 SI 寄存器设置为该数的偏移地址
MOV CX, [DS:SI] ; 将第二个数的低16位存入 CX
ADD BX, CX ; 将两个数相加
MOV AX, BX ; 将结果存入 AX
MOV DS, AX ; 将 DS 寄存器设置为结果的段地址
MOV SI, 0115h ; 将 SI 寄存器设置为结果的偏移地址
MOV [DS:SI], AX ; 将结果存入内存
HLT ; 程序结束
END
```
该程序的实现过程为:
1. 将第一个数的高16位存入 AX,将 DS 寄存器设置为该数的段地址,将 SI 寄存器设置为该数的偏移地址,将第一个数的低16位存入 BX。
2. 将第二个数的高16位存入 AX,将 DS 寄存器设置为该数的段地址,将 SI 寄存器设置为该数的偏移地址,将第二个数的低16位存入 CX。
3. 将 BX 和 CX 相加,将结果存入 AX。
4. 将 DS 寄存器设置为结果的段地址,将 SI 寄存器设置为结果的偏移地址,将结果存入内存。
5. 程序结束。
运行该程序后,可以到物理地址 11115h 单元查看结果。
阅读全文