当前位置:文档之家› 第4章汇编语言程序设计.

第4章汇编语言程序设计.

第四章习题集一、判断 (正确的在括号画“√” , 错误的画“×”1. 汇编语言程序语言必须由四部分组成。

(2. 汇编语言源程序中所使用的变量,必须在代码段中先定义,后引用。

(错3. 在汇编语言中,一般伪指令语句放在代码段中 (错4. 逻辑操作符 AND 、 OR 、 XOR 或 NOT ,只能用于数字表达式。

( 错5. 符号定义语句不占内存单元,变量定义语句占内存单元。

(6. 汇编语言源程序中至少有一个代码段。

( 对7. 伪指令是指示性语句 , 不产生机器目标代码。

( √8. 伪指令BV AR :DB ‘ ABCD ’ , 200 DUP(?是合法伪指令。

9. 伪指令 DAT1 DB 7, 8, 9, 10 与 DA T1 DW 07H, 08H , 09H , 0AH 所预置的数据是一样的。

10. 8086CPU 的中断向量表共占有 1024个字节 (00000H -003FFH , 所以共有1024个中断。

[ ]二、单项选择题1. 用高级语言编写的程序(C 。

A 、只能在基本种计算机上运行B 、无需经过编译或解释,即可被计算机直接执行C 、具有通用性和可移植性D 、几乎不占用内存空间2. 一般地,我们将计算机指令的集合称为(B 。

A . 机器语言 B. 汇编语言 C. 模拟语言 D. 仿真语言3. 我们通常所说的“裸机”指的是(C 。

A. 只装备有操作系统的计算机B. 不带输入输出设备的计算机C. 未装备任何软件的计算机D. 计算机主机暴露在外4. 计算机的软件系统一般分为(C 两大部分。

A. 系统软件和应用软件B. 操作系统和计算机语言C. 程序和数据D. DOS 和 Windows5. 计算机系统软件中的汇编程序是一种 ( C 。

A. 汇编语言程序B. 编辑程序C. 翻译程序D. 将高级语言转换成汇编程序的程序6. 假设 V1和 V2是用 DW 定义的变量,下列指令中正确的是:AA. MOV V1,20HB. MOV V1, V2C. MOV AL,V1D. MOV 2000H , V27. PC 机所使用的标准键盘向主机发送的代码是 AA . ASCII 码B . 扫描码 C. BCD 码 D. 格雷码8. 8086CPU 中断号为 8的中断矢量存放在(C 。

A. 0FFFFH :0008HB. 0000H :0008HC. 0000H :0020HD. 0020H :0000H9. 已知变量 VAR 为字型,则 TYPE VAR=(B 。

A 、 1B 、 2C 、 3D 、 410. 交换寄存器 SI 、 DI 的内容,正确的程序段是(AC 。

A 、 PUSH SIB 、 PUSH SIPUSH DI PUSH DIPOP SI POP DIPOP DI POP SIC 、 MOV AX , SID 、 MOV AX , SIMOV SI , AX MOV BX , DIMOV DI , AX XCHG BX , AX11. 段定义语句以 ( B 语句结束。

A.ENDB.ENDSC.ENDPD.ENDM 12. 若主程序段中数据段名为 DA TA ,对数据段的初始化操作应为A. MOV AX, DATAB. MOV AX, DA TAMOV ES, AX MOV DS, AXC. PUSH DSD. MOV DS, DATA13. .EXE 文件产生在A. 汇编B. 编辑C. 用软件转换D. 连接14. 定义双字变量的定义符是。

A. DWB. DQC. DDD. DT15. 下列存储器操作数的跨段前缀可省略的是。

A. DS:[BP]B. SS:[BP]C. ES:[BX]D. ES:[SI]16. 执行下列指令:STR1 DW ‘AB’STR2 DB 16 DUP(?CONT EQU $-STR1MOV CX,CONTMOV AX,STR1HLT后寄存器 CL 的值是 c 。

A. 0FHB. 0EHC. 12HD. 10H17. 与 MOV BX, OFFSET VAR指令完全等效的指令是 ( D。

A. MOV BX, VARB. LDS BX, VARC. LES BX, VARD. LEA BX, VAR18. 在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是( D。

A 、 WORD B 、 PAGE C 、 BYTE D 、 PARA19. BUF DW 10H DUP(3 DUP(2, 10H , 3, 5上述语句汇编后,为变量 BUF 分配的存储单元字节数是 (160? 。

A 、 80HB 、 100HC 、 124D 、 19220. 在汇编语言程序的开发过程中使用宏功能的顺序是 (C 。

A 、宏定义,宏调用B 、宏定义,宏展开C 、宏定义,宏调用,宏展开D 、宏定义,宏展开,宏调用21. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是 ( B。

A 、名字项B 、操作项C 、操作数项D 、注释项22. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有 ( D 。

A 、 CMPB 、 SUBC 、 AND D 、 MOV23. 为使 CX=-1时,转至 MINUS 而编制了一指令序列,其中错误的序列是 ( D。

A 、 INC CX JZ MINUSB 、 SUB CX, OFFFFH JZ MINUSC 、 AND CX, OFFFFH JZ MINUS D 、 XOR CX, OFFFFH JZ MINUS24. 假设 V1和 V2是用 DW 定义的变量,下列指令中正确的是 ( A .A. MOV V1,20HB. MOV V1, V2C. MOV AL,V1D. MOV 2000H , V225. 假设 V AR 为变量,指令 MOV BX , OFFSET VAR 的寻址方式是 (C 。

A .直接寻址B .间接寻址C .立即寻址D .存储器寻址三 . 多项选择题(每题有多个正确答案,选出所有正确答案,多选、少选均不得分1. 8086指令的操作数可能有A. 0B. 1C. 2D. 32. 变量定义的伪指令助记符有:。

A. DBB. DWC. DDD. DFE. DQF. DT3. 主程序与子程序之间传递参数可通过A. 堆栈B. 存储器单元C. 通用寄存器D. 指令队列E. 其他4. 汇编语言源程序经 MASM 汇编后可直接生成的文件是。

A. .LSTB. .CRFC. .EXED. .OBJE. .ASMF. .MAP5. 过程(子程序调用的形式有(ABCD 。

A 、段内直接B 、段内间接C 、段间直接D 、段间间接四. 填空题8. 设当前的 SP=0FFFH,执行 PUSHF 指令后, SP=(0FFD H ,若改为执行 INT 20H 指令后,则 SP=(0FF9 H 。

2. 23. 当要求段的首地址只能被 16整除时,需选择的定位方式为。

2. 二进制编码的十进制数称为 BCD 码,它用BCD 码有和两种格式。

1. MOV AX , ((V AR LT 6 AND 40 OR ((V AR GE 6 AND 50 ,当 V AR ﹤ 6时, 汇编结果源操作数为。

2. 程序段 V AR1 DB ?V AR2 DW 20 DUP(58H , 2 DUP(?V AR3 DB‘ABCD’...MOV AX,TYPE V AR1MOV BX,TYPE V AR2MOV CX,LENGTH VAR2MOV DX,SIZE VAR2MOV SI,LENGTH VAR3, , 。

3. 段定义伪指令语句用语句表示开始,以语句表示结束。

4. ARRAY DW 10 DUP(5 DUP(4 DUP(20H , 40H , 60H 语句执行后共占字节存储单元。

5. 汇编语句中, 一个过程有 NEAR 和 FAR 两种属性。

NEAR 属性表示主程序和子程序内转移 , FAR 属性表示主程序和子程序段间转移。

6. DOS 系统功能号应放在寄存器中。

7. 子程序又称 ,它可以由8. 与指令 MOV BX , OFFSET BUF功能相同的指令是。

10. 设有伪指令 A DB 01H, 23H ,则执行指令B DW 2 DUP(0MOV AL, TYPE A后, (AL ;MOV BL, SIZE B后, (BL 。

.设有伪指令 A DB 01H, 23H ,则执行指令B DW 2 DUP(0MOV AL, TYPE A后, (AL ;MOV BL, SIZE B后, (BL 。

7. 根据下面的指令和伪指令序列, AX 寄存器的内容TAB DB 1, 2, 3, 4, 5, 6ENTRY EQU 3MOV BX , OFFSET TABADD BX , ENTRYMOV AX , WORD PTR [BX]8. 对于下面两个数据段,偏移地址为 10H 和 11H 的两个字节中的数据是一样的吗?为什么?DTSEG SEGMENT | DTSEG SEGMENTORG 10H | ORG 10HDATA1 DB 72H | DATA1 DW 7204HDB 04H | DTSEG ENDSDTSEG ENDS |( 。

12. 将下列文件类型填入空格:(1 .obj (2 .exe (3 .crf (4 .asm (5 .lst (6 .map 编辑程序输出的文件有( ;汇编程序输出的文件有( ;连接程序输出的文件有( 。

4. ORG 1000HX DB 12HY DW XZ DD Y(DS=3800H, (BX=1000H, (SI=0002H求下列指令执行完后指定寄存器的内容MOV AX, [1000H] ;MOV AX, [BX]; HMOV AX, [BX+SI]; HMOV AX, [Y+1];LDS SI,Y; H6. 数据段中有以下定义:ARRAY1 EQU 16HARRAY2 DW 16H请指出下面两条指令的寻址方式:MOV AX , ARRAY1;寻址方式:MOV AX , ARRAY2;寻址地址:8. 内存单元初始化内容为:(2000H :2A00H --(2000H :2A02H 分别为 0FH 、0EH 、 0DH , (2000H :2A10H --(2000H :2A12H 分别为 09H 、 08、 07H 。

执行下列程序后,请填写存储单元的内容:MOV AX , 2000HMOV DS , AXMOV ES , AXMOV SI , 2A10HMOV DI , 2A00HCLDMOV CX , 3L :MOV AL , [DI]MOVSBDEC SIMOV [SI], ALINC SILOOP LHLT(1 2000H :2A00H= 09H 。

相关主题