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

汇编语言基础练习题目

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

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

3. 已知01020H 字单元的内容为6A58H 请分别写出它的两个字节单元的地址和 内容:(01020H =58H, ( 01021H =6AH4. 指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结 果的符号是正号,即结果为正数。

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

6. 段地址和偏移地址为1000: 127B 的存储单元的物理地址是1127BH解:由物理地址=段地址X 10H+偏移量的公式可得物理地址=1000HX 10H+127BH=10000H+127BH=1127BH、选择1.与CS 寄存器组合才能形成代码段的物理地址的寄存器是解:16K 个字单元,即为32K 个字节单元。

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

3.已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是(B ) o解:由于一个字单元占用两个字节,第一个字单元的偏移地址为0000H,因此第一个字单元的物理地址为 01000H 。

以后每一个字单元的地址在前一个的基C )。

A. SP 寄存器B. BP 寄存器C. IP 寄存器D. BX 寄存器2.如果存储器分段时, 的二进制数至少是( 一个段最多允许16K 个字单元,那么表示该段内偏移地址 A )o A.15 位 位B.16 位C.17 位D.18A. 01010HB. 0100AHC.01012HD.01006H础上加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=9EH3. 在存储器中依次划分数据段和代码段,已知数据段的大小为251 个字节,设操作系统分配给数据段的起始地址为1A580H请计算出代码段的起始地址。

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

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

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

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

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

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

四、简答1. 在数据段中有如下定义的数据:BVAL DB 0C8H,58H设BVAL=257A,BX=178AH SI=ODFOH DI=ODEOH BP=257AH 偏移量:DSP=10H DIP=ODFOH请用存储器操作数的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]④基址变址寻址方式:MOVAX,[BX+SI] 或MOVAX,[BX][SI]⑤相对基址变址寻址方式:MOV AX,DSP[BX+SI] 或MOV AX,DSP[BX][SI] 或MOV AX,[DSP+BX+SI]2. 在数据段中有如下定义的数据:WVAL DW 34O,256,178H,116H,28OH,5FFOH请用存储器操作数的5种寻址方式写出将字数据5FFOH传送到AX寄存器的指令序列。

解:①直接寻址方式:MOV AX,[WVAL+OAH]②寄存器间接寻址方式:MOV BX,OFFSET WVALADD BX,OAHMOV AX,[BX]③寄存器相对寻址方式:MOV BX,OAHMOV AX,WVAL[BX] 或MOV AX,[BX+WVAL]④基址变址寻址方式:MOV BX OFFSET WVAL MOV SI , OAHMOV AX [BX+SI]或 MOV AX [BX][SI] ⑤ 相对基址变址寻址方式:MOV BX 08HMOV S , 02HMONAX, WVAL[BX+SI]或 MOVAX, WVAL[BX][SI]或 MOVAX[WVAL+BX+SI]汇编语言练习题:第二章寻址方式和指令系统文章来源:互联网 编辑:lux in 加入日期:2008-11-22 点击:4055.若 AX=2000H,CL=90H ,贝V DIV CL 执行后,AX=rr6. 若 BL=83H,CF=1,贝VADC BL,90H 执行后,BL=1.MOV AX,ES:[1000H] r源操作数的寻址方式是:A.立即寻址B.直接寻址C. 变址寻址D. 基址寻址2.MOV AX,ES:COUNT[DI] r源操作数的寻址方式是:A. 基址寻址B.立即寻址C.变址寻址D.基址变址寻址3.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是:A. 变址寻址B. 基址寻址C.直接寻址D.基址变址寻址4. 若 AX=1020H,BX=1200H,CF=1,r A. 0EF1FH rC. 0FE1FH则SBB AX,BX 的执行结果为:rB. 0FEFFHD. 0FE21HA.8038HB. 8039HC. 9138HD. 8138HA. 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], 若C0UNT=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, 地址那么物理为:P rA. 6F300HB. 77800HC. 59800HD. 78700H参考答案1.B2.C3.D4.C5.A6.D7.C8.B9.C 10.CC COMMOND 、STACK汇编语言练习题:第三章宏汇编语言 文章来源:互联网编辑:lux in加入日期:2008-11-22 点击:1. 源程序结束语句为A ENDP2.SKY: MOV AL,20H 中操作数为rA 、MOVr 亠C AL 或 20H3. 下列为不合法的标志符的是r A AXYZrC @ATT4. 下列地址表达式正确的是5. NEAR 标号的类型值为rA 26. 组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是C END MAIND 、ENDD 、-2A NONEB PUBLIC451B 、ENDSB 、SKYA [BX-SI]B 、[BP-DI]C [BX+2]D 、[BP+BX]D AL 和 20HB 、5SKYD 、?ABCB -17.下面哪一个命令是显示内存单元的内容?A、D命令C F命令B E命令D R命令8.能被计算机直接识别和执行的指令是:A、符号指令B、机器指令C伪指令D宏指令9.取变量偏移属性的分析运算符是:rA OFFSET rC SIZE B TYPED SEG10.分析运算符LENGTH只有用()定义的变量才有意义。

rA、表达式B字符串rC DUP r “D、疑冋号11.在段定义中, rA PAGE rC WORD )是默认的定位类型。

rB PARAD BYTErA、标号名字域B、助记符域rC操作数域D、注释域参考答案:1、c2、d3、b4、c5、b6、a7、a8、b12.汇编语言指令中唯一不可缺少的域是:9、a 10、c 11、b 12、b汇编语言练习题:第四章程序设计的基本方法 文章来源:互联网编辑:lux in加入日期:2008-11-22 点击:1. 段内直接转移指令采用的寻址方式是:crA 、直接寻址B 相对寻址C 绝对寻址厂 D 、间接寻址4. 在MOVB 旨令中,其目的串的物理地址为5. 条件转移指令的转移范围r A -128 -- +127rC 0 -- +2556. 执行段间调用指令 CALL 时,首先保护断点的A 段地址和偏移地址B 、段地址C 偏移地址判断题A DS*2*2*2*2+SIB DS*2*2*2*2+DIES*2*2*2*2+SIES*2*2*2*2+DI3652. 下列指令中不等价的是c A JA 和 JNBECC JL 和 JNG3. 下列指令中等价的是rA JC 和 JOcB JG 和 JNLE D 、JBE 和口 JNAB JNC 和 JNOD 、JA 和 JGB -32768 -- +32767D 、0 -- +655351. Yes No 无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。

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

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

相关主题