试将30H、R7、B、A、PSW、DPTR中的数据依次压入堆栈。并指出每次堆栈操作后,SP=?、(SP)=?设原SP=60H,当前工作寄存
试将30H、R7、B、A、PSW、DPTR中的数据依次压入堆栈。并指出每次堆栈操作后,SP=?、(SP)=?设原SP=60H,当前工作寄存器区为0区,(30H)=11H,R7=22H,B=33H,A=44H,PSW=55H,DPTR=6677H。
试将30H、R7、B、A、PSW、DPTR中的数据依次压入堆栈。并指出每次堆栈操作后,SP=?、(SP)=?设原SP=60H,当前工作寄存器区为0区,(30H)=11H,R7=22H,B=33H,A=44H,PSW=55H,DPTR=6677H。
试编程,将R7中无符号数(≤255)转换成3位BCD码,存放在以30H为首址的3字节内RAM中。
试根据以下要求写出相应的汇编语言指令。
(1)将R6的高四位和R7的高四位交换,R6、R7的低四位内容保持不变。
(2)两个无符号数分别存放在30H、31H,试求出他们的和并将结果存放在32H。
(3)将30H单元的内容左环移两位,并送外部RAM3000H单元。
(4)将程序存储器中1000H单元的内容取出送外部RAM3000H单元。
(5)使累加器A的最高位置位。
(6)使进位标志位清0
(7)使ACC.4、ACC.5和ACC.6置1。
已知256≤显示数<10000,存在R7、R6中,试将其转换为4位共阳顺序小数点暗字段码,存在以33H(高位)~30H的内RAM中。
下面程序是将片内RAM______开始的单元内10个二进制数,找出其中最大值并存于单元中。
START: MOV R0,#40H
MOV R7,#09H
MOV A,@R0
LOOP: INC R0
MOV 30H,@R0
CJNE A,30H,NEXT
NEXT: JNC BIE1
MOV A,30H
BIE1: DJNZ R7,LOOP
MOV 50H,A
RET
MOV R7,#10H
MOV R1,#30H
L00P:CJNE @R1,#00H,NEXT
MOV @R1,#00H
SJMP NEXT1
NEXT:DEC @R1
NEXT1:INC R1
DJNZ R7,LOOP
SJMP $
END
下面程序是将片内RAM______开始的单元中有______字节的二进制数求它们之和(和<256)。
ADDIO: MOV R0,30H
MOV R7,#0AH
MOV A,@RO
LOOP: INC R0
ADD A,@R0
DJNZ R7,LOOP
MOV 30H,A
RET
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!