汇编语言练习题_第1页
汇编语言练习题_第2页
汇编语言练习题_第3页
汇编语言练习题_第4页
汇编语言练习题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一 单项选择题 共 20 题 1 对于有符号的数来说 下列哪个值最大 D A 0F8H B B C 82D 123Q 2 下列有关汇编语言中标号的命名规则中 错误的是 D A 通常由字母打头的字符 数字串组成 B 标号长度不能超过 31 个字符 C 和 不能单独作为标号 D 号不可位于标号首 3 设 A 0 4H B 0 8H C 0 4 D 0 4Q 它们之间的关系是 C A C D B B A D B C B D D A C D 4 下列四个寄存器中 可作为十六位寄存器的是 C A DL B CL C BPD EBX 5 8088 8086 存储器分段 每个段不超过 D A 64K 个字 B 32K 个字节 C 1 兆个字节 D 64K 个字节 6 寻址指令 MOV CX BX DI 20 使用的是哪一种寻址方式 B A 寄存器寻址B 相对基址变址寻址 C 变址寻址D 基址变址寻址 7 连接程序把汇编语言源程序生成的目标文件 OBJ 文件 转换成 B A OBJ 文件 B EXE 文件 C LST 文件D CRF 文件 8 在程序运行过程中 确定下一条指令的物理地址的计算表达式是 A A CS 16 IP B DS 16 DI C SS 16 SP D ES 16 SI 9 若 AX 15 要得到 AX 15 应执行的指令是 A A NEG AX B NOT AX C INC AX D DEC AX 10 8086 8088 系统执行传送指令 MOV 时 A A 不影响标志位 B 影响 DF 方向标志 C 影响 SF 符号标志 D 影响 CF 进位标志 11 执行下列程序后 AL D H DATA SEGMENT TAB DB DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV BX OFFSET TAB MOV AL 04 XLAT TAB A 04 B 0400 C 33D 34 12 下列指令中操作数在代码段中的是 A A MOV AL 25H B ADD AH BL C INC BYTE PTR 25H D CMP BL AL 13 若要求一个操作数中的若干位维持不变 若干位置 1 可以使用 B A NOTB ORC ANDD XOR 14 下列指令中段默认为堆栈段的是 C A MOV AX BX SI 10 B ADD AX ES SI C SUB BX BP DI D MOV DX 1000H 15 设 BL 05H 要使结果 BL 0AH 应执行的指令是 C A NOT BL B AND BL C XOR BL 0FHD OR BL 0FH 16 表示一条指令的存储单元的符号地址称 A A 标号 B 变量 C 偏移量 D 类型 17 关于 8086 8088 微机系列 下列说法哪个是正确的 D A 一个存储单元由 16 个二进制位组成 简称字 B 当存储一个字数据时 低字节放高地址位 高字节放低地址位 C 在内存空间中 可以无限分配段 且段的大小不受限制 D 段与段之间可以邻接 也可以重叠 18 下列关于堆栈的说法 错误的是 D A 以 先入后出 为原则 B 栈区最高地址单元的前一个单元为栈底 C 运行中 SP 寄存器动态跟踪栈顶位置 D 压栈和弹出都是以字节为单位 19 分配给 INT 12H 在中断向量表中的物理地址是 D A 12H B 24H C 36H D 48H 20 DOS 调用 INT 21H 的键盘输入功能 1 和功能 8 的区别是 B A 功能 1 不回显而功能 8 回显B 功能 1 回显而功能 8 不回显 C 功能 1 和功能 8 都不回显 D 功能 1 和功能 8 都回显 二 填空题 共 27 题 最后二题有备选答案 1 设一存储单元中的二进制代码是 83H 其对应的一个无符号数是 148 一个 带符号数是 108 2 8086 8088 系统中 I O 端口地址范围是 0000H FFFFH 3 8086 8088 系统中 段内一个单元相对段的起始地址的距离称为 偏移地址 它小于 64K 4 8086 8088CPU 内部用来存放段地址的寄存器有 CS DS ES SS 5 在 PC 机中 使用 SS SP 合成 20 位的物理地址 用以指向当前堆栈桟 顶的位置 6 一个字单元由二个连续的 字节 单元组成 其中数据的低 8 位存放在 低地 址 单元 高 8 位存放在 高地址 单元 7 在指令中直接给出操作数的寻址方式称为 立即寻址方式 8 设 MASK 为一个变量 在 MOV AX MASK SI BX 指令中 源操作数的寻址方式是 相对基址变址寻址方式 其物理地址是 DS 16 SI BX OFFSET MASK 目的操作数的寻址方式是 寄存器寻址方式 9 若 SS 1100H SP 0150H 那么执行 PUSH EAX 指令后 SP 的内容是 014CH 再执行 POP CX 指令后桟顶的物理地址是 1114EH 10 CPU 执行 JMP BX 指令只改变 IP 而不改变 CS 内容 11 执行 CALL NEAR PTR SUBROUT 时 在修改 IP EIP 内容之前应该 PUSH IP 或 PUSH EIP 12 STRING DB ABCDEFG COUNT EQU STRING COUNT 的值是 7 表示的意义是 表示变量 STRING 所分配的字节数 13 数据定义语句 TAB DW 100 DUP 执行 MOV BX LENGTH TAB 指令后 BX 的内容是 100 14 循环程序可由三个部分组成 设置循环初始部分 循环体和 循环控制部分 15 在多个模块中传递参数的时候 在本模块中要使用另一个模块中的符号要用 EXTRN 伪操作进行说明符号 本模块中的符号要提供给另一个模块使 用要用 PUBLIC 伪操作进行说明符号 16 宏汇编的三个步骤是 宏定义 宏调用和宏展开 17 每种类型的中断都由相应的 中断处理程序 来处理 18 下列程序段求数组 FLD 的平均值 结果在 AL 中 请将程序填写完整 不考虑溢出 FLD DW 10 20 30 60 71 80 79 56 LEA SI FLD MOV CX 8 XOR AX AX R1 ADD AX SI ADD SI 2 LOOP R1 MOV CL 8 IDIV CL HLT 19 MOV AX 1090H SUB AX 4AE0H JC L1 JO L2 JMP L3 上述程序执行后 AX C5BO 程序转向 L1 20 假设寄存器 AX 1234H DX 0A000H MOV BX 0 MOV CX BX SUB CX AX SBB BX DX MOV AX CX MOV DX BX 上述程序段执行后 AX OEDCCH DX 5FFFH 21 MOVAX 234H MOVCL 3 ROL AX CL DEC AX MOVCX 4 MUL CX 此段程序执行完后 AX 467CH CX 4 22 DA1 DB 83H 72H 61H 94H 5AH MOV CX WORD PTR DA1 AND CX 0FH MOV AL DA1 3 SHL AL CL 上述指令序列执行后 AL OAOH CL 03H 23 阅读如下程序片段 MOV AL 4CH MOV BL 86H ADD AL BL 执行上述程序片段后 AL 0D2H BL 86H CF 0 OF 0 24 以下程序求出首地址为 BUF 的 M 字数组的内容之和 DATA SEGMENT BUF DW X1 X2 XM COUNT EQU 一 BUF 2 SUM DW DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV BX OFFSET BUF MOV CX COUNT MOV AX 0 LOP1 ADD AX BX ADD BX 2 LOOP LOP1 MOV SUM AX MOV AH 4CH INT 21H CODE ENDS END START 25 以下程序完成将键盘输入的小写字母转换成大写字母并输出显示 直到输入字符 结 束 DATA SEGMENT ERROR DB INPUT EXCEEDS a z PLEASE INPUT AGAIN 0DH 0AH DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX NEXT MOV AH 1 INT 21H CMP AL JE EXIT CMP AL a JB ERR CMP AL z JA ERR SUB AL 20H MOV DL AL MOV AH 2 INT 21H JMP NEXT ERR LES DX ERROR MOV AH 9 INT 21H JMP NEXT EXIT MOV AH 4CH INT 21H CODE ENDS END START 26 下面子程序完成把 BX 寄存器内的二进制数用十六进制数的形式在屏幕上显示出来 BINTOHEX PROC NEAR PUSH CX PUSH AX PUSH DX MOV CH 4 ROTATE MOV CL 4 ROL BX CL MOV AL BL 2 ADD AL 30H CMP AL 3AH 1 ADD AL 7H PRINTIT MOV DL AL MOV AH 2 INT 21H 3 JNZ ROTATE POP DX POP AX POP CX RET BINTOHEX ENDP 备选答案 JL PRINTIT AND AL OFH DEC CH 27 下面程序段是判断寄存器 BL 中第 3 位 第 5 位是否同时为 1 如同时为 1 则 AH 置 0 否则 AH 置全 l MOV DL BL NOT DL 2 JZ ZERO MOV AH 0FFH 1 ZERO MOV AH 0 NEXT 备选答案 JMP NEXT TEST DL 28H 三 判断题 在正确的叙述或指令前打 错误的题前打 共 20 题 X 1 PUSH 5588H X 2 MOV DS 1720H X 3 ADD AX CL X 4 AND AX DX X 5 MOV CS 0600H X 6 PUSH 074CH X 7 ADD AX CL X 8 OR BX CX V 9 IMUL DX X 10 XOR AL BX X 11 MOV DX BX X 12 SUB EAX ECX 10 100 X 13 MOV DS 1200H X 14 XCHG 256 100H V 15 OUT DX AX X 16 LEA VAR BP SI X 17 NEG 88 V 18 INC WORD PTR 100H V 19 IMUL DX X 20 XOR AL BX 四 简答题 共 4 题 1 标志寄存器 标志寄存器 是 8086 088 中唯一按位操作的寄存器 该寄存器为 16 位 有效的标志位共 9 位 其中 CF PF AF ZF SF OF 为状态标志 用于反映最近一次影响标志位的算术 或逻辑运算中运算过程 运算结果的一些性质 TF IF DF 为控制标志 用于控制 CPU 对某些特定事件的处理方式以及 CPU 的工作模式 2 逻辑地址 逻辑地址 由两个 16 位的地址分量构成 其中一个为段基值 另一个为偏移量 两个分量 均为无符号数编码 物理地址 段基值 16 偏移量 3 下列程序段执行完后 SF ZF CF OF 的内容是什么 MOV BX 4321H ADD BX 1234H SF 0 ZF 0 CF 0 OF 0 4 下列 ASC 码串 包括空格串 依次存储在起始地址为 CSTRING 的字节单元中 CSTRING DB PERSONAL COMPUTER 请编写指令将字符串中的第 1 个和第 7 个字符传给 DX 寄存器 MOV DX CSTRING MOV DX CSTRING 6 五 程序分析题 分析程序段总的功能或回答相关问题或运行结果 共 14 题 1 阅读如下程序片段 MOV AL 4CH MOV BL 0B5H ADD AL BL 执行上述程序片段后 AL 01H BL 0B5H CF 1 OF 0 2 阅读如下程序片段 MOV AL 0F3H MOV DL 0C4H ADD AL DL AND AL 0FH 执行上述程序片段后 AL 7H CF 0 OF 0 PF 0 3 阅读如下程序片段 MOV AL 7EH MOV CL 04H ROL AL CL 执行上述程序片段后 AL 0F9H CL 04H CF 1 OF 无意义 4 阅读如下程序片段 MOV AX 0632H MOV BX 0C202H SUB AX BX INC AX 执行上述程序片段后 AX 4421H CF 1 OF 0 PF 0 5 阅读如下程序片段 假设 DS 0100H 字节单元 01024H 56H 字节单元 01025H 28H MOV BX 0024H LEA BX BX OR BX 0 ADC BX BX 执行上述程序片段后 BX 287AH CF 0 OF 0 PF 0 6 阅读如下程序片段 假设 SP 0064H MOV AX 0001H MOV BX 0002H PUSH AX PUSH BX POP AX POP BX 执行上述程序片段后 AX 0002H BX 0001H SP 0064H CF 0 7 DATA SEGMENT TAB DW 1 2 3 4 5 ENTRY DW 2 DATA ENDS MOV BX OFFSET TAB ADD BX ENTRY MOV AX BX MOV CX TYPE TAB MOV DX SIZE TAB 执行上述指令后 AX 3 CX 2 DX 2 8 MOV AX W IMUL X MOV BX Y ADD BX 6 IDIV BX MOV Z AX MOV R DX 上述程序段中 X Y Z R W 均为有符号数的字变量 试说明上述程序段完成什么功能 求数值表达式的值 W X Y 6 Z 余数 R 9 MOV AX 1234H MOV CL 8 ROL AX CL 这条指令执行后 AX 3412H DEC AX 这条指令执行后 CF 不变 MOV CX 4 MUL CX 这条指令执行后 SF 1 10 CMP DX BX JG X JL Y CMP AX CX JA X X Y 有两个双精度数 分别存储于 DX AX 及 BX CX 中 上述程序段完成的功能是什么 完成的功能是 如果 则转向 X 执行 否则转向 Y 执行 11 设有宏定义如下 TRANS MACRO BUF1 BUF2 MOV AX BUF1 MOV BX BUF2 MOV BUF1 BX MOV BUF2 AX ENDM 请说明宏指令完成的功能是什么 并将宏调用 TRANS WORD VAR1 WORD VAR2 进 行宏扩展 宏定义完成的功能是 将两个存储单元 BUF1 和 BUF2 的内容互换 宏调用 TRANS WORD VAR1 WORD VAR2 的宏扩展是 MOV AX WORD VAR 1 MOV BX WORD VAR 2 MOV WORD VAR 1 BX MOV WORD VAR 2 AX 12 分析下面程序段 回答指定问题 XOR AL AL CALL SUBROUT MOV BL AL CALL SUBROUT RCR AL 1 SUBROUT PROC NEAR NOT AL JS NEXT STC NEXT RET SUBROUT ENDP 上述程序执行后 AL 80H BL 0FFH 13 试回答下面程序段执行后完成什么功能 OLDS DB COMPUTER N EQU OLDS NEWS DB COMPUTOR LEA SI OLDS LEA DI NEWS MOV CX N CLD REPE CMPSB JNZ NEW ADDRESS OLD ADDRESS NEW ADDRESS 比较字符串 OLDS 和 NEWS 是否相同 若不相同则转到 NEW ADDRESS 执行 否则转到 OLD ADDRESS 14 MOV CX L LEA DI ARRAY MOV AL 20H CLD REPNE SCASB JNZ NOT FOUND NOT FOUND 试回答上述程序段完成的功能是什么 在长度为 L 的字符串 ARRAY 中查找空格 若有空格在顺序执行 否则转向 NOT FOUND 六 计算题 共 2 小题 1 将十进制数 100 分别转换为二进制 十六进制数 它们的表示形式分别为多少 二进制为 B 十六进制为 64H 2 假设 DS 0C00H BX 0210H 对于指令 MOV DS 100H BX AL 其目的 操作数的物理地址为多少 EA BX 0100H 0310H 物理地址 0C000H 0310H 0C310H 七 程序设计题 共 4 题 1 试编写一程序片段 实现 BL 高 4 位与低 4 位相互交换 MOV CL 4 ROL BL CL 2 试编写一程序片段 不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论