- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(三)其它类型题
3.编写程序将RAM20H-23H单元的高4位写1,低4位写0。
分析:就是把这四个单元写入F0H。用一个DJNZ的循环。
ORG 0000H
MOV R0,#1FH ;R0指向20H单元
MOV R5,#04H; 四个数
LOOP: INC R0
MOV @R0,#0F0H ; 写入
DJNZ R5,LOOP ; 循环4次
END
4.把m和m+1单元存有两个BCD数,将它们合并到m单元中,编写程序完成。
(设m=30H, 高位在30H,低数在31H)
ORG 0000H
MOV A,30H
ANL A,#0FH ;把它的高四位清零
SWAP A
MOV 30H ,A ;高低四位调一下,放回原处
MOV A,31H
ANL A,#0FH
ORL A,30H ;合并起来
MOV 30H,A
END
5.将内部RAM中从data单元开始的10个无符号数相加,其和送sum单元多,假定相加结果小于255。编写程序完成。
(设data=30H, sun =50H)
ORG 0000H
MOV R0,#2FH ; 指向前一个单元
MOV R5,#0AH ;循环10次
CLR A ;先加到A中
LOOP: INC R0
ADD A,@R0
DJNZ R5,LOOP
MOV 50H,A
END
6.假定8位二进制带符号数丰于R0中,要求编写一个求补程序,所得补码入入R1中。
ORG 0000H
MOV A,R0
CPL A ;按位取反
ADD A,#01H ;+1
MOV R1,A
编程题
1.把长度为10H的字符串从内部RAM的输入缓冲区inbuf向位物外部RAM的输出缓冲区outbuf传送,一直进行到遇见回车或整个字符串传送完毕。试编程实现。
? ? ? ? ORG? 0030H? ? ? ? ? ? ? ? MOV? R0,#inbuf? ? ? ? ? ? ? ? MOV? R1,#outbuf? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MOV? R4,#10H? ? LOOP:MOV? A,@R0 ; 从内部RAM取数 CJNE? A,#0DH,LL ;是否为回车符CR? ? ? ? ? ? ? SJMP? STOP ;是转停止传送? LL:? MOVX? @R1,A ;不是则传送到外部RAM ? ? ? ? ? ? INC? R0? ? ? ? ? ? INC? R1? ? ? ? ? ? ? DJNZ? R4,LL;沒传送完则循环 STOP:? SJMP $
2、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。编程实现在表中找出最小数。? ? ? (3AH存放在运行程序时的最小的数)? ? ?
ORG? 0030H? ? ? ? ? ? MOV R0,#list? ? ? ? ? ? MOV A,@R0 ;取第一个正数? LOOP: INC R0 ;指向下一个正数? ? ? ? ? ? MOV 3AH,@R0? ? ? CJNE A,3AH,CHK ;前一个数与后一个数比较 CHK:? JC? LOOP1 ;前一个数小,则转? ? ? ?? ? MOV A,@R0 ;前一个数大,取后一个数LOOP1: XCH A,3AH? ? ? ? ? ? CJNE A,#0FFH,LOOP? ? ? ? ? ? XCH A,3AH ;取最小数? ? ? ? ? ? MOV? 3BH,A? ? ? ? ? ? SJMP $
3.内部RAM的X,Y 单元中各存放一个带符号的数,试编程实现按如下条件进行的运算,并将结果存入Z单元中。
若X为正奇数,Z =X+Y;
若X为正偶数,Z =X∨Y;
若X为负奇数,Z =X∧Y;
若X为负偶数,Z =X⊕Y。
分析:负数:第7位为1,正数:第7位
文档评论(0)