1. 93H看成一个压缩BCD码,其结果是    B     
i. A. 10010101    B. 10010011    C.10000011      D.10000001
2. 93H扩展为字的结果是  A     
i. A. FF93H    B. 0093H    C. 1193H    D. 1093H
3. 已知[X]=80H,则X=    D     
a) A. 80H    B. 0      C. 0FFH      D. -80H
4. 已知[X]=98H,则[X]/2=    A     
a) A. 0CCH    B.4CH      C. 49H      D. 31H
5. 执行指令PUCH CX后堆栈指针SP自动    C   
i. A. +2  B. +1    C. -2    D. -1
6. 在标志寄存器中表示溢出的标志是    C   
i. A. AF  B. CF    C. OF    D. SF
7. 设物理地址(10FF0H=10H,(10FF1H=20H,(10FF2H=30H,从地址10FF1H中取出一个字的内容是  B   
a) A. 1020H    B.3020H    C.2030H      D.2010H
8. 某数据段存储单元的偏移地址为2200H31FFH,则其存储空间大小是 B 
i. A2K    B.4K    C. 8K    D. 16K
9. 两个操作数运算时,下列哪种结果会发生溢出  B   
A. 两个负数相加,结果为负
B. 两个正数相加,结果为负
C. 一正一负相加,结果为负
D. 两个正数相加,结果为正
10. 查看用户程序中数据段10号存储单元的DEBUG命令是    B 
i. AD DS:A  A    BD DS:A      CD DS:10  10      DD DS:10
11. (AX)=2530H(BX)=18E6HMOV [BX],AL指令正确的执行结果为  C     
i. ABX寄存器的值为2530H      B. BL寄存器的值为30H 
A. C.  18E6H单元的值为30H      D. 18E6H单元的值为2530H
12. (DS)=1240H(BX)=8936H,则MOV AX,[BX] 源操作数的物理地址是    __A 
A. A1AD36H    B. 9B760H    C.1AC36H    D. 9B76H
13. 指令MOV AX,DS:[1000H],源操作数的寻址方式是  B     
i. A.立即寻址    B. 直接寻址    C. 寄存器寻址    D. 基址变址寻址
14. 指令MOV AX,ES:COUNT[DI],源操作数的寻址方式是  A     
A. A.基址变址寻址    B. 立即寻址    C. 寄存器相对寻址    D. 相对基址变址寻址
15. 操作数地址由BX寄存器指出,则它的寻址方式是  D   
A. A.直接寻址    B. 寄存器寻址    C. 立即寻址    D. 寄存器间接寻址
16. 指令“MOV ES:[BX],AX”中,目的操作数的寻址方式为  D   
i. A.立即数寻址        B. 寄存器寻址
ii. C.存储器直接寻址    D. 寄存器间接寻址
17. 下列哪句话是错误的  A   
A. 指令的目的操作数和源操作数可以同时使用寄存器间接寻址
ii. B.  指令的目的操作数和源操作数可以同时使用寄存器寻址
iii. C. 指令的源操作数可以使用寄存器间接寻址
iv. D. 指令的目的操作数可以使用寄存器寻址
18. 用直接寻址将AL的内容保存到16号单元,可用  A    指令。
i. AMOV DS:[0016H],AL    B. MOV AL, DS:[0016H] 
ii. C.  MOV DS:[0010H],AL    D. MOV AL, DS:[0010H]
19. 经过汇编产生的二进制目标文件是  A   
i. A.ASM    B.OBJ    C.EXE    D.MAP
b) 如果想让程序从100H开始存放及执行,用指令  B   
A. START EQU 100H
B. ORG 100H
C. END  START
D. MOV START,100H
20. 用指令MOV BX,SEG COUNT指令,可以得到存储单元COUNT    B 
i. A.物理地址      B 段地址      C 偏移地址      D 属性
21. AX=1240HCX=9939H,则ADD AX,CX 执行后,AH=  A   
i. AABH    B. 79H    C.AB79H    D. 79ABH
22. BL=83HCF=1,则ADC BL,90H执行后,BL=    A   
i. A14H    B. 15H      C. 16H      D. 17H
23. 下列传送指令中,有错误的是  D   
i. AMOV AH,BL            BMOV DS,AX
ii. CMOV CL,DX            DMOV SI,90
24. 用户程序中的数据段的段地址,用  D    指令给出。
i. AMOV  AXCODE      BMOV  CSCODE
ii. MOV  CSAX            MOV  DSCS
iii. CMOV  CSDATA      DMOV  AXDATA
iv. MOV  DSCS            MOV  DSAX
25. A=9210HB=4582H,如果A>B,做相减运算,否则做相加。执行JG指令后,结果是___A_____
i. A.做相减运算              B.做相加运算
ii. C.先做相减再做相加        D.什么都不做
26. 在条件转移指令中,结果不为0则转移的指令是___D_____
i. 汇编指令有多少个AJNS    BJZ    CJS    DJNZ
27. 在分支指令中,利用符号进行判断的指令是___B____
i. AJC    BJS    CJZ    DJO
28. 符号位扩展(字节扩展为字,字扩展为双字)
i. 20A3H    94H    3456H      7FH      EC00H
答:20A3H 000020A3H
94H FF94H
3456H 00003456H
7FH 007FH
EC00H FFFFEC00H
b) 写出下列算式的8位二进制运算结果,标志位CFSFZFOF分别是什么值?
c) 156+63        283-45        3-74+29        4-12-37
答:(156+63=01110111B    CF=0 SF=0 ZF=0 OF=0
  283-45=00100110B    CF=0 SF=0 ZF=0 OF=0
  3-74+29=11010011B  CF=0 SF=1 ZF=0 OF=0
  4-12-37=11001111B  CF=1 SF=1 ZF=0 OF=0
i. 已知堆栈区大小为512字节,栈底单元的物理地址为15230H。将两个字入栈保存后,当前栈指针所指单元的物理地址是多少? 堆栈区中还能保存多少个数据?
答:由于内存单元是字节单元存储的,而两个字等于4个字节,因此两个字入栈保存后,当前栈指针所指单元的物理地址是15230H-4H=1522CH512字节少了4个字节,因此还有508个字节,也就是254个字。
d) 请指出下列指令的错误:
i. MOV AX,[CX]——CX不能用来做寄存器间接寻址
ii. MOV AL,1200H——位数不够
iii. MOV AL,BX——位数不够
iv. MOV [SI][DI],AX——SIDI不能同时使用
v. MOV ES:[DX],CX——DX不能用来做寄存器间接寻址
vi. MOV [AX],VALUE——没有寄存器参与
vii. MOV COUNT,[SI]——没有寄存器参与
e) 根据题目要求,写出相应的汇编指令:
29. BX寄存器的值传送给AX
答:MOV AXBX
30. 将立即数15送入CL寄存器
答:MOV CL15
31. BX寄存器间接寻址方式将存储单元中的字与AX寄存器的值相加,结果在  AX
答:ADD AX[BX]
32. AL中的字节写入用基址变址寻址的存储单元中
答:MOV [BX+SI]AL
33. SI寄存器和位移量VALUE的寄存器相对寻址方式,从存储单元中读出一个字送入寄存器AX
答:MOV AXVALUE[SI]
34. AX中的数与偏移地址为2000H存储单元的数相减,结果在AX
答:SUB AXDS:[2000H]
35. 写出指令序列,分别求两个双精度数20125D68H100349A6H的相加和相减运算。
答:
MOV DX2012H
MOV AX5D68H
MOV CX1003H
MOV BX49A6H
ADD AXBX
SUB AXBX
ADC DXCX
SBB DXCX
36. 写出将DXAX中的32位无符号数减CX中的16位无符号数,结果存放在DXAX中的指令序列。
答:
SUB AXCX
SBB DX0
37. 分析下列程序段执行情况,给出结果:
i. X DB 5,15,30
ii. Y DB 22,14,6
iii. Z DW ?
iv. ……
v. MOV BX,OFFSET X
vi. MOV AL,[BX]
vii. ADD AL,Y
viii. INC BX
ix. SUB AL,[BX]
x. MOV BL,Y+1
xi. IMUL BL
xii. MOV Z,AX
答:Z=(5+22-15)*14=168
38. 编程序。从键盘输入一个数字,去掉ASCII码后保存到BUFF单元。
答:
CODE  SEGMENT
ASSUME  CS:CODE
START:
MOV AXDATA
    MOV DSAX
MOV AH1
INT 21H
SUB AL30H
MOV BUFF,DL
MOV AH4CH
INT 21H
CODE  ENDS
END  START
39. 编程序。将键盘输入的小写字母变为大写字母显示在屏幕上。
答:
CODE  SEGMENT
ASSUME  CS:CODE
START:
MOV AXDATA
    MOV DSAX
MOV AH1
INT 21H
    SUB AL20H
    MOV DLAL
    MOV AH,2
    INT 21H

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。