第4章汇编语言程设计 - 山东工商学院.docVIP

第4章汇编语言程设计 - 山东工商学院.doc

  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.?????? 写出完成下列要求的变量定义语句: (1)在变量var1中保存6个字变量:4512H,4512,-1,100/3,10H,65530; (2)在变量var2中保存字符串:’BYTE’, ’word’, ’WORD’; (3)在缓冲区buf1中留出100个字节的存储空间; ? (4)在缓冲区buf2中,保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次; (5)在变量var3中保存缓冲区buf1的长度; (6)在变量pointer中保存变量var1和缓冲区buf1的偏移地址。 2.??????? 执行下列指令后,DX寄存器中的内容是多少? TABLE??? DW? 25,36,-1,-16,10000,13 PYL????? DW? 7 …… MOV? BX,OFFSET TABLE ADD? BX,PYL MOV? DX,[BX] 3.?????????? 设已用伪指令EQU定义了4个标识符: N1? EQU? 2100 N2? EQU? 10 N3? EQU? 20000 N4? EQU? 25000 下列指令是否正确?并说明原因。 ?? (1)ADD AL,N1-N2;?????? (2)MOV AX,N3+N4; ?? (3)SUB BX,N4-N3;?????? (4)SUB AH,N4-N3-N1; ?? (5)ADD AL,N2;?????????? (6)MOV AH,N2*N2 4.??? 已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。 5.??? 在缓冲区VAR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果VAR中保存的为有符号数,则再编写程序实现将其按递减关系排列。 6.??? 编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL),(BL),则得到的(DX)10011001B。 7.??? 已知在字变量VAR1、VAR2和VAR3中保存有3个相同的代码,但有一个错码,编写程序段找出这个错码,并将它送AX,其地址送SI;如果3个代码都相同,则在AX中置-1标志。 8. 下列变量各占多少字节? A1 DW 23H, 5876H A2 DB 3 DUP(?), 0AH, 0DH, ‘$’ A3 DD 5 DUP(1234H, 567890H) A4 DB 4 DUP(3 DUP(1, 2, ‘ABC’)) 9. 在附加段中有一个数组,首地址在BUFF,数组中第一个字节存放了数组的长度。编一个程序在数组中查找0,找到后把它从数组中删去,后续项向前压缩,其余部分补0。 参考答案: 1.? 解: (1)var1? DW? 4512H,4512,-1,100/3,10H,65530 (2)var2? DB? ’BYTE’, ’word’, ’WORD’ (3)buf1? DB? 100 DUP(?) (4)buf2? DB? 7 DUP(5 DUP(55H), 10 DUP(240)) (5)var3? DB? LENGTH? buf1 (6)pointer? DW? var1, var2 2. 答:DX寄存器中的内容为10FFH 3. 答:(1)ADD AL,N1-N2 ;指令错误,因为N1-N2超出一个字节的范围 ??? (2)MOV AX,N3+N4 ;指令正确 ??? (3)SUB BX,N4-N3 ;指令正确 ??? (4)SUB AH,N4-N3-N1 ;指令错误,因为N4-N3-N1超出一个字节的范围 ??? (5)ADD AL,N2 ; 指令正确??? ??? (6)MOV AH,N2*N2?? ;指令正确 4.??? 解:??? 设要传送的字符串有30个。 N=30 STACK?? SEGMENT STACK STACK ??????? DW 100H DUP(?) TOP???? LABEL WORD STACK? ?ENDS DATA??? SEGMENT ASC1??? DB? abcdefghijklmnopqrstuvwxyz1234 ASC2??? DB? 30 DUP(?) DATA??? ENDS CODE??? SEGMENT ??????? ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: ??????? MOV AX, DATA ??????? MOV DS, AX ??????? MOV ES, AX ??????? M

文档评论(0)

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

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

1亿VIP精品文档

相关文档