77范文网 - 专业文章范例文档资料分享平台

第四章 汇编语言程序设计

来源:网络收集 时间:2020-06-19 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第四章 汇编语言程序设计

1、编程将片内40H~60H单元中的内容送到以3000H为首的存储区内。 答: MOV R1,#40H MOV R2,#21H MOV DPTR,#3000H L1: MOV A,@R1 MOVX @DPTR,A INC R1 INC DPTR DJNZ R2,L1 2、编程计算下列算式的程序 (1)23H+45H+ABH+03H= MOV A,#23H ADD A,#45H ADD A,#0ABH

XCH A,B ;溢出处理 ADDC A,#00H XCH A,B

ADD A,#03H ;A中为结果低位,B中为高位 (2)CDH+15H-38H-46H= MOV A,#0CDH ADD A,#15H SUBB A,#38H SUBB A,#46H (3)1234H+8347H=

MOV A,#34H ADD A,#47H MOV 30H,A MOV A,#12H ADDC A,#83H

MOV 31,A ;30H存结果低位,31H存结果高位 (4)AB123H-43ADCH= CLR C

MOV A,#23H SUBB A,DCH MOV 30H,A MOV A,#0B1H SUBB A,#3AH MOV 31H,A MOV A,#0AH SUBB A,,#04H

MOV 32H,A ;30H为低位,32H为高位

3、设有两个4位BCD码,分别存放在23H、22H单元和33H、32H单元中,求他们的和,并送入43H、42H单元中(低位在低字节,高位在高字节)。

答: MOV A,22H ADD A,32H MOV 42H,A MOV A,23H ADDC A,33H MOV 43H,A 4、略

5、编程计算片内RAM区50H~59H单元中数的平均值,结果存放在5AH中。 答: MOV R0,#8 MOV R1,#50H MOV A,#00H L1: ADD A,@R1 INC R1 DJNZ R0,L1 MOV B,#8 DIV AB MOV 5AH,A

6、编写计算下式的程序。设乘积和平方结果均小于255。a 、b值分别存在片外3001H和3002H单元中,结果存于片外3000H单元中。

?25,a?b?(1)Y??a?b,a?b

?a?b,a?b? L1: L2: SAVE:

MOV MOVX MOV INC MOVX CJNE MOV SJMP JNC MOV MUL SJMP MOV MOV DIV MOV MOVX

DPTR,#3001H A,@DPTR 30H,A DPL

A,@DPTR A,30H,L1 A,#25 SAVE L2 B,30H AB SAVE B,A A,30H AB

DPTR,#3000H @DPRT,A

;a暂存30H单元

;是否a=b

?(a?b)2?10,(a?b)2?10?2,(a?b)2?10 (2)Y??(a?b)?(a?b)2?10,(a?b)2?10? MOV DPTR,#3001H MOVX A,@DPTR MOV 30H,A INC DPTR MOVX A,@DPTR ADD A,30H MOV B,A

2

MUL AB ; (a+b) MOV 31H,A CJNE A,#10,L1 SJMP SAVE L1: JC L2 CLR C

SUBB A,#10 SJMP SAVE L2: ADD A,#10

SAVE: MOV DPTR,#3000H MOVC @DPTR,A

7、设有两个长度均为15的数组,分别存放在以200H和210H为首地址的存储区中,试编程求其对应项之和,结果存放到以220H为首地址的存储区中。 答: MOV DPH,#02H MOV R1,#15

MOV R2,#00H ; 数组1首地址低位 MOV R3,#10H ; 数组2首地址低位 MOV R4,#20H ; 和首地址低位 L1: MOV DPL,R2 MOVX A,@DPTR MOV R1,A MOV DPL,R3 MOVX A,@DPTR ADD A,R1 MOV DPL,R4 MOVX @DTPR,A INC R2 INC R3 INC R4 DJNZ R1,L1 SJMP $

8、设有100个无符号数,连续存放在以2000H为首地址的存储区中,试编程统计正数、负数和零的个数。

答: MOV 30H,#00H ;正数计数器 MOV 31H,#00H ;负数计数器 MOV 32H,#00H ;零计数器 MOV DPTR,#2000H

MOV R1,#100 L4: MOVX A,@DPTR INC DPTR

CJNE A,#0,L1 INC 32H SJMP L2 L1: JC L3 INC 30H SJMP L2 L3: INC 31H L2: DJNZ R1,L4 SJMP $

9、将片外数据存储器地址为1000H~1030H的数据块,全部搬迁到片内RAM 30H~60H中,并将原数据块区域全部清零。 答: MOV R0,#30H

MOV R2,#31H

MOV DPTR ,#1000H

LP: MOVX A,@DPTR

MOV @R0,A AND A,#00H MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,LP

SJMP $

10、试编写一子程序,是R1、R0指向的两个片外RAM连续单元中的高4位二进制数,合并成一个字节,装入累加器A中。已知R0指向低地址,并要求该单元高四位放在A中高四位。 答: MOVX A,@R1 ANL A,#0F0H SWAP A MOV R2,A MOVX A,@R0 ANL A,#0F0H ORL A,R2

11、试编程把以2040H为首地址的连续50个单元的无符号数按降序排列,存放到以3000H为首地址的存储区中。 答: MOV R2,#50 MOV R3,#20H

MOV R4,#40H ;源地址 MOV R5,#30H

MOV R6,#00H ;目的地址

SEND: MOV DPH,R3 ;SEND将2040H数据块移入3000H存储区

CMP1: CMP2: L1:

MOV DPL,R4 MOVX A,@DPTR INC DPTR MOV R3,DPH MOV R4,DPL MOV DPH,R5 MOV DPL,R6 MOVX @DPTR,A INC DPTR MOV R5,DPH MOV R6,DPL DJNZ R2,SEND

MOV R2,#49 ;重复次数 MOV DPTR,#3000H

MOV R3,#49 ;比较次数 MOVX A,@DPTR MOV B,A INC DPTR MOVX A,@DPTR CJNE A,B,L1 JC NOMOVE MOV 30H,A CLR C

MOV A,DPL SUBB A,#01H MOV DPL,A MOV A,30H MOVX @DPTR,A INC DPTR MOV A,B MOVX @DPTR,A

NOMOVE: DJNZ R3,CMP2 ;50个数重复一遍? DJNZ R2,CMP1 ;排序结束? LJMP $

12、试编一查表程序,从首地址为2000H,长度为100的数据块中找出ASCII码为A,将其地址送到20A0H和20A1H单元中。 答: MOV DPTR,#2000H MOV R2,#100 GO_ON: MOVX A,@DPTR

CJNE A,#41H,IFEND MOV A,DPH MOV B,DPL

MOV DPTR,#20A0H MOVX @DPTR,A

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第四章 汇编语言程序设计在线全文阅读。

第四章 汇编语言程序设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1110342.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: