资源描述:
《微机原理与接口技术期末综合复习题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、微计算机原理与接口技术复习题(4)8086指令系统及寻址方式1.根据下列要求编写一个汇编语言程序::(1)代码段的段名为COD_SG(2)数据段的段名为DAT_SG(3)堆栈段的段名为STK_SG(4)变量HIGH_DAT所包含的数据为95(5)将变量HIGH_DAT装入寄存器AH,BH和DL(6)程序运行的入口地址为START答案:DAT_SGSEGEMNTHIGH_DATDB95DAT_SGENDS;STK_SGSEGMENTDW64DUP(?)STK_SGENDS;COD_SGSEGMENTMAINPROC
2、FARASSUMECS:COD_SG,DS:DAT_SG,SS:STK_SGSTART:MOVAX,DAT-SGMOVDS,AXMOVAH,HIGH_DATMOVBH,AHMOVDL,AHMOVAH,4CHINT21HMAINENDPCOD_SGENDSENDSTART2.指出下列程序中的错误:STAKSGSEGMENTDB100DUP(?)STA_SGENDSDTSEGSEGMENTDATA1DB?DTSEGENDCDSEGSEGMENTMAINPROCFARSTART:MOVDS,DATSEGMOVAL,34
3、HADDAL,4FHMOVDATA,ALSTARTENDPCDSEGENDSEND答案:改正后:STAKSGSEGMENTDB100DUP(?)STAKSGENDSDTSEGSEGMENTDATA1DB?DTSEGENDSCDSEGSEGMENTMAINPROCFARASSUMECS:CDSEG,DS:DTSEG,SS:STAKSGSTART:MOVAX,DTSEGMOVDS,AXMOVAL,34HADDAL,4FHMOVDATA1,ALMOVAH,4CHINT21HMAINENDPCDSEGENDSENDS3.
4、将下列文件类型填入空格:(1).obj(2).exe(3).crf(4).asm(5).lst(6).map编辑程序输出的文件有_________;汇编程序输出的文件有________;连接程序输出的文件有__________。答案:编辑程序输出文件:(4)汇编程序输出文件:(1),(3),(5)连接程序输出文件:(2),(6)4.下列标号为什么是非法的?(1)GET.DATA(2)1_NUM(3)TEST-DATA(4)RET(5)NEWITEM答案:非法标号:(1)因为‘.’只允许是标号的第一个字符(2)第一
5、个字符不能为数字(3)不允许出现‘-’(4)不能是保留字,如助记符(5)不能有空格5.下面的数据项定义了多少个字节?DATA_1DB6DUP(4DUP(0FFH))答案:24字节6.对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?DTSEGSEGMENT
6、DTSEGSEGMENTORG10H
7、ORG10HDATA1DB72H
8、DATA1DW7204HDB04H
9、DTSEGENDSDTSEGENDS
10、答案:不一样.分别是72H,04H和04H,72H.存储字时低8位存在低字节,高8
11、位存在高字节.7.下面的数据项设置了多少个字节?(1)ASC_DATADB‘1234’(2)HEX_DATADB1234H答案:(1)设置了4个字节(2)设置了2个字节8.执行下列指令后,AX寄存器中的内容是什么?TABLEDW10,20,30,40,50ENTRYDW3...MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,[BX]答案:(AX)=409.指出下列指令的错误:(1)MOVAH,BX(2)MOV[SI],[BX](3)MOVAX,[SI][DI](4)MOVAX,[BX][BP]
12、(5)MOV[BX],ES:AX(6)MOVBYTEPTR[BX],1000(7)MOVAX,OFFSET[SI](8)MOVCS,AX(9)MOVDS,BP答案:(1)源、目的字长不一致(2)源、目的不能同时为存贮器寻址方式(3)基址变址方式不能有SI和DI的组合(4)基址变址方式不能有BX和BP的组合(5)在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式(6)1000超出一个字节的表数范围(7)OFFSET只用于简单变量,应去掉(8)CS不能作为目的寄存器(9)段地址不能
13、直接送入数据段寄存器10.DATASEGMENTTABLE_ADDRDW1234HDATAENDS...MOVBX,TABLE_ADDRLEABX,TABLE_ADDR请写出上述两条指令执行后,BX寄存器中的内容。答案:MOVBX,TABLE_ADDR;执行后(BX)=1234HLEABX,TABLE_ADDR;执行后(BX)=OFFSETTABLE_ADDR11.设(D