微机原程序习题.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文档。上传文档
查看更多
微机原程序习题

4.1 请分别用DB、DW、DD伪指令写出在DATA开始的连续8个单元中依次存放数据11H、22H、33H、44H、55H、66H、77H、88H的数据定义语句。11HDATA11HDATA22H22H33H33H44H44H55H55H66H66H77H77H88H88H解:DB、DW、DD伪指令分别表示定义的数据为字节型、字类型及双字类型。其定义形式为:DATA DB 11H, 22H, 33H, 44H, 55H, 66H, 77H, 88HDATA DW 2211H, 4433H, 6655H, 8877HDATA DD ,4.2 若程序的数据段定义如下,写出各指令语句独立执行后的结果。DSEG SEGMENTDATA1 DB 10H, 20H, 30HDATA2 DW 10 DUP (?)String DB ‘123’DSEG ENDSMOV AL, DATA1MOV BX, offset DATA2LEA SI, StringADD DI,SI解:先取变量String的偏移地址送寄存器SI, 之后将SI的内容与DI的内容相加并将结果送DI。指令执行后,SI=0017H, DI=DI+0017H4.3 试编写求两个无符号数双字长数之和的程序。两数分别在MEM1和MEM2单元中,其和放在SUM单元。DSEG SEGMENT MEM1 DW 1122H, 3344HMEM1 DW 5566H, 7788HSUM DW 2 DUP(?)DSEG ENDSCSEG SEGMENT ASSUME CS:CSEG, DS:DSEGSTART: MOV AX, DSEGMOV DS,AXLEA BX, MEM1LEA SI, MEM2LEA DI, SUMMOV CL,2CLCAGAIN: MOV AX,[BX] ADC AX, [SI] MOV [DI], AXADD BX, 2ADD SI, 2ADD DI, 2LOOP AGAINMOV AX, 4C00hINT 21hCSEG ENDS END START4.4 试编写程序,测试AL寄存器的第4位(B4)是否为零?如:TEST AL, 10HJZ NEXT….NEXT:…..或者:MOV CL,4SHL AL, CLJNC NEXT……NEXT:…..4.5 试编写程序,将BUFFER中的一个8位二进制数转化为ASCII码,并按位数高低顺序存放ANSWER开始的内存单元中。解:DSEG SEGMENTBUFFER DB ?ANSWER DB 3 DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG, DS:DSEGSTART: MOV AX, DSEG MOV DS, AX MOV CX, 3 LEA DL, ANSWER XOR AX,AXMOV AL, BUFFERMOV BL,0AHAGAIN: DIV BL ADD AH,30H MOV [DI],AH INC DI AND AL, JZ STO MOV AH, 0 LOOP AGAINSTO: MOV AX, 4C00H INT 21HCSEG ENDS END START4.6 假设数据项定义如下:DATA1 DB ‘HELLO!GOOD MORNING’DATA2 DB 20 DUP(?)用串操作指令编写程序段,使其分别完成一下功能。从左到右将DATA1中的字符串传送到DATA2中;传送完后,比较DATA1和DATA2中的内容是否相同;把DATA1中的第3个字节和第四个字节装入AX;将AX的内容存入DATA2+5开始的字节单元中;解:(1)MOV AX, SEG DATA1MOV DS, AXMOV AX, SEG DATA2MOV ES, AXLEA SI, DATA1LEA DI, DATA2MOV CX,20CLDREP MOVSB(2) EA SI, DATA1LEA DI, DATA2MOV CX,20CLD REPE CMPSB(3)LEA SI, DATA1ADD SI,2LODSW(4) LEA DI, DATA2TABLE0AHADD DI, 5TABLE0AH00HMOV CX, 700H14HCLD14H00HREP STOSW00H1EH4.7 执行下列指令后,AX寄存器中的内容是多少?1EH00HTABLE DW 10,20,30,40,5000H32HENTRY DW 332H00H……00HENTRY03HMOV

文档评论(0)

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

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

1亿VIP精品文档

相关文档