ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:34.66KB ,
资源ID:285392      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/285392.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章汇编语言程序设计.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四章汇编语言程序设计.docx

1、第四章汇编语言程序设计第四章 汇编语言程序设计1、编程将片内40H60H单元中的内容送到以3000H为首的存储区内。答:MOVR1,#40HMOVR2,#21HMOVDPTR,#3000HL1:MOVA,R1MOVXDPTR,AINCR1INCDPTRDJNZR2,L12、编程计算下列算式的程序(1)23H+45H+ABH+03H=MOVA,#23HADDA,#45HADDA,#0ABHXCHA,B;溢出处理ADDCA,#00HXCHA,BADDA,#03H;A中为结果低位,B中为高位(2)CDH+15H-38H-46H=MOVA,#0CDHADDA,#15HSUBBA,#38HSUBBA,#

2、46H(3)1234H+8347H=MOVA,#34HADDA,#47HMOV30H,AMOVA,#12HADDCA,#83HMOV31,A;30H存结果低位,31H存结果高位(4)AB123H-43ADCH=CLRCMOVA,#23HSUBBA,DCHMOV30H,AMOVA,#0B1HSUBBA,#3AHMOV31H,AMOVA,#0AHSUBBA,#04HMOV32H,A;30H为低位,32H为高位3、设有两个4位BCD码,分别存放在23H、22H单元和33H、32H单元中,求他们的和,并送入43H、42H单元中(低位在低字节,高位在高字节)。答:MOVA,22HADDA,32HMOV4

3、2H,AMOVA,23HADDCA,33HMOV43H,A4、略5、编程计算片内RAM区50H59H单元中数的平均值,结果存放在5AH中。答:MOVR0,#8MOVR1,#50HMOVA,#00HL1:ADDA,R1INCR1DJNZR0,L1MOVB,#8DIVABMOV5AH,A6、编写计算下式的程序。设乘积和平方结果均小于255。a 、b值分别存在片外3001H和3002H单元中,结果存于片外3000H单元中。(1)MOVDPTR,#3001HMOVXA,DPTRMOV30H,A;a暂存30H单元INCDPLMOVXA,DPTRCJNEA,30H,L1;是否a=bMOVA,#25SJMP

4、SAVEL1:JNCL2MOVB,30HMULABSJMPSAVEL2:MOVB,AMOVA,30HDIVABSAVE:MOVDPTR,#3000HMOVXDPRT,A(2)MOVDPTR,#3001HMOVXA,DPTRMOV30H,AINCDPTRMOVXA,DPTRADDA,30HMOVB,AMULAB; (ab)2MOV31H,ACJNEA,#10,L1SJMPSAVEL1:JCL2CLRCSUBBA,#10SJMPSAVEL2:ADDA,#10SAVE:MOVDPTR,#3000HMOVCDPTR,A7、设有两个长度均为15的数组,分别存放在以200H和210H为首地址的存储区中,试

5、编程求其对应项之和,结果存放到以220H为首地址的存储区中。答:MOVDPH,#02HMOVR1,#15MOVR2,#00H; 数组1首地址低位MOVR3,#10H; 数组2首地址低位MOVR4,#20H; 和首地址低位L1:MOVDPL,R2MOVXA,DPTRMOVR1,AMOVDPL,R3MOVXA,DPTRADDA,R1MOVDPL,R4MOVXDTPR,AINCR2INCR3INCR4DJNZR1,L1SJMP$8、设有100个无符号数,连续存放在以2000H为首地址的存储区中,试编程统计正数、负数和零的个数。答:MOV30H,#00H;正数计数器MOV31H,#00H;负数计数器M

6、OV32H,#00H;零计数器MOVDPTR,#2000HMOVR1,#100L4:MOVXA,DPTRINCDPTRCJNEA,#0,L1INC32HSJMPL2L1:JCL3INC30HSJMPL2L3:INC31HL2:DJNZR1,L4SJMP$9、将片外数据存储器地址为1000H1030H的数据块,全部搬迁到片内RAM 30H60H中,并将原数据块区域全部清零。答:MOV R0,#30HMOV R2,#31HMOV DPTR ,#1000HLP:MOVX A,DPTRMOV R0,AAND A,#00HMOVX DPTR,AINC R0INC DPTRDJNZ R2,LPSJMP$1

7、0、试编写一子程序,是R1、R0指向的两个片外RAM连续单元中的高4位二进制数,合并成一个字节,装入累加器A中。已知R0指向低地址,并要求该单元高四位放在A中高四位。答:MOVXA,R1ANLA,#0F0HSWAPAMOVR2,AMOVXA,R0ANLA,#0F0HORLA,R211、试编程把以2040H为首地址的连续50个单元的无符号数按降序排列,存放到以3000H为首地址的存储区中。答:MOVR2,#50MOVR3,#20HMOVR4,#40H;源地址MOVR5,#30HMOVR6,#00H;目的地址SEND:MOVDPH,R3;SEND将2040H数据块移入3000H存储区MOVDPL,

