1、汇编语言课程综合复习资料一、单项选择1. 已知X补=98H, 则X 补/2=( )(A) 0CCH (B) 4CH(C) 49H (D) 31H 2. 已知 X=78,Y=-83 则X+Y 补=( )(A) 0F5H (B) 0A1H (C) 0FBH (D) 65H3. 在计算机的 CPU 中执行算术逻辑运算的部件是( )(A) ALU (B) PC (C) AL (D) AR4. 将 125 转换成二进制数的结果( )(A) 7DH (B) 7CH (C) 7EH (D) 7BH5. 将 93H 看成一个组合 BCD 码,其结果是( )(A) 10010101 (B)10010011 (C
2、) 10000011 (D)100000016MOV AX,ES:1000H 源操作数的寻址方式是( )(A) 立即寻址 (B) 直接寻址 (C) 变址寻址 (D) 基址寻址 7MOV AX,ES:COUNTDI 源操作数的寻址方式是( )(A) 基址寻址 (B) 立即寻址 (C) 变址寻址 (D) 基址变址寻址 8MOV DX,COUNTBPDI的源操作数的寻址方式是( )(A) 变址寻址 (B) 基址寻址 (C) 直接寻址 (D) 基址变址寻址 9指令 MOV BX,MASKBP,若 MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为( )(A) 1
3、7500H (B) 16500H (C) 14500H (D) 13500H 10指令 MOV AX,COUNTBX,若 COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址为( ) (A) 17400H (B) 17000H (C) 15400H (D) 14500H 11指令 MOV DX,DELTABXSI,若 DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址为( ) (A) 6F300H (B) 77800H (C) 59800H (D) 78700H 12. 汇编语言指令中唯一不可缺少的
4、域是( )(A) 标号名字域 (B) 助记符域 (C) 操作数域 (D) 注释域13. 下面哪一个命令是显示内存单元的内容( )(A)命令 (B)命令 (C) 命令 (D) 命令 14. 下列为不合法的标志符的是( )(A)AXYZ (B)5SKY (C)ATT (D)?ABC 15. 组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是( )(A)NONE (B)PUBLIC (C)COMMON (D)STACK 16. 在段定义中, ( )是默认的定位类型。(A)PAGE (B)PARA (C)WORD (D)BYTE 17源程序结束语句为( ) (A)ENDP (B)ENDS
5、 (C)END MAIN (D)END 18. 能被计算机直接识别的语言是( )(A) C 语言 (B)汇编语言 (C)机器语言 (D)面向对象语言19. 能把汇编语言转换成机器语言的翻译程序是( )(A) 编译程序 (B)汇编程序 (C)解释程序 (D)调试程序20. 汇编语言源程序的文件扩展名是( )(A) .EXE (B) .OBJ (C) .BIN (D) .ASM二、简答题1在某子程序的开始处要保护 AX,BX,CX 三个寄存器信息,在子程序结束时要恢复这三个寄存器信息。假设保护现场的指令序列为:PUSH AXPUSH BX PUSH CX 试写出恢复现场时的指令序列。2完成下列操作
6、,分别选用什么指令:(1)将 AX 的内容,减去 0520H,和上次运算的借位;(2)将变量名 TABL 的段地址送 AX;(3)将变量名 TABL 的偏移地址送 AX。3定义数据段 DATA_SEG,数据段中的数据按下列要求依次存储:(1)变量 BUF,大小为 25 个字节,初值为 0;(2)变量 ARRAY,类型为字,初值为 12H,56H,78H ,0AH;(3)变量 MSG 存储字符串 yes。4试根据以下要求,分别写出相应的汇编语言指令。(1) 把 AX 寄存器和 BX 寄存器的内容相加,结果存入 AX 中;(2) 用 BX 和 SI 的基址变址寻址方式,把存储器中的一个字节与 DL
7、 的内容相加,并把结果送回DL 中;(3) 把数 5EH 与 AH 内容相加,结果送回 AH 中。5对于下面的数据定义,三条 MOV 指令分别汇编成什么? TAB1 DW 10 DUP(?)TAB2 DB 10 DUP(?)TAB3 DB 1234MOV AX,LENGTH TAB1MOV BL,LENGTH TAB2MOV CL,LENGTH TAB36假设有如下伪指令:D1 DB 20H DUP(?)D2 DW D1请写出用一条指令实现“取 D1 的偏移地址=SI”中的三种方法。三、编程题1. 编程序段:编制将 ES 段中名为 DATA 的字存储区清零的程序段。假定 DATA 存储区定义为
8、:DATA DW 20 DUP(?)要求用循环指令编写,循环控制采用计数寄存器自动控制。 (此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。 )2 编写完整程序:设在内存单元 SQTAB 首址开始存放了 015 的平方数表。要求用直接查表法编一程序,求出 A单元中给定数(=15)的平方值送 B 单元保存。3. 编程序段:设 X,Y,Z,W 存放 16 位带符号数,编程计算 X*Y-Z 的值,并将结果的低 16 位送到W。(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。 )汇编语言课程综合复习资料参考答案一、单项选择题目 1 2 3 4 5 6 7 8
9、9 10答案 A C A A B B C D B C题目 11 12 13 14 15 16 17 18 19 20答案 C B A B A B C C B D二、简答题1参考答案: POP CXPOP BXPOP AX2参考答案:(1) SBB AX,0520H(2)MOV AX,SEG TABL(3)MOV AX,OFFSET TABL3参考答案:DATA_SEG SEGMENTBUF DB 25 DUP(0) ARRAY DW 12H,56H,78H,0AH MSG DB yes DATA_SEG SEGMENT4参考答案:(1) ADD AX,BX (2) ADD DL, BX SI(
10、3) ADD AH,5EH5参考答案:MOV AX,10MOV BL,10MOV CL,16参考答案:(1) LEA SI,D1(2)MOV SI,OFFSET D1(3)MOV SI,D2三、编程题1. 参考答案:DATA DW 20 DUP(?)MOV AX,SEG DATAMOV ES,AXMOV DI,0MOV CX,20 ;或 LENGTH DATA;GOON: MOV ES:DATADI,0ADD DI,2LOOP GOON2 参考答案:DATA SEGMENTSQTAB DB 0,1,4,9,16,25,36,49,64,81DB 100,121,144,169,196,225A
11、 DB 12B DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARPUSH DXXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET SQTABMOV AL,AXLATMOV B,ALRETSTART ENDPCODE ENDSEND START3. 参考答案:MOV AX,XIMUL YSUB AX,ZSBB DX,0MOV W,AX1(5.0 分) 下面指令中,合理而有意义的指令是( ) A) REP LODSB B) REP SCASB C) REP CMPSB D) R
12、EP MOVSB 参考答案: D 收起解析 解析: 无 2(5.0 分) 执行下面指令语句,则 AX=( ) 。 MOV AL,95H CBWA) 0095H B) 0F95H C) 0FF95H D) 9095H 参考答案: C 收起解析 解析: 无3(5.0 分) 在汇编语言程序中,对 END 语句的叙述正确的是( ) A) END 语句是一可执行语句 B) END 语句表示程序执行到此结束 C) END 语句表示源程序到此结束 D) END 语句在汇编后要产生机器码 参考答案: C 收起解析 解析: 无 4(5.0 分) 若有 BUF DW 1, 2, 3, 4,则可将数据 02H 取到
13、 AL 寄存器中的指令是( )A) MOV AL BYTE PTR BUF1 B) MOV AL BYTE PTR BUF2 C) MOV AL BYTE PTR BUF3 D) MOV AL BYTE BUF 2 参考答案: B 收起解析 解析: 无5(5.0 分) 下列传送指令中,有语法错误的指令是( ) A) MOV CS,AX B) MOV DS,AX C) MOV ES,AX D) MOV SS,AX 参考答案: A 收起解析 解析: 无 6(5.0 分) 把若干个模块连接起来成为可执行文件的系统程序称为( ) A) 连接程序 B) 汇编程序 C) 编译程序 D) 目标程序 参考答案
14、: A 收起解析 解析: 无 7(5.0 分) 当一个带符号数大于 0FBH 时程序转移, 需选用的条件转移指令是( ) A) JLE B) JNL C) JNLE D) JL 参考答案: C 收起解析 解析: 无 8(5.0 分) 当执行指令 ADD AX,BX 后,若 AX 的内容为 2BA0H,设置的奇偶标志位 PF1,下面的叙述正确的是( ) A) 表示结果中含 1 的个数为偶数 B) 表示结果中含 1 的个数为奇数 C) 表示该数为偶数 D) 表示结果中低八位含 1 的个数为偶数 参考答案: D 收起解析 解析: 无 9(5.0 分) 假设(AL)0FFH,执行 ADD AL,0FH 指令后,标志位 ZF 和 SF 的状态分别为( )A) 0 和 0 B)