ibmpc汇编语言(第二版)第四章课后详细习题答案.docx
《ibmpc汇编语言(第二版)第四章课后详细习题答案.docx》由会员分享,可在线阅读,更多相关《ibmpc汇编语言(第二版)第四章课后详细习题答案.docx(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、4.1 指出下列指令的错误:(1) MOV AH, BX;寄存器类型不匹配(2) MOV BX, SI;不能都是存储器操作数(3) MOV AX, SIDI;SI和DI不能一起使用(4) MOV MYDAT BXSI, 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;两个操作数的数据类型不同答:见注释。4.2 下面哪些指令是非法的?(假
2、设OP1,OP2是已经用DB定义的变量)(1) CMP 15, BX;错,立即数不能作为目的操作数(2) CMP OP1, 25(3) CMP OP1, OP2;错,不能都是存储器操作数(4) CMP AX, OP1;错,类型不匹配,应为CMP ax, word ptr op1答:见注释。4.3 假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?(1) MOV BP, AL;错,寄存器类型不匹配(2) MOV WORD_OP BX+4*3DI, SP(3) MOV WORD_OP1, WORD_OP2;错,不能都是存储器操作数(4) MOV AX,
3、 WORD_OP1DX ;错,DX不能用于存储器寻址(5) MOV SAVE_WORD, DS(6) MOV SP, SS:DATA_WORD BXSI(7) MOV BXSI, 2;错,BXSI未指出数据类型(8) MOV AX, WORD_OP1+WORD_OP2(9) MOV AX, WORD_OP1-WORD_OP2+100(10) MOV WORD_OP1, WORD_OP1-WORD_OP2答:见注释。4.4 假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:(1) ADDVAR1, VAR2;不能都是存储器操作数(2) SUBAL, VAR1;数据类型不匹配
4、(3) JMPLAB SI;LAB是标号而不是变量名,后面不能加SI(4) JNZVAR1;VAR1是变量而不是标号(5) JMPNEAR LAB;应使用NEAR PTR答:见注释。4.5 画图说明下列语句所分配的存储空间及初始化的数据值。(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答:答案如下图所示。4.6 试列出各种方法,使汇编程序把5150H存入一个存储器字中(如:DW 5150H)。4.5题答案42H59H54H45H0DHEEH00H-01H
5、02H01H02H-00H-01H02H01H02H-BYTE_VAR00H00H01H00H02H00H-FBHFFH00H59H42H45H54H56H02HWORD_VAR将上面内容再重复4次答:DW 5150HDB 50H, 51HDB PQDW QPORG 5150HDW $4.7 请设置一个数据段DATASG,其中定义以下字符变量或数据变量。(1) FLD1B为字符串变量:personal computer;(2) FLD2B为十进制数字节变量:32;(3) FLD3B为十六进制数字节变量:20;(4) FLD4B为二进制数字节变量:;(5) FLD5B为数字的ASCII字符字节变
6、量: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 computerFLD2BDB 32FLD3BDB 2
7、0HFLD4BDB BFLD5BDB 32654FLD6BDB 10 DUP (0)FLD7BDB PART1, 20DB PART2, 50DB PART3, 14FLD1WDW 0FFF0HFLD2WDW BFLD3WDW FLD7BFLD4WDW 5, 6, 7, 8, 9FLD5WDW 5 DUP (0)FLD6WDW FLD1W-FLD1BDATASG ENDS4.8 假设程序中的数据定义如下:PARTNODW?PNAMEDB16 DUP (?)COUNTDD?PLENTHEQU$-PARTNO问PLENTH的值为多少?它表示什么意义?答:PLENTH=22=16H,它表示变量PAR
8、TNO、PNAME、COUNT总共占用的存储单元数(字节数)。4.9 有符号定义语句如下:BUFFDB 1, 2, 3, 123EBUFFDB 0LEQU EBUFF - BUFF问L的值是多少?答:L6。4.10 假设程序中的数据定义如下:LNAMEDB 30 DUP (?)ADDRESSDB 30 DUP (?)CITYDB 15 DUP (?)CODE_LISTDB 1, 7, 8, 3, 2(1) 用一条MOV指令将LNAME的偏移地址放入AX。(2) 用一条指令将CODE_LIST的头两个字节的内容放入SI。(3) 用一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实
9、际长度。答:(1) MOV AX, OFFSET LNAME(2) MOV SI, WORD PTR CODE_LIST(3) CODE_LENGTH EQU $ - CODE_LIST ;此语句必须放在CODE_LIST语句之后4.11 试写出一个完整的数据段DATA_SEG,它把整数5赋予一个字节,并把整数-1,0,2,5和4放在10字数组DATA_LIST的头5个单元中。然后,写出完整的代码段,其功能为:把DATA_LIST中头5个数中的最大值和最小值分别存入MAX和MIN单元中。答:DATA_SEGSEGMENTNUMDB 5DATA_LISTDW -1, 0, 2, 5, 4, 5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ibmpc 汇编语言 第二 第四 课后 详细 习题 答案
限制150内