一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
)1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D)A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546HC.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’2.DA2 DB‘AB’,‘CD’┇MOV AX,WORD PTR DA2+1上述语句执行后AX中的值是(D)A.‘AD’B.‘BC’C.‘DA’D.‘CB’3.下列数据定义语句中可实现留空20H个字节存储单元的是(D)A.DB 20 DUP(?) B.DW 20H DUP(?)C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?)4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D)A.32K字节B.32K字C.64K字节D.64K字5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BPC.SI D.DI6.下列指令中有语法错误的是(C)A.PUSH AX B.PUSH [20H+SI+BX]C.POP CS D.PUSH CS7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D)A.16*SS+BP B.16*DS+BPC.16*CS+IP D.16*SS+SP8.把BL中的数据输出到端口8CH中正确指令是(C)A.OUT 8CH,BL B.IN 8CH,BLC.MOV AL,BL D.MOV AL,BLOUT 8CH,AL IN 8CH,AL9.结果为零的条件转移指令,其测试条件是(A)A.ZF=1 B.ZF=0C.SF=l D.SF=010.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是MOV CH,0MOV CH,0FFHZERO:MOV DH,CH(C)A.JNZ ZERO B.JS ZEROC.JZ ZERO D.JC ZERO11.汇编源程序时,出现语法错误的语句是(C)A.MOV [BX+SI],BX B.MOV CL,[BP+DI]C.MOV CS,AX D.MOV DS,AX12.设SP初值为3050H,执行指令PUSH BX后,SP的值是(B)A.304FH B.304EHC.3048H D.3049H13.串操作指令中,每次操作后使SI/DI为减量应设置(C)A.DF=0 B.TF=1C.DF=1 D.TF=014.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B)A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=015. 当执行ADD AX ,BX 指令后,若AX的内容为4E52H 时,设置的奇偶标志位PF=0 ,下面的叙述正确的是( A)A. 表示结果中含 1 的个数是奇数B. 表示结果中含1 的个数是偶数C. 表示该数是奇数D. 表示结果中低8 位中含1 的个数是奇数16. 设物理地址(21000H)=20H, (21001H)=30H,(21002H)=40H 。
如从地址21001H 中取出一个字的内容是( D )A.2030HB.3040HC.3020HD.4030H17. 转移指令JMP NEAR PTR PROCA的转移范围是( A)A.8000H ~7FFFHB.7FFFH ~0FFFHC.80H ~7FHD.0FH ~7FH18. 没有语法错误的输入指令是( A)A.IN AL ,30HB.IN 30H,ALC.IN DX ,ALD.IN AL ,[BX ]19. 设SP 的初值为1000H ,执行指令PUSH AX 后SP 的值是( C )A.OFFFHB.1001HC.0FFEHD.1002H20. 设SP 的初值为1000H ,执行指令POP AX 后SP的值是( D )A.OFFFHB.1001HC.0FFEHD.1002H21. 汇编语言源程序,可以是( D )A. 可以直接由机器执行B. 必须由编译程序生成目标程序才能执行C. 必须由解释程序生成目标程序才能执行D. 必须由汇编程序汇编成目标程序才能执行22. 伪指令DA1 DB 04H DUP(3 DUP(2), 2 DUP(3)) 在数据区中能构成0203H 操作数共有( C )A.07 个B.04 个C.03 个D.02 个23. 设AX=9ABCH ,DX=8765HPUSH AXPUSH DXPOP AXPOP DX上述 4 条指令执行后,AX ,DX 中内容分别是( D )A.AX=9ABCH DX=8765HB.AX=9ABCH DX=9ABCHC.AX=8765H DX=8765HD.AX=8765H DX=9ABCH24. 无条件转移指令JMP 实现段间间接转移,转移的目标地址在( B )A. 某个字存储单元中B. 某个双字存储单元中C. 某个16 位通用寄存器中D. 两个16 位通用寄存器中25. 已知某操作数的物理地址是2117AH ,则它的段地址和偏移地址可能是( A) 。
A.2025 ∶0F2AB.2108 ∶00EAC.2000 ∶017AD.2100 ∶117A26. 某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( C ) 字节。
A.2KB.4KC.8KD.16K27. 以寄存器DI 间接寻址的存储器字节单元内容加1 的指令是( C ) 。
A.INC [DI ]B.INC DIC.INC BYTE PTR [DI ]D.ADD [DI ],128. 有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1 ,0) ,2) 汇编后,为变量BUF 分配的存储单元字节数是( B ) 。
A.48HB.90HC.120D.6029. 下列指令执行后,不改变AL 寄存器内容的指令是( B ) 。
A.AND AL , 1B.CMP AL ,DLC.XOR AL ,ALD.SUB AL ,DL30. 将CX 寄存器低4 位清零的正确指令是( B ) 。
A.AND CX ,0F0HB.AND CX ,0FFF0HC.AND CX ,1110HD.MOV CX ,031. 当堆栈为空时,如SS=0805H ,SP=40H ,栈底字单元的物理地址是(C)A.08090HB.08089HC.0808EHD.08450H32. 执行POP BP 指令时,源操作数的物理地址表达式是(A)A.16*SS+SPB.16*SS+BP33. 执行SUB AX ,[BP][DI] 指令,取源操作数时,使用的物理地址表达式是(A)A.16*SS+BP+DIB.16*ES+BP+DIC.16*DS+BP+DID.16*CS+BP+DI34.要输入端口1234H 中的8 位数据,其指令应是( B )A.MOV DX,1234HB.MOV DX ,1234HOUT DX,AL 1N AL ,DXC.1N AX ,1234HD.OUT DX ,1234H 35.MOV AL ,79ADD AL ,0B1H上面指令执行后,设置的标志位CF 和OF 的值是( D )A.CF=0 ,OF=0B.CF=1 ,OF=1C.CF=0 ,OF=1D.CF=1 ,OF=036.下列指令执行后对源和目的操作数均无影响的是( D )A.MOV [BX+2] ,AXB.SUB AX ,2467HC.SBB [SI] ,BXD.CMP AX ,BX37.设(SS )=338AH ,(SP)=450H ,执行PUSH BX ,和PUSHF 两条指令后,堆栈顶部的物理地址是(A)A.33CECHB.33CF2HC.33CF4HD.33CE8H38.设(SP)=0028H ,执行段内返回指令RET后,SP的内容是( D )A.0036HB.0022HC.0030HD.002AH39. 下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是(D)A.AX ,BX ,CX ,DXB.SP ,BP ,SI ,DIC.CS ,ES ,DS ,SSD.BX ,BP ,SI ,DI40. 执行INC指令除对SF,ZF有影响外,还要影响的标志位为(A)A. OF, AF, PFB. OF, AF, CFC. OF, PF, CFD. AF, PF, CF二、判断正误,若判断为错,请说明理由1、MOV DS,0错误,立即数不能直接传送给数据段寄存器2、MOV AX,[SI][DI]错误,SI和DI不能同时使用3、MOV [BX],10H错误,无法知道操作数的类型,即不知道是字节的还是字。
4、MOV AH, BX错误,源操作数和目的操作数的类型不一样。
5、MOV [BX], [SI]错误,源操作数不能同时为内存操作数6. MOV CS, AX错误,CS不能作目的操作数7. POP CS错误,CS不能作目的操作数8 PUSH CS正确9. POP 1234H错误,出栈的操作数不能为立即数。
10. MOV [BX][SI], 2错误,无法知道操作数的类型,即不知道是字节的还是字。
11. MOV MYDA TA[BX][SI], ES:AX错误,源操作数寻址错误12. MOV BYTE PTR[BX], 1000错误,源操作太大超过一个字节能表示的数范围13. PUSHF AX错误,源操作数默认为flag14. POPF AX错误,源操作数默认为flag15. ADD V AR1, V AR2 (V AR1和V AR2为定义好的字变量)错误,操作数必须有一个不是内存操作数16. DIV 12错误,操作数不知道是字节还是字。
17.POP BL错误,目的操作数应该是字操作数18.IN AL ,100H错误,端口号超出255的范围。
三、填空题1. 8086/8088 存贮器地址分段时,每个段起始地址的特征是___后四位二进制数为0__ 。
2. 假设执行前AX=7862H ,指令XOR AX ,AX (表示异或,各位相异为1)执行后AX 中的值是___0________ 。
3. ARRAY DB 0 ,2 DUP(1 ,2) ,0 ,3 汇编时生成的数据依次是_0,1,2,1,2,0,3__ 。
4. 在存取一个存储器操作数时,段地址必须由__段寄存器之一(_cs或者ds或者es或者ss)________ 提供。
5. 在8086/8088 系统中,存储器物理地址是分段组织的。