- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
补全程序
1、完成下面子程序:
SQR: PUSH DPH
PUSH DPL
MOV DPTR, #TABLE
MOVC A, @A+DPTR
( )
RET
TABLE: DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81;
END
A. POP DPL POP DPH
B. PUSH DPL PUSH DPH
C. POP DPH POP DPL
D. PUSH DPH PUSH DPL
编写程序
试编写程序,查找在内部RAM的20H~40H
单元中出现 “00H”这一数据的次数,并将查
找到的结果存入41H单元
ORG 0000H
LJMP START
ORG 0040H
START: MOV 41H,#0
MOV R1,#20H
MOV R2,#33
LOOP0: MOV A,@R1
CJNE A,#0,LOOP1
INC 41H
LOOP1: INC R1
DJNZ R2,LOOP0
END
在数据块大于20的数据块长度中,求出数
据块中大于64H的数的个数。P1口做输出口,
接八只发光二极管,用发光二极管显示大于64
H的个数设计出程序流程图,并编写程序。发
挥部分:发光二极管闪烁显示大于64H的个数。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV SP, #60H
CLR A
MOV R2,A ;计数寄存器清0
MOV P1,#0FFH
MOV R3,#20 ;计数块长度为20
START: MOV DPTR,#DATA1 ;设置数据块起始地址指针
LOOP: CLR A
MOVC A,@A+DPTR ;取数
INC DPTR ;修改数据块地址指针
CJNE A,#64H,ONE ;判断数据是否大于64H
LJMP TWO
ONE: JC TWO ;小于64H转移
INC R2 ;大于64H,计数器R2加1
TWO: DJNZ R3,LOOP ;判断取数是否结束
LOOP1: MOV A,R2
MOV P1,A ;计数器R2送入P1口输出
ACALL DELAY1 ;延时100mS
CLR A
MOV P1,A
ACALL DELAY2 ;延时1S
SJMP LOOP1
DATA1: DB 9AH,66H,80H,25H
DB 34H,76H,0AH,0BCH
DB 33H,0EDH,88H,0CCH
DB 45H,11H,90H,56H
DB 35H,28H,65H,0FEH
DELAY1: MOV R0,#00H
DELAY11: MOV R1,#0B3H
DJNZ R1,$
DJNZ R0,DELAY11
RET
DELAY2: MOV R4,#0AH
DELAY21: ACALL DELAY1
DJNZ R4,DELAY21
RET
END
设有100个有符号数,连续存放在以
2000H为首地址的存储区中,试编程统计
其中正数、负数、零的个数并分别存放在
30H、31H、32H单元中。
MOV 30H,#0
MOV 31H,#0
MOV 32H,#0
MOV DPTR ,#2000H
MOV R1,#100
L4: MOVX A,@DPTR
INC DPTR
CJNE A,#0,L1
INC 32H
SJMP L2
L2: JC L3
INC 30H
SJMP L2
L3: INC 31H
L2: DJNZ R1,L4
SJMP $
编程将内部数据存储器20H~24H单元压缩的
BCD码转换成ASCⅡ存放在于25H开始的单元。
ORG 0000H
MOV R7,#05H ;R7为转换字节数
MOV R0,#20H ;R0为源操作数地址
MOV R1,#25H ;R1为目的操作数地址
NE: MOV A,@R0
ANL A,#0FH ;先取低位BCD码
ADD A,#30H ;将BCD码转换成ASCⅡ码
MOV @R1,A
INC R1
MOV A,@R0
ANL A,#0F0H ;取高位BCD码
SWAP A ;半字节交换
ADD A,#30H ;将高位BCD码转换成ASCⅡ码
文档评论(0)