微机题库之编程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1、在DS段中有一个从TABLE开始的由160个字符组成的链表,设计一个程序,实现对此表进行搜索,找到第一个非0元素后,将此单元和下一单元清0。

?解:??????MOV??CX,SEGTABLE

?????????MOV??DS,CX??????????;将段地址送DS

?????????MOV??SI,OFFSETTABLE;表偏移量送SI

?????????MOV??CX,160?????????;字节数

?????????XOR??AL

??NEXT:?CMP??AL,[SI]

?????????JNE??EXIT1

?????????INC??SI

?????????LOOP?NEXT

??EXIT1:MOV??[SI],AL

?????????INC??SI

?????????MOV??[SI],AL

2、试编写一个程序段,实现将BX中的数除以10,结果仍放在BX中。?

?解:??????????????MOVCL,0AH

????????????????MOVAX,BX

????????????????IDIV?CL

????????????????MOVBX,AX

3、用串操作指令设计实现以下功能的程序段:首先将100H个数从2170H处搬到1000H处,然后,从中检索相等于AL中字符的单元,并将此单元值换成空格符。

?解:??????????BUFF1EQU???1000H

???????BUFF2EQU???2170H

START:MOVSI,OFFSETBUFF2

???????LEADI,BUFF1

???????MOVCX,100H

CYCLE:MOVAL,[SI]

???????MOV[DI],AL

???????INCSI

???????INCDI

???????LOOPCYCLE

ANOTHER:MOVDI,OFFSETBUFF1

???????MOVCX,100

???????CLD

AGE:??SCASB

???????DECCX

???????JZ?FIN

???????JNZAGE

???????JMPOVER

FIN:??MOV[DI],20H

???????CMPCX,0

???????JNZAGE

OVER:?RET

4、用循环控制指令设计程序段,从60H个元素中寻找一个最大值,结果放在AL中。

?解:?????????MOV?SI,OFFSETDATA1;将数据起始地址送SI

????????MOV?CX,5FH?????????;有60H-1次循环

????????MOV?AL,[SI]????????;将第一个元素放AL中

COMPARE:INC?SI

????????CMP?AL,[SI]

????????JL??XCHMAX

????????JMP?NEXT?

XCHMAX:?MOV?AL,[SI]

NEXT:???LOOPCOMPARE

5、编程序将一个存储块的内容复制到另一个存储块,进入存储段时,SI中为源区起始地址的偏移量,DI中为目的区起始地址的偏移量,CX中为复制的字节数。

?解:?????????CMP????DI,SI????;看源区和目的区的地址哪个高

???????JBE????LOWER?????;如目的区地址底,则转移

???????STD???????????????????如目的区地址高,则设方向标志为1

???????ADD????SI,CX????;从最后一个字节开始复制

???????DEC????SI????????;调整源区地址

???????ADD????DI,CX

???????DEC????DI????????;调整目的区地址

???????JMP????MOVEM

LOWER:?CLD???????????????;从第一个字节开始复制

MOVEM:?REP????MOVSB?

6、编写程序实现对两个存储区中的字进行比较。如找到一对不同的字,则退出,此时,ZF为0,DI指向此字;如两个存储区中所有的字都相同,则退出程序时,CX中值为0,ZF为1。

?解:??MATT:??MOV????SI,OFFSETSOURCE????;源区首址

???????MOV????DI,OFFSETTARGET????;目的区首址

???????MOV????CX,NUMBER

???????JCXZ???

文档评论(0)

8d758 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档