早教吧 育儿知识 作业答案 考试题库 百科 知识分享

微指令设计 ADD R1,(R2); [ ((R2)) + (R1) -> R1 ]如上,怎么设计这条微指令,23位分别是什么.在等.谢谢1楼的回答 可能是我没说明白 这个是计算机组成原理的习题 不是汇编

题目详情
微指令设计 ADD R1,(R2); [ ((R2)) + (R1) -> R1 ]
如上,怎么设计这条微指令,23位分别是什么.在等.
谢谢1楼的回答 可能是我没说明白 这个是计算机组成原理的习题 不是汇编
▼优质解答
答案和解析
你的题目不完整吧,不提供单字节数的个数无法控制循环,既然说了计算结果放在R1和R2中那就说明结果是2字节数而不是单字节数.
完整的题目应该是这样的:
无符号的多个单字节数加法.多个单字节数(假设7个字节)依次存放在片内RAM 21H开始的连续单元中,要求将计算结果存放在R1和R2中(假定相加的和为2字节数),其中R1为高位,R2为低位.
程序如下:
ORG 2000H
MOV R0,#21H ;定义R0为地址指针
MOV R3,#07H ;定义字节数
MOV R2,#00H ;定义和的初值(低字节)
MOV R1,#00H ;定义和的初值(高字节)
LOOP:MOV A, @R0 ;取加数
ADD A,R2 ;加法运算
MOV R2,A ;存结果
JNC LOOP1 ;判断有进位
INC R1 ;有进位高字节加1
LOOP1:INC R0 ;修改地址指针
DJNZ R3,LOOP ;字节数减1,并判断为零
JMP $