作业答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章作业答案5-1编写程序把外部ROM从1000H开始的20个单元的内容读出,并存放在外部RAM从30H开始的地方。解1:(法1)ORG0000HMOVDPTR,#1000HMOVR0,#20;循环次数MOVR1,#30H;外部RAMLOOP:MOVCA,@A+DPTRMOVX@R1,AINCDPTRINCR1DJNZR0,LOOP;循环控制END5-2如果将习题5-1读出的ROM中的内容存放到外部RAM从2000H开始的地方,又该如何编程?解1:ORG0000HMOVR0,#20;循环次数MOVDPL,#00HLOOP:MOVDPH,#10HMOVCA,@A+DPTR;取数到A中MOVDPH,#20HMOVX@DPTR,A;A中的数放到外部RAMINCDPTRDJNZR0,LOOP;循环控制条件END解2:;分2次送数完成ORG0000HMOVR0,#20MOVR1,#00HMOVR2,#00HMOVDPTR,#1000HLOOP1:MOVA,R1MOVCA,@A+DPTRMOV@R2,AINCR1INCR2DJNZR0,LOOP1MOVDPTR,#2000HMOVR0,#20MOVR2,#00HLOOP2:MOVA,@R2MOVX@DPTR,AINCR2INCDPTRDJNZR0,LOOP2END5-4两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度存放在41H单元,请编程比较两个字符串。若相等,则把数字0送40H单元,否则吧-1送40H单元。解:有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等。(在计算机中,0的补码是00H,-1的补码是FFH)ORG0000HMOVR0,#42HMOVR1,#52HMOVR2,41H;取字符串长度LOOP:MOVA,@R0CLRCSUBBA,@R1JNZLOOP1;相等时,比较下一字节INCR0INCR1DJNZR2,LOOPMOV40H,#0;所有字符均相等,则两字串相等SJMPFINISHLOOP1:MOV40H,#-1;不等,送-1FINISH:END5-5若内部RAM40H存放着数据X,并根据下式给Y赋值,设函数值Y保存于内部RAM50H单元,编程实现此功能。1X0Y=0X=0-1X0解1:ORG0000HMOVA,40HJNZLOOPMOV50H,#0;函数值0送入50H单元SJMPFINISHLOOP:ANLA,#80HJZPOSIMOV50H,#-1SJMPFINISHPOSI:MOV50H,#1FINISH:SJMP$;停机END解2:ORG0000HVAREQU40HFUNCEQU50HSTART:MOVA,VAR;取XJZCOMP;为零转COMPJNBACC.7,POSI;X0,转POSIMOVA,#-1;X0,(A)=-1SJMPCOMPPOSI:MOVA,#01HCOMP:MOVFUNC,A;保存结果END

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功