ibmpc汇编语言(第二版)第四节课后详细习题答案.docx

ibmpc汇编语言(第二版)第四节课后详细习题答案.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指出下列指令的错误:(1) MOV AH, BX;寄存器类型不匹配(2) MOV [BX], [SI];不能都是存储器操作数(3) MOV AX, [SI][DI];[SI]和[DI]不能一起使用(4) MOV MYDAT [BX][SI], ES:AX;AX寄存器不能使用段超越(5) MOV BYTE PTR [BX], 1000;1000超过了一个字节的范围(6) MOV BX, OFFSET MYDAT [SI];MYDAT [SI]已经是偏移地址,不能再使用OFFSET(7) MOV CS, AX;CS不能用作目的寄存器(8) MOV ECX, AX;两个操作数的数据类型不同答:见注释。下面哪些指令是非法的?(假设OP1,OP2是已经用DB定义的变量)(1) CMP 15, BX;错,立即数不能作为目的操作数(2) CMP OP1, 25(3) CMP OP1, OP2;错,不能都是存储器操作数(4) CMP AX, OP1;错,类型不匹配,应为CMP ax, word ptr op1答:见注释。假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?(1) MOV BP, AL;错,寄存器类型不匹配(2) MOV WORD_OP [BX+4*3][DI], SP(3) MOV WORD_OP1, WORD_OP2;错,不能都是存储器操作数(4) MOV AX, WORD_OP1[DX] ;错,DX不能用于存储器寻址(5) MOV SAVE_WORD, DS(6) MOV SP, SS:DATA_WORD [BX][SI](7) MOV [BX][SI], 2;错,[BX][SI]未指出数据类型(8) MOV AX, WORD_OP1+WORD_OP2(9) MOV AX, WORD_OP1-WORD_OP2+100(10)MOV WORD_OP1, WORD_OP1-WORD_OP2答:见注释。假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:(1) ADDVAR1, VAR2;不能都是存储器操作数(2) SUBAL, VAR1;数据类型不匹配(3) JMPLAB [SI];LAB是标号而不是变量名,后面不能加[SI](4) JNZVAR1;VAR1是变量而不是标号(5) JMPNEAR LAB;应使用NEAR PTR答:见注释。画图说明下列语句所分配的存储空间及初始化的数据值。(1) BYTE_VARDB ‘BYTE’,12,-12H,3 DUP(0,?,2 DUP(1,2),?)(2) WORD_VARDW 5 DUP(0,1,2),?,-5,‘BY’,‘TE’,256H答:答案如下图所示。试列出各种方法,使汇编程序把5150H存入一个存储器字中(如:DW 5150H)。答:DW 5150HDB 50H, 51HDB ‘PQ’DW ‘QP’ORG 5150HDW $请设置一个数据段DATASG,其中定义以下字符变量或数据变量。(1) FLD1B为字符串变量:‘personal computer’;(2) FLD2B为十进制数字节变量:32;(3) FLD3B为十六进制数字节变量:20;(4) FLD4B为二进制数字节变量(5) FLD5B为数字的ASCII字符字节变量:32654;(6) FLD6B为10个零的字节变量;(7) FLD7B为零件名(ASCII码)及其数量(十进制数)的表格:PART1 20PART2 50PART3 14(8) FLD1W为十六进制数字变量:FFF0;(9) FLD2W为二进制数的字变量(10) FLD3W为(7)零件表的地址变量;(11) FLD4W为包括5个十进制数的字变量:5,6,7,8,9;(12) FLD5W为5个零的字变量;(13) FLD6W为本段中字数据变量和字节数据变量之间的地址差。答:DATASG SEGMENTFLD1BDB ‘personal computer’FLD2BDB 32FLD3BDB 20HFLD4BDB FLD5BDB ‘32654’FLD6BDB 10 DUP (0)FLD7BDB ‘PART1’, 20DB ‘PART2’, 50DB ‘PART3’, 14FLD1WDW 0FFF0HFLD2WDW FLD3WDW FLD7BFLD4WDW 5, 6, 7, 8, 9FLD5WDW 5 DUP (0)FLD6WDW FLD1W-FLD1BDATASG END

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档