×
嵌入式 > 嵌入式开发 > 详情

清零、移数、判断(80C51单片机汇编语言编程)

发布时间:2020-10-21 发布时间:
|
将片内30H~40H及片外0010H~0100H清零,然后将片内41H~47H的内容移到片外0041H~0047H,判断
1、若(0041H)<15,则求平方存放到0050H中,并将位00H置1
2、若(0041H)=15,则加15存放到0050H中,并将位01H置1
3、若(0041H)>15,则减15存放到0050H中,并将位02H置1
汇编程序:
ORG 0000H;设置初始地址

MOV R0,#30H;对片内30H~40H清零
MOV R1,#11H
CLR A
CON1:MOV @R0,A
INC R0
DJNZ R1,CON1

MOV DPTR,#0010H;对片外0010H~0100H清零
MOV R1,#0F1H
CLR A
CON2:MOVX @DPTR,A
INC DPTR
DJNZ R1,CON2

MOV R1,#07H;移动内容
MOV R0,#41H
MOV DPTR,#0041H
LOOP:MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R1,LOOP

MOV DPTR,#0041H
MOVX A,@DPTR
CJNE A,#0FH,NEXT1;不相等跳转
ADD A,#0FH;相等情况
MOV DPTR,#0050H
MOVX @DPTR,A
SETB 01H
CLR 00H
CLR 02H
SJMP OUT
NEXT1:JC NEXT2; SUBB A,#0FH;>情况
MOV DPTR,#0050H
MOVX @DPTR,A
SETB 02H
CLR 00H
CLR 01H
SJMP OUT
NEXT2:MOV B,A; MUL AB
MOV DPTR,#0050H
MOVX @DPTR,A
SETB 00H
CLR 01H
CLR 02H
OUT:SJMP $


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
CC-Link现场总线及应用实例