8、R4MOVXA,DPTRINCDPTRMOVR3,DPHMOVR4,DPLMOVDPH,R5MOVDPL,R6MOVXDPTR,AINCDPTRMOVR5,DPHMOVR6,DPLDJNZR2,SENDMOVR2,#49;重复次数CMP1:MOVDPTR,#3000HMOVR3,#49;比较次数CMP2:MOVXA,DPTRMOVB,AINCDPTRMOVXA,DPTRCJNEA,B,L1L1:JCNOMOVEMOV30H,ACLRCMOVA,DPLSUBBA,#01HMOVDPL,AMOVA,30HMOVXDPTR,AINCDPTRMOVA,BMOVXDPTR,ANOMOVE:DJNZR3,

9、CMP2;50个数重复一遍?DJNZR2,CMP1;排序结束?LJMP$12、试编一查表程序,从首地址为2000H,长度为100的数据块中找出ASCII码为A,将其地址送到20A0H和20A1H单元中。答:MOVDPTR,#2000HMOVR2,#100GO_ON:MOVXA,DPTRCJNEA,#41H,IFENDMOVA,DPHMOVB,DPLMOVDPTR,#20A0HMOVXDPTR,AINCDPTRXCHA,BMOVXDPTR,ASJMPOVERIFEND:INCDPTRDJNZR2,GO_ONOVER:SJMPOVER13、设在200H204H单元中,存放5个压缩BCD码,编程将他

10、们转换成ASCII码,存放到以205H单元为首地址的存储区。答:MOVR2,#05HMOVR3,#02HMOVR4,#00HMOVR5,#02HMOVR6,#05HCHLP:MOVDPH,R3MOVDPL,R4MOVXA,DPTRINCDPTRMOVR3,DPHMOVR4,DPLMOVB,ASWAPAANLA,#0FHORLA,#30HMOVDPH,R5MOVDPL,R6MOVXDPTR,AINCDPTRMOVA,BANLA,#0FHORLA,#30HMOVXDPTR,AMOVR5,DPHMOVR6,DPLDJNZR2,CHLP14、有一无符号数据块长度在30H单元中,其首地址为31H单元,求

11、出数据块中最大值,并存入40H中。答:MOVR0,#31HMOVR1,30HMOV40H,#00HLOOP:MOVA,R0CJNEA,40H,L1SJMPAGAINL1:JNCL2SJMPAGAINL2:MOV40H,AAGAIN:INCR0DJNZR1,LOOPSJMP$15、略16、在以2000H为首地址的存储区内,存放20个用ASCII码表示的09之间的数,试编程,将它们转换成BCD码,并以压缩BCD码的形式存在3000H3009H单元中。答:MOVR2,#10MOVR3,#20HMOVR4,#00HMOVR5,#30HMOVR6,#00HLP:MOVDPH,R3MOVDPL,R4MOV

12、XA,DPTRANLA,#0FHSWAPAXCHA,BINCDPTRMOVXA,DPTRANLA,#0FHORLA,BINCDPTRMOVR3,DPHMOVR4,DPLMOVDPH,R5MOVDPL,R6MOVXDPTR,AINCDPTRMOVR5,DPHMOVR6,DPLDJNZR2,LPSJMP$17、试编程实现下列逻辑表达式功能。设P1.7P1.0为8个变量的输入端,而其中P1.7又作为变量的输出端。;输入端定义X0EQUP1.0X1EQUP1.1X2EQUP1.2X3EQUP1.3X4EQUP1.4X5EQUP1.5X6EQUP1.6X7EQUP1.7(1)MOVC,X0ANLC,X1

13、ANLC,/X2ORLC,X3MOV00H,CMOVC,X4ANLC,X5ANLC,X6ORLC,/X7ORLC,00HMOVP1.7,C(2)MOVC,X0ANLC,X1CPLCMOV00H,CMOVC,X2ANLC,X3ANLC,X4CPLCMOV01H,CMOVC,X5ANLC,X6ANLC,X7CPLCORLC,O1HCPLCORLC,00HMOVP1.7,C18、略 19、略20、试编写延时1s、1min、1h子程序。;单片机时钟fosc=12MHz,计算为近似值;1s延时子程序DLY_1S:MOVR0,#10L3:MOVR1,#200L2:MOVR2,#250L1:DJNZR2,L

14、1DJNZR1,L2DJNZR0,L3RET;延时1minDLY_1M:MOVR3,#60L4:LCALLDLY_1SDJNZR3,L4RET;延时1hDLY_1H:MOVR4,#60L5:LCALLDLY_1MDJNZR4,L5RET21、用程序实现c=a2+b2。设a、b均小于10,a存在31H单元中,b存在32H单元中,c存33H单元。答:ORG1000HSR:MOVA,31HACALLSQRMOVR1,AMOVA,32HACALLSQRADDA,R1MOV33H,ASJMP$;求平方子程序如下(采用查平方表的方法)SQR:INCAMOVCA, A+PC RETTABLE:DB 0, 1, 4, 9, 16DB 25,36,49,64,81EN

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1