汇编源程序 ORG 0 START: MOV R1,#00H ;初始化R7为0,表示从0开始计数 MOV A,R1 ; CPL A ;取反指令 MOV P1,A ;送出P1端口由发光二极管显示 REL: JNB P3.7,REL ;判断SP1是否按下 LCALL DELAY10MS ;若按下,则延时10ms左右 JNB P3.7,REL ;再判断SP1是否真得按下 INC R7 ;若真得按下,则进...
MOV R1,#00H;‘B’的个数初始化 LOOP: MOV A, @R0 CJNE A, #0DH,LOOP1;判断是否结束(回车键) MOV DPTR,#0040H;把结果放外部RAM中 MOV A,R1 MOVX @DPTR,A SJMP LOOP1: CJNE A,#42H,NEXT;不为B则跳转 INC R1; 为B则使计数器加1 NEXT: INC R0 AJMP LOOP END 2、+2ab+b,并把和存...
ORG 0000H:起始地址0000H CLR 00H:清除00H地址里的内容 MOV R0,#00H:将00H里的内容移送到R0寄存器里 MOV R1,#00H:将00H里的内容移送到R1寄存器里 LJMP MAIN:跳到主程序MAIN ORG 0030H:起始地址 0030H MOV A,R0:将R0寄存器里的内容送到A中 SWAP A:将寄存器A中数据...
ORG 0000H:起始地址0000H CLR 00H:清除00H地址里的内容 MOV R0,#00H:将00H里的内容移送到R0寄存器里 MOV R1,#00H:将00H里的内容移送到R1寄存器里 LJMP MAIN:跳到主程序MAIN ORG 0030H:起始地址 0030H MOV A,R0:将R0寄存器里的内容送到A中 SWAP A:将寄存器A中数据...
MOV R1, #00H MOVX A, @R1 JNZ LABEL 这段代码读取外部内存地址为0x00的内容到累加器A,如果内容非零,则跳转到“LABEL”运行。调试发现MOVX指令执行之后,累加器A的值为0(实际XRAM地址为0的区域非零)。 2.解决 上网检索之后,发现有类似描述“外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ...
执行下面的指令或指令组合,( ),两(组)指令执行结果一样。 A. 指令MOV@R0,A和指令MOVX@R0,A比较 B. 指令MOV A,B和指令组合PUSH B。 MOV A,07H比较 C. 指令CLR 00H和指令ANL 20H,#0FEH比较 D. 指令INCA和指令组合MOVR1,#01H。 ADD A,@R1比较...
MOV A,和MOV R1,并没有什么规定什么时候用什么,都是根据需要来写程序。总的原则是,A是用来计算的,其中的数在不断变化。所以,就别用A保存什么数据,用寄存器呀。为什么总纠结这些呢?刚学汇编,要逐渐记住各种指令的特点,多看例子,按那些例子的规则来学习写程序,别总想要突破这些规则,...
ORG 0030H START:MOV DPTR,#40536 MOV TH0,DPH ;置时间常数 MOV TL0,DPL MOV TMOD,#1 SETB EA SETB ET0 SETB TR0 ; 开中断 扫描程序: CLOCK:CLR EA ;关中断 CLR TR0 MOV TH0,DPH MOV TL0,DPL MOV P1,#0FH MOV A,P1 ORL A,#0F0H CPL A JZ INT_DONE ;没有按下键,返回 MOV R1,#20 DE...
已知在外部RAM中,(21H)=0FFH,(22H)=09H,(23H)=10H。问执行以下程序段后R1和R2中的内容为多少? MOV R,#21H MOV R3, #03H MOV R1, #00H MOV R2, #00H LOOP:MOVX A, @R ADD A, R2 MOV R2, A JNC LOOP1 INC R1 LOOP1: INC R
MOV DPTR,#4400H MOV A,#03H MOVX @DPTR,A SETB RS0 ;使用第1组工作寄存器 MOV R2,#08H MOV R0,#30H CLR A L1: MOV @R0,A INC R0 INC A DJNZ R2,L1 DISP: MOV R0,#30H ;显示缓冲区首址送R0 MOV R1,#00H MOV R2,#08H ;R2中的08H表示① MOV R3,#7FH ;选中最右端LED DISP1: MOV...