4. 每条语句分析如下:
POP DPH ;(DPH)=0FFH,(SP)=41H POP DPL ;(DPL)=0FFH,(SP)=40H MOV DPTR,#3000H ;(DPTR)=3000H RL A ;左移,(A)=04H MOV B,A ;(B)=04H MOVC A,@A+DPTR ;(A)=50H
PUSH ACC ;(SP)=41H,(41H)=50H MOV A,B ;(A)=04H INC A ;(A)=05H MOVC A,@A+DPTR ;(A)=80H
PUSH ACC ;(SP)=42H,(42H)=80H
RET ;(PC15~8)=80H,(SP)=41H,(PC7~0)=50H,(SP)=40H ORG 3000H
DB 10H,80H,30H,80H,50H,80H
所以,A=80H,SP=40H,(41H)=50H,(42H)=80H,PC=8050H。 8.
先把2000H~20FFH(共256个字节单元)内容移至3000H~20FFH
处,一共循环了256次,再单独地把2100H内容移至3100H处。因为前256个单元的源地址和目标地址的高八位都是从20##H移至30##H,所以此时只需要修改低八位即可。
而2100H(共1个字节单元)内容移至3100H,高八位是从21##H到31##H,单独处理。
DPL EQU 82H DPH EQU 83H
MOV R2,#00H MOV DPL,#00H
LOOP: MOV DPH,#20H ;移2000H~20FFH内容,共循环256次 MOVX A,@DPTR MOV DPH,#30H MOVX @DPTR,A INC DPTR DJNZ R2,LOOP
MOV DPTR,#2100H ;单独移动2100H内容至3100H MOVX A,@DPTR MOV DPTR,#3100H MOVX @DPTR,A RET 9.
MOV R0,#40H ;放首址 MOV R2,#0AH ;设置循环次数 MOV 30H,#00H ;三个单元内容清零 MOV 31H,#00H MOV 32H,#00H
START: CLR C ;CY CJNE @R0,#00H,LOOP1 INC 30H ; SJMP NEXT LOOP1: MOV 2FH,@R0 JB 7FH,LOOP2
INC 31H ;CY=0, SJMP NEXT
LOOP2: INC 32H ;CY=1,NEXT: INC R0 ; DJNZ R2,START RET
位清零
为零,加一 正数,加一 负数,加一 下一个数
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务