P RET ② MOV R1,#32H MOV DPTR,# 0A000H MOV Ro ,#40H LOOP: MOVX A ,@DPTR MOV @Ro ,A INC DPTR INC Ro DTNZ R1 ,LOOP RET 85、把片内 RAM40H ~ 4FH 单元中的 16 个补码逐一取出,若为正数则放回原单元,若为负数则求补后放回原单元。试编程。 ORG 0030H MAIN: MOV R0,#40H MOV R7,10H LOOP:MOV A,@R0 JNB ACC.7,NEXT CPL A ADD A,#81H MOV @R0,A NEXT:INC R0 DJNZ R7,LOOP SJMP $ END 86、设有两个 16 位无符号数 X,Y 分别存放在 8031 单片机内部 RAM 的 40H 、 41H 及 50H 、 51H 单元中(高位存放于低地址) ,当 X>Y 时,将内部 RAM 的 42H 单元清 0 ;否则,将该单元置成全 1 ,试编程。 ORG 1000H YCIT: CJNE 40H,50H,LOP CJNZ 41H,51H,LOP1 JMP LOP3 LOP: MOV A,40H SUBB A,50H JC LOP3 MOV 41H,#00H JMP NEXT LOP1:MOV A,41H SUBB A,51H JC LOP3 MOV 41H,#00H JMP NEXT LOP3: MOV 41H,#0FFH NEXT: RET 2000H CMP:MOV A,50H CJNE A,40H,CMP1 MOV A,51H CJNZNA,41H,CMP1 SJMPN NHIGHE CMP1:JC HIGHE NHIGHE:MOVN42H,#0FFH SJMP DONE HIGHE:MOV 42H,#00H DONE:SJMP $ END