全球旧事资料 分类
利用查表的方法实现RO中的十六进制数转换为ASCⅡ码
对每小题程序中划线的指令含义或指令作用进行解释,并说明程序的作用。
1程序解释
ORG100H
MOVA,R0
;R0的内容送A
ANLA,0FH
MOV
R1,A
MOV
A,R0
SWAPA
;A的内容高低4位交换
ANLA,0FH
MOV
R2,A
SJMP

;等待
END
该程序的作用是:将原R0中数据按照高低4位分成两个字节,低位字节保存在R1中,
高位字节保存到R2中。
2程序解释
ORG30H
MOVR0,data1;data1送R0
MOVR1,data2
MOVR2,2
CLRC
LOOP:MOVA,R0
SUBBA,R1
;(A)(C)((R1))→A
MOVR0,A
INCR0
INCR1
DJNZR2,LOOP;(R2)1不等于零,跳LOOP处
SJMP
END
该程序的作用是:将data1中的双字节数据减去data2中的双字节数据,结果
保存到data1中
3程序解释
ORG30H
VARDATA30H
FUNCDATA31H
MOVA,VAR;30单元的内容送A
JZDONE
;A为零转移
4
fJNBMOVSJMPPOSI:MOVDONE:MOVSJMPEND
ACC7,POSIA,0FFHDONEA,01HFUNC,A
;A的最高位为0(正数)转移;提示:0FFH表示1
该程序的作用是:判断30H单元中的内容,结果放在31H单元中。大于0放1,
小于0放1,等于零放0。
4程序解释
ORG100H
MOVAR3
RLA
;A左循环一位(即乘2)
MOVDPTR,BRTAB;绝对转移地址表起始地址送DPTR
JMP
ADPTR
;(PC)(A)(DPTR)
……
BRTAB:AJMPROUT000
AJMPROUT001
AJMPROUT002
……
AJMPROUT127
END
该程序的作用是:本程序完成128分支转移操作,根据R3中的数值转移到
相应的128个分支程序中。
5程序解释
ORG0030H
MOVR022H
;立即数22H送R0
MOVR000H
INCR0
;R0中的内容加1
MOVR001H
INCR0
MOVR002H
;02H送24H单元
SJMP
END
该程序的作用是:向单片机内部RAM的22H,23H,24H单元分别送
数据00,01,02。6程序解释
ORG0030HMOVA20HMOVB21H
DIVAB
;A除以B
5
fMOV31HA
;商送30H单元
IMOV31HB
;余数送31H单元
SJMP

END
该程序的作用是:将20H单元中有一个二进制数除以21H单元中二进制数,商保存到30H
单元,余数保存到31H。
7程序解释
CHENGJIDATA1000H
GRADA
DATA20H
GRADB
DATA21H
MOVGRADA,00H
MOVGRADB,00H
MOVR2,100
MOVDPTR,CHENGJI;1000H送DPTR
LOOP:MOVXA,DPTR
CJNEA,60,LOOP1
LOOP1:JNC
NEXT1
INCGRADB
;21H单元的内容加1
SJMPNEXT
NEXT1:INCGRADA
NEXT:INCDPTR
DJNZR2,LOOP
;(R2)1→R2不为零,转移
SJMP
END
该程序的作用是本程序完成对100个数(如100个学生成绩)的过滤统计,成绩在60以
上的学生统计到GRADA,60的学生统计到GRADB。
8程序解释
LENDATA20H
SUMDATA2r
好听全球资料 返回顶部