4、编写程序计算SUM2=54H+F6H+1BH+20H+04H+C1H,要求将数据放在程序存储器从0500H~0505H中,结果SUM2放在寄存器R6(高位)和R7(低位)中。
时间: 2023-10-11 13:09:37 浏览: 77
将两个多位十进制数相加,要求加数和被加数均以ASCII码形式各自顺序存放以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处
4星 · 用户满意度95%
以下是8086汇编代码实现:
```
ORG 100h ;设置程序起始地址
MOV AX, 0500h ;将数据存储器的地址放入AX
MOV DS, AX ;将DS寄存器中的地址设置为数据存储器的地址
MOV AL, [0500h] ;将第一个数据存储到AL寄存器中
ADD AL, [0501h] ;将第二个数据加到AL寄存器中
ADD AL, [0502h] ;将第三个数据加到AL寄存器中
ADD AL, [0503h] ;将第四个数据加到AL寄存器中
ADD AL, [0504h] ;将第五个数据加到AL寄存器中
ADD AL, [0505h] ;将第六个数据加到AL寄存器中
MOV R7, AL ;将结果的低8位存储到R7寄存器中
MOV R6, AH ;将结果的高8位存储到R6寄存器中
HLT ;程序结束
```
代码的实现思路是将数据存储器的地址放入DS寄存器中,然后依次将数据存储到AL寄存器中,再将其累加,最后将结果的低8位存储到R7寄存器中,将结果的高8位存储到R6寄存器中。
阅读全文