汇编语言程序设计习题解答.docx
《汇编语言程序设计习题解答.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计习题解答.docx(18页珍藏版)》请在优知文库上搜索。
1、汇编语言程序设计习题解答1.指出以下指令的错误:(I)MOVAH,BX(2)MOVBX,SI(3)MOVAX,SIDI(4)MOVMYDATBXSI,ES:AX(5)MOVBYTEPTRBX,1000(6)MOVBX,OFFSETMYDATSI(7)MOVCS,AX答:MOVAH,BXAH为八位,BX为16位(2) MOVBX,SI两个操作数不能都是存储单元(3) MOVAX,SIDI一个操作数中不能用两个变址存放器(4) MOVMYDATBXSI,E8:AXESES后应为一个变址存放器,表示偏移量(5) MOVBYTEPTRBX,1000BYTE说明时BX进行字节操作。而1000为字(6)
2、MOVBX,OFFSETMYDATSIOFFSET为取某个地址的偏移量,故后面不应用SI,而应是一个符号地址。(7) fOV是数据寻址,不应用程序段存放器CS.2.下面哪些指令是非法的?(假设0P1,0P2是已经用DB定义的变量)(I)CMP15,BX(2)CMP0Pl,25(3)CMPOPb0P2(4)CMPAX,OPl答:(1)CMP15,BX非法,两个操作数不能一个为字,一个为字节(2) CMPOPb25正确(3) CMPOPb0P2正确(4) CMPAX,OPl非法,两操作数不能一个为字,一个为字节3.假设以下指令中的所有标识符均为类型属性为字的变量,请指出以下指令中哪些是非法的?它们
3、的错误是什么?(I)MOVBP,AL(2)MOVW0RD_0PBX+4*3DI,SP(3)MOVWORD_OP1,WORDj)P2(4)MOVAX,WORD_OP1DX(5)MOVSAVE_WORD,DS(6)MOVSP,SS:DATA_WORDBXSI(7)MOVBXSI,2(8)MOVAX,WORD_OP1+WORD_OP2(9)MOVAX,WORD_OPl-WORDJ)P2+100(IO)MOVWORD_0Pl,WORD_OP1-WORD_OP2答:(1)MOVBP,AL非法,BP为16位AL为八位(2) MOVW0RD_0PBX+4*3DI,SP正确(3) MOVM)RDj)Pl,WO
4、RD_OP2非法,两个操作数不能都是变量(4) MOVAX,WORD_OP1DX非法,DX应改为BX,BP,SI或D或那么为存放器相对寻址。(5) MOVSAVEJtORD,DS非法,未指明数据段地址DS的偏移量(6) MOVSP,SS:DATA_WORDBXSI非法,SS与BX,SI不匹配,SS的偏移量用SP(7) MOVBXSI,2正确(8) MOVAX,WORD_OP1+WORD_OP2正确(9) MOVAX,WORD_OP1W0RD_0P2+100正确(10) MOVWORDj)P1,WORD_OP1W0RD_0P2非法4.假设VARl和VAR2为字变量,LAB为标号,试指出以下指令的
5、错误之处:(I)ADDVARI,VAR2(2)SUBAL,VARl(3)JMPLABSI(4)JNZVARl(5)JMPNEARLAB答:(1)ADDVARI,VAR2ADD指令中,目的操作数必须是存放器或存储单元。(2) SUBAL,VARlAL为8位的,而VAR为字变量16位(3) JMPLABSI格式不对,LAB处应为一偏移量,而不是标号。(4) JNZVARlJNZ为非零转移,应转移到某个程序段,故后面应为一个标号。(5) JMPNEARLAB段内直接转移,格式应为JMPNEARPTRLAB5.画图说明以下语句所分配的存储空间及初始化的数据值。BYTE-VARDBBYTE,12,-12
6、H,3DUP(0,?,2DUP(1,2),?)WORD-VARDW5DUP(0,1,2),?,-5,BY,TE,256H解答:(1)BYTE-VAR(2)WORD-VAR42BYTE12-12H6 .试列出各种方法,使汇编程序把5150H存入一人存储器字中。解答:(1)DW5150H;(2)DB50H,51H;(3)DBPQ7 .请设置一个数据段DATASG,其中定义以下字符变量或数据变量。FLDIB为字符串变量:ipersonalcomputer,;FLD2B为十进制数字节变量:32;FLD3B为十六进制数字节变量:20;FLD4B为二进制数字节变量:OlOIIO01;FLD5B为数字的AS
7、CII字符字节变量:32654;FLD6B为10个零的字节变量;FLD7B为零件名(ASeIl码)及其数量(十进制数)的表格:PART1 20PART2 50PART3 14FLDIw为十六进制数字变量:FFF0;FLD2W为二进制数字变量:OloIlO01;FLD3W为(7)中零件表的地址变量;FLD4W为包括5个十进制数的字变量:5,6,7,8,9;FLD5W为5个零的字变量;FLD6W为本段中字数据变量和字节数据变量之间的地址差。解答:DATASGSEGMENTFLDlBDBipersonalcomputer,FLD2BDB32D00590054014500OC02F4II000I:10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 习题 解答
