当前位置:文档之家› 汇编语言基础练习题目

汇编语言基础练习题目

一、填空1.在8086/8088的计算机中,存储单元的20位物理地址由两部分组成,即16位的段地址和16位的偏移地址,物理地址= 段地址×10H+偏移量。

2.段的起始地址必须是某小段的首地址,它能被 10H 整除。

3.已知01020H字单元的内容为6A58H,请分别写出它的两个字节单元的地址和内容:(01020H)=58H,(01021H)=6AH。

4.指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结果的符号是正号,即结果为正数。

5.控制器从存储器取出一条指令后,指令指针寄存器IP的内容是将要执行的下一条指令开始的偏移地址。

6.段地址和偏移地址为1000:127B的存储单元的物理地址是 1127BH。

解:由物理地址= 段地址×10H+偏移量的公式可得物理地址=1000H×10H+127BH=10000H+127BH=1127BH。

二、选择1.与CS寄存器组合才能形成代码段的物理地址的寄存器是( C )。

A.SP寄存器B.BP寄存器C.IP寄存器D.BX寄存器2.如果存储器分段时,一个段最多允许16K个字单元,那么表示该段内偏移地址的二进制数至少是( A )。

A.15位B.16位C.17位D.18位解:16K个字单元,即为32K个字节单元。

由于2的15次方为32K,因此至少需要15位二进制数才能表示16K个字单元。

3.已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是( B )。

A.01010HB.0100AHC.01012HD.01006H解:由于一个字单元占用两个字节,第一个字单元的偏移地址为0000H,因此第一个字单元的物理地址为01000H。

以后每一个字单元的地址在前一个的基础上加2,所以这个段的第6个字单元的物理地址是0100AH。

注意:第6个字单元的偏移地址是在第一个的基础上加10,即0AH,物理地址应该是0100AH,而不是01010H。

三、计算1.已知十进制数X的8位补码为E3H,求X和它的16位补码。

解:将十六进制数E3H转化为二进制数为:11100011(负数)。

因为对负数的补码进行求补运算后得正数的补码,所以对11100011求补后得00011101,即1DH,对应的十进制数为29。

要求它的16位补码,只需将它的8位补码扩充到16位即可,其中高8位用低8位的符号位填充。

因为E3H的符号位为1,所以它的16位补码为1111111111100011,即十六进制数FFE3H。

注意:求补运算就是将二进制位按位求反,然后末位再加1。

2.设数据段的大小为160个字节,请指出它的最末一个字单元的偏移地址。

解:160个字节,即为A0H个字节。

因为任何一个段的偏移地址都是从0000H 开始的,因此该数据段的最末一个字单元的偏移地址为:A0H-02H=9EH。

3.在存储器中依次划分数据段和代码段,已知数据段的大小为251个字节,设操作系统分配给数据段的起始地址为1A580H,请计算出代码段的起始地址。

解:251个字节,即FBH个字节。

因为段的起始偏移地址为0000H,所以代码段的起始物理地址为:1A580H+FBH-01H=1A67AH。

4.存储器中存放的数据如下图所示,请写出05421H和05422H字单元的内容。

解:在本题中,需要知道数据在存储器中存放的原则是:低位字节存入低地址单元,高位字节存入高地址单元;以及字单元的地址是用低位字节单元的地址表示的;一个字单元占用连续的两个字节单元的地址。

了解这些知识后,解此题就相当简单了。

(05421H)=6C88H,(05422H)=D86CH。

四、简答1.在数据段中有如下定义的数据:BVAL DB 0C8H,58H设BVAL=257AH,BX=178AH,SI=0DF0H,DI=0DE0H,BP=257AH;偏移量:DSP=10H,DIP=0DF0H。

请用存储器操作数的5种寻址方式将两字节数据传送到AX寄存器中。

解:①直接寻址方式:MOV AL,[BVAL]MOV AH,[BVAL+1]或 MOV AX,WORD PTR [BVAL]②寄存器间接寻址方式:MOV AX,DS:[BP]③寄存器相对寻址方式:MOV AX,[BX+DIP] 或 MOV AX,DIP[BX]④基址变址寻址方式: MOV AX,[BX+SI] 或 MOV AX,[BX][SI]⑤相对基址变址寻址方式:MOV AX,DSP[BX+SI] 或 MOV AX,DSP[BX][SI] 或 MOV AX,[DSP+BX+SI]2. 在数据段中有如下定义的数据:WVAL DW 340,256,178H,116H,280H,5FF0H请用存储器操作数的5种寻址方式写出将字数据5FF0H传送到AX寄存器的指令序列。

解:①直接寻址方式:MOV AX,[WVAL+0AH]②寄存器间接寻址方式:MOV BX,OFFSET WVALADD BX,0AHMOV AX,[BX]③寄存器相对寻址方式:MOV BX,OAHMOV AX,WVAL[BX] 或 MOV AX,[BX+WVAL]④基址变址寻址方式:MOV BX,OFFSET WVALMOV SI,0AHMOV AX,[BX+SI] 或 MOV AX,[BX][SI]⑤相对基址变址寻址方式:MOV BX,08HMOV SI,02HMOV AX,WVAL[BX+SI] 或 MOV AX,WVAL[BX][SI] 或 MOV AX,[WVAL+BX+SI]汇编语言练习题:第二章寻址方式和指令系统文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:4051.MOV AX,ES:[1000H] 源操作数的寻址方式是:A. 立即寻址B. 直接寻址C. 变址寻址D. 基址寻址2.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是:A. 基址寻址B. 立即寻址C. 变址寻址D. 基址变址寻址3.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是:A. 变址寻址B. 基址寻址C. 直接寻址D. 基址变址寻址4.若AX=1020H,BX=1200H,CF=1,则SBB AX,BX的执行结果为:A. 0EF1FHB. 0FEFFHC. 0FE1FHD. 0FE21H5.若AX=2000H,CL=90H,则DIV CL执行后,AX=A. 8038HB. 8039HC. 9138HD. 8138H6.若BL=83H,CF=1,则ADC BL,90H执行后,BL=A. 15HB. 16HC. 17HD. 14H7.若DX=1010H,则AND DX,DX的执行结果为A. 0000HB. 1111HC. 1010HD. FFFFH8.指令MOV BX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为:A. 17500HB. 16500HC. 14500HD. 13500H9.指令MOV AX,COUNT[BX],若COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址为:A. 17400HB. 17000HC. 15400HD. 14500H10.指令MOV DX,DELTA[BX][SI],若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址为:A. 6F300HB. 77800HC. 59800HD. 78700H参考答案1.B2.C3.D4.C5.A6.D7.C8.B9.C 10.C汇编语言练习题:第三章宏汇编语言文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:451 1.源程序结束语句为:A、ENDPB、ENDSC、END MAIND、END2.SKY: MOV AL,20H中操作数为:A、MOVB、SKYC、AL或20HD、AL和20H3.下列为不合法的标志符的是:A、AXYZB、5SKYC、@ATTD、?ABC4.下列地址表达式正确的是:A、[BX-SI]B、[BP-DI]C、[BX+2]D、[BP+BX]5.NEAR标号的类型值为:A、2B、-1C、4D、-26.组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是:A、NONEB、PUBLICC、COMMOND、STACK7.下面哪一个命令是显示内存单元的内容?A、D命令B、E命令C、F命令D、R命令8.能被计算机直接识别和执行的指令是:A、符号指令B、机器指令C、伪指令D、宏指令9.取变量偏移属性的分析运算符是:A、OFFSETB、TYPEC、SIZED、SEG10.分析运算符LENGTH只有用()定义的变量才有意义。

A、表达式B、字符串C、DUPD、疑问号11.在段定义中,()是默认的定位类型。

A、PAGEB、PARAC、WORDD、BYTE12.汇编语言指令中唯一不可缺少的域是:A、标号名字域B、助记符域C、操作数域D、注释域参考答案:1、c2、d3、b4、c5、b6、a7、a8、b9、a 10、c 11、b 12、b汇编语言练习题:第四章程序设计的基本方法文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:365 1.段内直接转移指令采用的寻址方式是:A、直接寻址B、相对寻址C、绝对寻址D、间接寻址2.下列指令中不等价的是:A、JA和JNBEB、JG和JNLEC、JL和JNGD、JBE和JNA3.下列指令中等价的是:A、JC和JOB、JNC和JNOC、JP和JPED、JA和JG4.在MOVB指令中,其目的串的物理地址为:A、DS*2*2*2*2+SIB、DS*2*2*2*2+DIC、ES*2*2*2*2+SID、ES*2*2*2*2+DI5.条件转移指令的转移范围:A、-128 -- +127B、-32768 -- +32767C、0 -- +255D、0 -- +655356.执行段间调用指令CALL时,首先保护断点的:A、段地址和偏移地址B、段地址C、偏移地址判断题1. Yes No 无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。

2. Yes No 间接转移指令都可以通过寄存器来寻址。

3. Yes No 段间间接转移指令中,低地址的字送IP,高地址的字送CS。

4. Yes No 所有串操作指令的源串的段地址均取自于段寄存器DS:5. Yes No 串操作指令一般用CX存放长度:6. Yes No 约定寄存器法适合于参数较多的情况:7. Yes No 用赋值法编写子程序时,子程序内必须修改返回地址:8. Yes No RET N指令中,N可为任意值:选择题答案:1.B2.C3.C4.D5.A6.A判断题答案:1. 2. 3. 4.5. 6. 7. 8.汇编语言练习题:五章输入输出和中断调用文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:410选择题(每题只有一个正确的选项,一题十分,共50分)1.中断服务程序入口地址占用()个字节A. 4B. 6C. 2D. 12.INT 1AH指令执行的结果高位字存在()中A. AXB. BXC. CXD. DX3.DOS系统功能调用的屏幕显示字符是()号调用A. 1B. 4C. 5D. 24.2BH DOS功能调用中,月份送给()寄存器A. DHB. DLC. ALD. AH5.键盘中断调用(16H)的0号功能是将读入字符的ASCII码送入()A.AHB.ALC.BHD.BL答案:1.A 2.C 3.D 4.A 5.B判断题(在正确的题目前打钩,错误的不必打钩,一题十分,共30分)1. Yes No IN AL,DX是将一个字节由输入端口传送至AL2. Yes No 所有中断过程均可用IRET指令退出3. Yes No 8号类型的中断向量在中断向量表中的地址是2*8 1. 2. 3.汇编语言练习题:第六章常用程序设计文章来源:互联网编辑:luxin 加入日期:2008-11-22 点击:309选择题1.十进制数运算调整指令AAS可以紧跟在()之后:A、SBBB、DECC、CMPD、NEG2.除法调整指令AAD是对()调整:A、AX中组合的十进制被除数B、AL中组合的十进制的商数C、AX中未组合的十进制被除数D、AL中未组合的十进制的商数3.()查表发的特点是速度快、效率高,但计算复杂:A、计算B、顺序C、对分D、用XLATA4.在多字节加减运算时,特别要注意标志()对运算的影响:A、AFB、CFC、SFD、OF5.在一张降序表中要插入一个关键字为KEY的项,则首先必须找到第一个()的项:A、KEYi = KEYB、KEYi > KEYC、KEYi < KEY判断题1. Yes No 指令AAA必须紧跟在加法指令之后使用。

相关主题