《微型计算机原理与接口技术》复习题.pdf_第1页
《微型计算机原理与接口技术》复习题.pdf_第2页
《微型计算机原理与接口技术》复习题.pdf_第3页
《微型计算机原理与接口技术》复习题.pdf_第4页
《微型计算机原理与接口技术》复习题.pdf_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第第1 1 章章 微 型 计 算 机 基 础 知 识微 型 计 算 机 基 础 知 识 一 选择题一 选择题 1 80486CPU 进行算术和逻辑运算时 可处理的信息的长度为 A 32 位 B 16 位 C 8 位 D 都可以 2 在下面关于微处理器的叙述中 错误的是 A 微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B 一台计算机的 CPU 含有 1 个或多个微处理器 C 寄存器由具有特殊用途的部分内存单元组成 是内存的一部分 D 不同型号的 CPU 可能具有不同的机器指令 3 若用 MB 作为 PC 机主存容量的计量单位 1MB 等于 字节 A 2 10个字节 B 220个字节 C 230个字节 D 240个字节 4 运算器在执行两个用补码表示的整数加法时 判断其是否溢出的规则为 A 两个整数相加 若最高位 符号位 有进位 则一定发生溢出 B 两个整数相加 若结果的符号位为 0 则一定发生溢出 C 两个整数相加 若结果的符号位为 1 则一定发生溢出 D 两个同号的整数相加 若结果的符号位与加数的符号位相反 则一定发生溢出 5 运算器的主要功能是 A 算术运算 B 逻辑运算 C 算术运算与逻辑运算 D 函数运算 6 运算器由很多部件组成 其核心部分是 A 数据总线 B 算术逻辑单元 C 累加器 D 多路开关 7 在一般的微处理器中 包含在 CPU 中 A 内存 B 输入 输出单元 C 磁盘驱动器 D 算术逻辑单元 8 80486CPU 的标志寄存器中 OF 标志表示运算结果的 情况 A 进 借位 B 符号 C 溢出 D 辅助进位 9 若某数据段位于存储区 38000H 47FFFH 则该数据段的段基址为 A 38000H B 47FFFH C 3000H D 3800H 10 程序设计中所使用的地址是 A 逻辑地址 B 有效地址 C 物理地址 D 段基址 11 80X86 执行程序时 对存储器进行访问时 物理地址可由 组合产生 A SS 和 IP B CS 和 IP C DS 和 IP D CS 和 BP 12 某处理器与内存进行数据交换的外部数据总线为 32 位 它属于 A 8 位处理器 B 16 位处理器 C 32 位处理器 D 64 位处理器 13 在堆栈操作中 隐含使用的通用寄存器是 A AX B BX C SI D SP 14 主要决定微机性能的是 A CPU B 耗电量 C 质量 D 价格 15 十进制负数 38 的八位二进制补码是 A 01011011B B 11011010B C 11011011B D 01011010B 16 若某台微型计算机的型号是奔四 800 则其中 800 的含义是 A CPU 中有 800 个寄存器 B CPU 中有 800 个运算器 C 该微机的内存为 800MB D 时钟频率为 800MHZ 17 在计算机内部 一切信息的存取 处理和传送都是以 形式进行 A EBCDIC 码 B ASCII 码 C 十六进制编码 D 二进制编码 18 16 位 PC 机中整数的有效范围是 A 32768 32767 B 32767 32767 C 0 65535 D 32768 32767 或 0 65535 19 在 表示中 二进制数 11111111B 表示十进制数 1 A 原码 B 反码 C 补码 D BCD 码 20 用 8 位的二进制数的补码形式表示一个带符号数 它能表示的整数范围是 A 127 127 B 128 128 C 127 128 D 128 127 21 计算机中运算器和控制器合称为 A CPU B ALU C 主机 D ENIAC 22 32 位的个人计算机 一个字节 Byte 由 位 bit 组成 A 4 B 8 C 16 D 32 23 假设机器中浮点数的表示格式如下 阶符 阶码 尾符 尾码 15 14 12 11 10 0 当尾数用补码 阶码 阶码基数为 2 尾数以规格化数表示 用补码表示时 123 625 的表 示形式为 A 0111100001000110 B 0111111111011010 C 0111100001000101 D 1000000001000110 24 从功能上 8086 的 CPU 由 两部分组成 A SP ALU B 控制器 FLAGS C EU BIU D EU ALU 25 标志寄存器 FLAGS 中存放两类标志 即 A 符号标志 溢出标志 B 控制标志 状态标志 C 方向标志 进位标志 D 零标志 奇偶标志 26 若 AL 3BH AH 7DH 则 AL 和 AH 中的内容相加后 标志 CF SF 和 OF 的状态分别是 A 0 1 1 B 1 1 1 C 0 0 0 D 1 1 0 27 若 AL 3BH AH 7DH 则 AL 和 AH 中的内容相减后 标志 CF AF 和 PF 的状态分别是 A 0 0 1 B 1 1 1 C 0 1 0 D 1 0 0 28 下列有关指令指针寄存器的说法中 哪一个是正确的 A IP 存放当前正在执行的指令在代码段中的偏移地址 B IP 存放下一条将要执行的指令在代码段中的偏移地址 C IP 存放当前正在执行的指令在存储器中的物理地址 D IP 存放当前正在执行的指令在存储器中的段地址 29 最小模式时 当 M IO 为低电平时 表示 CPU 正在对 进行访问 A 存储器 B I O 端口 C 外部存储器 D EPROM 30 下面有关 MN MX 的叙述正确的是 A 是工作模式选择信号 由 CPU 产生 为高电平时 CPU 工作在最小模式 为低电平时 CPU 工作在最大模式 B 是工作模式选择信号 由 CPU 产生 为低电平时 CPU 工作在最小模式 为高电平时 CPU 工作在最大模式 C 是工作模式选择信号 由外部输入 为低电平时 CPU 工作在最小模式 为高电平时 CPU 工作在最大模式 D 是工作模式选择信号 由外部输入 为高电平时 CPU 工作在最小模式 为低电平时 CPU 工作在最大模式 31 某 CPU 的主频为 250MHZ 则它的时钟周期为 A 250ns B 50ns C 40ns D 4ns 32 如果访问存储器时使用 BP 寻址 则默认的段寄存器是 A CS B ES C DS D SS 33 某单元在数据段中 已知 DS 1000H 偏移地址为 1200H 则它的物理地址为 A 10000H B 11200H C 12100H D 13000H 34 某系统中 已知 SS 2360H SP 0800H 若将 20H 个字节的数据入栈 则 SP 的内容为 A 0780H B 0820H C 23E20H D 07E0H 35 某系统中 已知建立堆栈时 SS 2360H SP 0800H 经过一段时间后 SP 的内容变为 0700H 则堆栈中有多少个字的数据 A 80H B 50H C 100 D 100H 36 设某一个单元的物理地址是 54321H 则正确的逻辑地址表示为 A 4321H 50000H B 54320H 1H C 5430H 0021H D 5432H 00001H 37 如果一个程序在执行前 CS 1000H IP 2000H 该程序的起始地址是 A 3000H B 12000H C 21000H D 1000H 38 如果一个堆栈从地址 1250H 0100H 开始 SP 0050 则 SS 的段地址是 A 12600H B 1260H C 1265H D 125BH 39 若已知 X 补 11101011B Y 补 01001010B 则 X Y 补 A 10100001B B 11011111B C 10100000B D 溢出 二 判断题二 判断题 1 80486 的逻辑段不允许有段的重叠和交叉 2 在 80486 的 32 位标志寄存器中 其每一位都有一定的含义 3 若一个数据块的起始地址为 20A0H 0F6H 则该数据块起始地址的实际地址是 21B60H 4 SP 的内容可以不指向堆栈的栈顶 5 寄存器寻址其运算速度较低 6 字长是描述 CPU 数据总线宽度的指标 7 计算机的堆栈是一种特殊的数据存储区 数据存取采用先进先出的原则 8 当运算结果各位全部为零时 标志 ZF 0 9 逻辑地址不是物理地址 但它是唯一的 三 填空题三 填空题 1 计算机是通过 总线把各个部件连接在一起 构成一个系统 2 8086 的数据总线是 位 地址总线是 位 3 PC 机主存储器中的基本存储单元的长度是 4 80486 可访问 8 位 和 位的寄存器 5 在微处理器的实地址方式下 段寄存器的作用是 6 若一个数中含有 3 个 1 则其奇偶标志为 8 80486 工作在实模式下时 若需对堆栈区进行操作 其物理地址是由 和 组合产 9 程序设计中使用的地址称为 而 CPU 对存储器单元进行操作时使用的地址称为 10 按存储器的分级原则 其容量最大的一级存储器成为 11 按存储器的分级原则 其速度最快的一级存储器成为 12 微机的主要性能指标中 字长是指 13 微型计算机由 和 两大部分组成 14 上电复位时 若 CPU 的 CS 0FFFFH IP 0000H 则第一条指令从 H 方取 15 8088 与外部交换数据的总线宽度是 位 与寄存器组之间的数据总线宽度是 位 EU 内部总线宽度是 位 16 设 AL 80H AH 83H AL 和 AH 中的内容相加后 CF OF ZF PF AF SF 17 8086 8088 将整个存储空间划分为许多逻辑段 每个逻辑段容量在 以内 各个逻辑段 相互重叠 18 8086 8088 中 某单元只能有一个 地址 但可以有多个 地址 19 如果对堆栈进行操作 则段基址来源于 偏移地址来源于 20 某存储单元物理地址为 32413H 则相对于段地址为 3000H 其偏移地址为 若 它的偏移地址是 1003H 则其段地址为 21 在 8086 8088 系统中 所有读写存储器或 I O 端口操作都是由 通过系统总线完 成的 四 简答题四 简答题 1 简述 EU 和 BIU 的主要功能 2 8086 和 8088 的主要区别是什么 第第1 1 章章 微 型 计 算 机 基 础 知 识微 型 计 算 机 基 础 知 识 一 一 选择题选择题 a 1 D 2 C 3 B 4 D 5 C 6 B b 7 D 8 C 9 D 10 A 11 B 12 C c 13 D 14 A 15 B 16 D 17 D 18 D d 19 C 20 D 21 A 22 B 23 A 24 C e 25 B 26 A 27 B 28 B 29 B 30 C f 31 D 32 D 33 B 34 D 35 A 36 C g 37 B 38 B 39 A 二 二 判断题判断题 2 1 2 3 4 5 6 7 8 9 三 三 填空题填空题 1 地址 数据 控制 3 2 16 20 2 字节 4 4 16 32 5 5 存放段基址 6 6 1 7 8 SS SP 8 9 逻辑地址 物理地址 9 10 外存 10 11 寄存器 11 12 一次能处理的二进制位数 12 13 软件 硬件 13 14 FFFF0H 14 15 8 8 16 15 16 1 1 0 1 0 0 16 17 64KB 可以 17 18 物理 逻辑 18 19 SS SP 19 20 2413H 3141H 20 21 BIU 总线接口单元 四 四 简答题简答题 1 参考答案 EU 的主要功能是执行指令 完成指令规定的所有操作 BIU 的 主要功能是负责与存储器或 I O 端口的信息传输 它们可以并行操作 2 参考答案 8086BIU 中指令队列长度是 6B 一旦指令队列空出 2B BIU 将 自动读取指令 而 8088BIU 中指令队列长度是 4B 只要指令队列出现一个空闲字节 BIU 都将自动读 取指令 8088BIU 与外部交换数据的总线宽度是 8 位 总线控制电路与专用寄存器间的数据总线也是 8 位 在 EU 内部则是 16 位 而 8086CPU 则都是 16 位的 第第2 2 章章 指 令 系 统 及 汇 编 语 言 程 序 设 计指 令 系 统 及 汇 编 语 言 程 序 设 计 一 选择题一 选择题 1 指令 ADD CX 55H BP 的源操作数的寻址方式是 A 寄存器寻址 B 直接寻址 C 寄存器间接寻址 D 寄存器相对寻址 2 设 SS 3300H SP 1140H 在堆栈中压入 5 个字数据后 又弹出两个字数据 则 SP A 113AH B 114AH C 1144H D 1140H 3 若 SI 0053H BP 0054H 执行 SUB SI BP 后 则 A CF 0 OF 0 B CF 0 OF 1 C CF 1 OF 0 D CF 1 OF 1 4 已知 BP 0100H DS 7000H SS 8000H 80100H 24H 80101H 5AH 70100H 01H 70101H 02H 指令 MOV BX BP 执行后 BX A 0102H B 0201H C 245AH D 5A24H 5 实模式下 80486CPU 对指令的寻址由 决定 A CS IP B DS IP C SS IP D ES IP 6 使用 80486 汇编语言的伪操作指令定义 VAL DB 2 DUP 1 2 3 DUP 3 2 DUP 1 0 则在 VAL 存储区内前十个字节单元的数据是 A 1 2 3 3 2 1 0 1 2 3 B 1 2 3 3 3 3 2 1 0 1 C 2 1 2 3 3 2 1 0 D 1 2 3 3 3 1 0 1 0 1 7 下列四条指令都可用来使累加器清 0 但其中不能清 进位 位的是 A XOR AL AL B AND AL 0 C MOV AL 0 D SUB AL AL 8 若 AX 96H BX 65H 依次执行 ADD AX BX 指令和 DAA 指令后 AL A 0FBH B 01H C 61H D 0BH 9 下列能使 CF 标志置 1 的指令是 A CMC B CLC C STC D CLD 10 MOV AX BP SI 隐含使用的段寄存器是 A CS B DS C ES D SS 11 设 AL 7FH 要使 AL 80H 应使用下列哪一条指令 A AND AL 80H B OR AL 80H C XOR AL 80H D NOT AL 12 在执行十进制调整指令 DAA DAS 之前必须将结果存放于 中 A AX B AH C AL D BL 13 下列指令执行后影响标志位的是 A MOV B PUSH C ADD D XCHG 14 唯一能对应存储单元的地址是 A 物理地址 B 端口地址 C 有效地址 D 逻辑地址 15 计算机能直接执行的语言是 A 机器语言 B 汇编语言 C 高级语言 D 程序设计语言 16 需采用先进后出原则操作的存储区是 A 寄存器组 B 地址缓冲器 C 数据寄存器 D 堆栈区 17 寄存器 SP 用于对 的操作 A 空闲单元 B 堆栈单元 C 数据单元 D 指令单元 18 若 BX 1000H DS 2000H 21000H 12H 21001H 34H 执行 LEA SI BX 指令后 SI 寄存器的内容是 A 1234H B 3412H C 1000H D 0010H 19 若 AL 80H 执行 NEG AL 指令后 CF 和 OF 标志位的状态分别为 A 0 和 0 B 0 和 1 C 1 和 0 D 1 和 1 20 若要完成 AX 7 2 运算 则在下列四条指令之后添加 指令 MOV BX AX MOV CL 3 SAL AX CL SUB AX BX A ROR AX 1 B SAL AX 1 C SAR AX 1 D DIV AX 2 21 在保护模式下 代码段的段基址存在于 中 A 段选择符 B 指令指针寄存器 C 段寄存器 D 段描述符 22 查表指令 XLAT 规定 待查表的首址应存入 中 A BP B SI C DI D BX 23 将要取的某一条指令的偏移地址由 提供 A SI B BP C SP D IP 24 寄存器间接寻址方式中 操作数在 中 A 通用寄存器 B 堆栈 C 主存单元 D 段寄存器 25 运算型指令的寻址和转移型指令的寻址 其不同点在于 A 前者取操作数 后者决定程序的转移地址 B 后者取操作数 前者决定程序的转移地址 C 两者都是取操作数 D 两者都是决定程序的转移地址 26 JMP WORD PTR DI 是 A 段内间接转移 B 段间间接转移 C 段内直接转移 D 段间直接转移 27 INC 指令不影响 标志 A OF B CF C SF D ZF 28 逻辑移位指令 SHL 用于 A 带符号数乘 2 B 带符号数除 2 C 无符号数乘 2 D 无符号数除 2 29 算术移位指令 SAR 用于 A 带符号数乘 2 B 带符号数除 2 C 无符号数乘 2 D 无符号数除 2 30 下列指令中 有语法错误的是 A MOV SI AX B IN AL DX C XOR AX 1234H D OUT 210H AL 31 在下列伪指令中定义字变量的是 A DD B DW C DQ D DT 32 下列指令中 能使 AL 的内容固定为偶数的是 A ADD AL 01 H B OR AL 0FEH C AND AL 0FEH D XOR AL 0FEH 33 改变 寄存器的值 可改变堆栈中栈顶元素的位置 A BP B IP C SP D BX 34 加减类运算指令对标志位的状态 A 有影响 B 部分影响 C 无影响 D 任意 35 当 AH 时 执行 INT 21H 指令可在屏幕上显示一组字符 A 01H B 02H C 09H D 0AH 36 已知 VAR DW 1 2 2 5 6 若汇编时 VAR 分配的偏移地址是 2010 和 则汇编 后 2014H 单元的内容是 A 6H B 14H C 5H D 16H 37 若某数据段位于存储区 68000H 7FFFFH 则该数据段的段基址是 A 68000H B 7FFFFH C 6000H D 6800H 38 SP 的作用是用来指示 A 栈顶元素的有效地址 B 下一条要执行指令的地址 C 下一条要取的指令的地址 D 栈底元素的有效地址 39 在数据传送指令执行过程中 不能直接与立即数进行传送的是 A 通用寄存器 B 段寄存器 C 存储器 D 通用寄存器和存储器 40 转移类指令对标志位的状态 A 有影响 B 部分影响 C 无影响 D 随意 41 欲从存储单元取某操作数 可采用 A 寄存器寻址 寄存器间接寻址 B 立即寻址 直接寻址 C 立即寻址 寄存器间接寻址 D 寄存器间接寻址 直接寻址 42 在指令 MOV AX 0 执行后 CPU 状态标志位 ZF 的取值 A 为 0 B 为 1 C 不确定 D 不改变 43 已知 AL 10010111H BL 00010101H 执行 ADD AL BL 指令后 OF SF CF ZF 标志的状态为 A 1 0 1 1 B 1 1 0 0 C 0 0 1 1 D 0 1 0 1 44 下列指令中 错误的是 A MOV BX OFFSET BUF B LEA SI BUF C LEA DI OFFSET BUF D MOV BP SEG BUF 45 输入 输出指令对标志位的状态 A 有影响 B 部分影响 C 无影响 D 任意 46 下列描述正确的是 A 汇编语言仅由指令性语句组成 B 汇编语言包括指令性语句和伪指令语句 C 指令性语句和伪指令语句的格式是完全相同的 D 指令性语句和伪指令语句需经汇编程序翻译成机器代码后才能执行 47 下列指令中不属于逻辑运算指令的是 A XOR B CWD C NOT D OR 48 假定 DX 10111001B CL 3 CF 1 则执行指令 SHL DX CL 后 DX 的值为 A 005CH B 0017H C 1700H D 05C8H 49 下列指令中不会改变指令指针寄存器内容的是 A MOV B JMP C CALL D RET 50 伪指令 ENDP 告诉汇编程序 A 宏定义结束 B 过程定义结束 C 段定义结束 D 过程运行结束 51 利用 DOS 系统功能调用的 9 号 AH 9 功能 显示一个字符串 其入口参数应为 A DS DX 字符串首地址 B DS DX 字符串末地址 C CS DX 字符串首地址 D CS DX 字符串末地址 52 在下列伪指令中定义双字变量的是 A DB B DW C DD D DT 二 判断题二 判断题 1 指令 MOV AX BX 的源操作数是寄存器寻址方式 2 对堆栈区的操作必须遵循先进先出的原则 3 比较两个带符号数的大小 可根据 CF 标志来判断 4 逻辑操作符 AND OR XOR 和 NOT 只能用于数字表达式 5 不能给段寄存器赋立即数 6 OF 位可用来表示有符号数的溢出 7 无条件转移指令只能用于段内直接转移 8 MOV AX BP 的源操作数的物理地址为 16 DS BP 9 指令 MOV DI OFFSET BX SI 是正确的 10 指令 MOV CS BX 是非法的 11 指令 NOT AX BX 是合法的 12 MOV BX BP AX 是对的 13 80486 中对堆栈单元的存取操作是以字节为单位的 14 JMP 指令要影响标志位 15 INC 指令影响所有状态标志 16 欲交换寄存器 SI DI 的内容 可用指令 XCHG SI DI 实现 17 CPU 中的程序计数器 IP 中存放的是指令的逻辑地址 18 两个符号相同的数相减不会产生溢出 19 汇编程序就是汇编语言程序 20 相对寻址中的位移量只能用 16 位表示 21 CLD 指令是 MOVSB 指令的使用条件之一 22 段寄存器间不能直接进行数据传送 23 要把变量 BUFF 的有效地址送给 BX 可用 MOV BX BUFF 指令 24 当对堆栈段的数据进行操作时 其操作数的有效地址可保存在 BP 中 25 TEST 指令属于逻辑运算指令 26 CS 和 IP 都不能作传送指令的目的操作数 三 填空题 1 若 SS 5310H SP 0E30H 其物理地址为 2 若 CH 07H CL 08H 执行指令 ADD CH CL 后 AF CF OF PF 3 指令由 和 两个字段构成 4 条件转移指令 JNE 的测试条件是 5 若用指针 BP 访问存储器 则数据包含在 段中 6 若 AX 1234H SP 1000H 指令 PUSH AX 执行后 AX SP 7 指令采用 寻址方式时操作数是在代码段中 四 阅读程序四 阅读程序 1 程序中数据定义如下 DATA1 DW DATA2 DB 32 DUP DATA3 DD COUNT EQU DATA1 此时 COUNT 的值是 2 分析下列程序段 说出其功能 MOV AX 1000H MOV DS AX MOV ES AX MOV SI 0100H MOV DI 0200H MOV CX 50D REP MOVSB 3 写出下列程序段的功能 MOV BX 2000H MOV DS BX XOR AL AL MOV CX 100 AGAIN MOV BX AL INC BX LOOP AGAIN 4 写出下列程序段的功能 LEA SI BUFFER LEA DI ARRAY MOV CX 100 XOR BL BL LP CMP SI 01H JNZ LP1 INC BL LP1 INC SI LOOP LP MOV DI BL 5 写出下列程序段的功能 MOV CX 16 MOV AX N MOV BH 0 LP0 SHL AX 1 JC LP INC BH LP LOOP LP0 MOV SUM BH 6 写出下列程序段的功能 MOV AL N AND N 0FH MOV BL N SHR AL 4 MOV BH AL 7 执行下列程序段后 AX MOV AX 0702H MOV BH 09H AAD DIV BH 8 下面程序段执行后 AL ABC DW 2152H 3416H 5731H 4684H MOV BX OFFSET ABC MOV AL 3 XLAT 9 执行下面的程序段后 AX MOV CX 5 MOV AX 50 NEXT SUB AX CX LOOP NEXT HLT 10 执行下面的程序段后 AX TAB DW 1 2 3 4 5 6 ENTRY EQU 6 MOV BX OFFSET TAB ADD BX ENTRY MOV AX BX 11 执行下面程序段后 AX ARRAY DW 1 2 3 4 5 6 7 8 9 10 COUNT EQU ARRAY XOR AX AX MOV CX COUNT MOV SI OFFSET ARRAY NEXT ADD AX SI INC SI LOOP NEXT 12 写出下列程序段的功能 MOV AH 1 INT 21H AND AL 0FH MOV BL AL MOV AH 1 INT 21H SHL AL 4 AND AL BL 将从键盘接受到的两个字符拼在一起 13 执行下列程序段后 N DB 07H XOR BH BH MOV BL N RCL BL 1 ADD BH BL XOR BH 0FFH HLT 寄存器 BH 的值是 寄存器 BL 的值是 14 分析下列程序段 MOV AL N XOR AH AH MOV CL 4 DIV CL 当 N 3CH 时 程序执行完后 AX 15 程序段如下 CLC MOV AL 6 MOV BL 9 ADD AL BL MOV BL AL DAA 执行上面程序段后 AL AF BL 16 执行下列指令后 TABLE DB 19H 55H 9CH LEA BX TABLE MOV AL BX XOR AL 89H MOV BX AL 寄存器 AL 的值是 17 分析下列程序段 说明该程序段执行何种功能 MOV CX 10 MOV DL 30H NEXT1 MOV AH 2 INT 21H INC DL LOOP NEXT1 18 执行下列指令后 MOV AX 1245H MOV BX 5689H ADD AL BL MOV CL AL MOV AL AH ADC AL BH DAA 寄存器 AL 的值是 寄存器 CL 的值是 19 分析下列程序段 MOV AL N XOR AH AH MOV BL 16 DIV BL 当 N 57H 时 程序执行完后 AX 20 在下面程序的括号中分别填入如下指令 LOOP XH LOOPNE XH LOOPE XH 问在这三种情况下 当程序执行完后 AX BX CX DX 四个寄存器中的内容分别是什 么 START MOV AX 04 MOV BX 02 MOV CX 03 MOV DX 05 XH INC AX ADD BX AX SHR DX 1 HLT 21 阅读程序 请说出该程序的功能是什么 MOV AX DATA MOV DS AX LEA SI BUFFER XOR BL BL MOV CX 100 AGAIN MOV AL SI TEST AL 1 JNZ NEXT INC BL NEXT INC SI LOOP AGAIN HLT 22 从键盘上接收一字符 若是 Y 转 YES 是 N 转 NO 否则继续等待 到输入 Y 或 N 为止 程序段如下 MOV AL N AND AL 0FH ADD AL 90H DAA ADC AL 40H MOV RUT AL HLT 问 若 N 5 下列程序执行后 AL 该程序段的功能是什么 23 执行下列程序段后 DATA SEGMENT DT1 LABLE WORD DT2 DB 12H 34H DATA ENDS MOV AL DT2 MOV DX DT1 寄存器 AL 的值是 寄存器 DX 的值是 24 读下列程序 请说出该程序的功能是什么 DATA SEGMENT SUM DW 0 DATA ENDS STACK SEGMENT DB 200 DUP STACK ENDS CODE SEGMENT ASSUME DS DATA SS STACK CS CODE START MOV AX DATA MOV DS AX MOV CX 50 MOV AX 0 MOV BX 1 NEXT ADD AX BX INC BX INC BX DEC CX JNE NEXT MOV SUM AX MOV AH 4CH INT 21H CODE ENDS END START 25 设伪指令定义如下 请画出内存分配示意图 BUF DB DW AB DW C DW 1234H DB EF 26 执行下列程序段后 DATA SEGMENT DT1 DW 8A9BH DT2 DB 7CH 6DH DATA ENDS MOV AX DT1 MOV BX OFFSET DT1 MOV SI OFFSET DT2 寄存器 BX 的值是 寄存器 SI 的值是 27 执行下列指令后 TABLE DB 10H 33H 41H MOV BX OFFSET TABLE MOV AL BX XOR AL 80H MOV BX AL 寄存器 AL 的值是多少 28 执行下列程序段后 DATA SEGMENT N1 DW 3355H N2 DB 23H 89H DATA ENDS MOV AX N1 MOV DI OFFSET N1 MOV BP OFFSET N2 寄存器 DI 的值是多少 寄存器 BP 的值是多少 29 执行下列指令后 DAT DB 10H 33H 41H LEA BX DAT MOV AX SEG DAT MOV ES AX MOV AL ES BX XOR AL 80H MOV ES BX AL 寄存器 AL 的值是多少 30 执行下列程序段后 BUF DB 01H XOR AL AL MOV AL BUF MOV BL AL SAL AL 1 ADD AL BL XOR AL 0FFH HLT 寄存器 AL 的值是多少 寄存器 BL 的值是多少 五 程序填空五 程序填空 1 下列程序是在键盘上输入 120 个字符 然后将输入反序后显示在屏幕上 请将程 序填写完整 STACK1 SEGMENT STP DW 120 DUP STACK1 ENDS CODE SEGMENT ASSUME CS CODE SS STACK1 START MOV AX STACK1 MOV SS AX MOV SP SIZE STP MOV CX 120 LOOP1 MOV AH 01H INT 21H PUSH AX MOV DL 0AH MOV AH 02H INT 21H MOV DL 0DH INT 21H MOV CX 120 LOOP2 MOV AH 02H INT 21H LOOP LOOP2 MOV AH 4CH INT 21H CODE ENDS END START 六 编写程序六 编写程序 1 在 STR 到 STR 49 单元中存放着一个字符串 试编写一个程序 测试字符串中是否 存在数字 如有 则把 DL 的第五位置 1 否则将该位置 0 2 试编程实现 从键盘接收 N 个 N 60 8 位二进制数 统计其中奇数的个数 并 将结果显示在屏幕上 3 已知有 100 字节的数据块存放在以 5C10H 2000H 开始的存储区内 要求编写一个 完整程序将数据移动到以 5C10H 2008H 开始的存储区内 4 数组 A 包含 100 个互不相等的整数 数组 B 包含 150 个互不相等的整数 试编程 实现将数组 A 和数组 B 都有的整数存放在数组 C 中 5 在以 BASE 起始的表中存有一组字符 它以 回车 0DH 结束 请编写程序 实现从该表中查找关键字 KEY 设关键字 KEY 在 AL 中 并将找到的第一个关键字偏 离表首的位置存放在寄存器 DX 中 若无此关键字 DX 返回值为 1 6 编写一个中断程序 实现人机对话 要求执行程序时 显示 WHAT IS YOUR NAME 在回车换行后 接收键盘输入信息 并显示 7 编写程序找出 BUF 数据区中 50 个带符号数的最大值和最小值 并分别存入 MAX 和 MIN 单元 8 试编程实现从键盘接收 N 个 N 50 8 位二进制数 统计偶数的个数及偶数之和 并将统计的个数以十进制方式显示在屏幕上 9 以 STRING 起始的字符串的最大长度为 80 个字符 字符串的结束用字符 表示 编 写程序在该字符串中查找是否有空格符 ASCII 码为 20H 若有就将第一个空格字 符串中的位置 00H 4FH 存入 POST 单元 若无空格则将 1 存入 POST 10 BUFFER 字节数组中存有一组无序列字节数数据 列的长度表示在 BUFFER 的第一 个字节中 KEY 中为一个字节数据 编写程序在 BUFFER 中查找有无 KEY 若有就结束 若没有就将 KEY 加入到 BUFFER 中去 并修改列的长度 11 利用移位及数据循环指令完成将 DH AL 中的 16 位二进制乘以 8 的运算 结果仍 存入 DH AL 中 12 分别从键盘上接收两长度相等的组数 A 和 B 试完成两数组的求和任务 将结果 存放在数组 C 中 并显示在屏幕上 13 编写程序 将键盘输入的小写字母用大写字母显示出来 14 要求从键盘接收一个十进制数字 然后找出它的前导数字和后继数字 并按相反 的顺序显示输出 15 设在变量 X Y Z 中存放有三个数 若三个数都不为 0 则求出三个数之和存入 U 中 若有一个为 0 则将其它两个单元也清零 编写此程序 16 求出首地址为 DATA 的 M 个字节的无符号数组中最小奇数 并把它存放于 DL 中 第第 2 2 章章 指令系统及汇编语言程序设计指令系统及汇编语言程序设计 一 选择题一 选择题 1 D 2 A 3 C 4 D 5 A 6 D 7 C 8 C 9 C 10 D 11 D 12 C 13 C 14 A 15 A 16 D 17 B 18 C 19 C 20 C 21 D 22 D 23 D 24 C 25 A 26 A 27 B 28 C 29 B 30 D 31 B 32 C 33 C 34 A 35 C 36 D 37 D 38 A 39 B 40 C 41 D 42 D 43 B 44 C 45 C 46 B 47 B 48 D 49 A 50 B 51 A 52 C 二 判断题二 判断题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 三 填空题三 填空题 1 53F30H 2 0 0 0 1 3 操作码 操作数 4 ZF 0 5 SS 6 1234H 0FFEH 7 立即 四 阅读程序四 阅读程序 1 38 或 26H 2 将以 10100H 起始的 50 个单元的内容传送至以 10200H 起始的 50 个单元中 3 将数据段中以 2000H 起始的 100 个单元中的内容清零 4 统计以 BUFFER 为首址的 100 个单元中数字为 1 的个数存入 ARRAY 单元 5 统计 N 字中 0 的个数 6 将 N 的内容拆为两部分分别存入 BH BL 中 7 AX 0008H 8 AL 34H 9 AX 23H 10 AX 0004H 11 AX 0055H 12 将从键盘接受到的两个字符拼在一起 13 BH 0FFH BL 0EH 14 AX 000FH 15 AL 15H AF 1 BL 0FH 16 90H 17 向屏幕上依次输出 0 1 9 18 AL 68H CL CEH 19 AX 0705H 20 AX 0007H BX 0014H CX 0 DX 0 AX 0007H BX 0014H CX 0 DX 0 AX 0005H BX 0007H CX 0002H DX 0002H 21 程序的功能是 统计以 BUFFER 为起始地址的 100 个单元中偶数的个数 22 35H 将十六进制数转换为 ASCII 码 23 12H 3412H 24 程序的功能是 求从 1 开始的 50 个奇数之和 25 如下图 26 0000H 0002H 27 AL 90H 28 DI 0000H BP 0002H 29 AL 90H 30 AL 0FCH BL 1 五 程序填空五 程序填空 1 LOOP LOOP1 POP AX MOV DL AL 六 编写程序六 编写程序 1 在 STR 到 STR 49 单元中存放着一个字符串 试编写一个程序 测试字符串中是否 存在数字 如有 则把 DL 的第五位置 1 否则将该位置 0 DATA SEGMENT STR1 DB 50 DUP DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA MAIN PROC FAR START PUSH DS MOV AX 0 PUSH AX MOV AX DATA MOV DS AX BEGIN MOV CX 50 MOV SI 0 REP1 MOV AL STR1 SI CMP AL 30H JB GO CMP AL 39H JA GO OR DL 20H JMP EXIT GO INC SI LOOP REP1 AND DL 0DFH EXIT RET MAIN ENDP CODE ENDS END START 2 试编程实现 从键盘接收 N 个 N 60 8 位二进制数 统计其中奇数的个数 并将 结果显示在屏幕上 DATA SEGMENT KEY DB 61 KEY1 DB KEY2 DB 61 DUP DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA START MOV AX DATA MOV DS AX MOV DX OFFSET KEY MOV AH 0AH INT 21H MOV AL 0 LEA SI KEY2 MOV CH 0 MOV CL KEY1 LP0 MOV BL SI TEST BL 01H JZ LP1 ADD AL 01H DAA LP1 INC SI LOOP LP0 MOV BL AL MOV CL 4 SHR AL CL ADD AL 30H MOV DL AL MOV AH 02H INT 21H AND BL 0FH ADD BL 30H MOV DL BL MOV AH 02H INT 21H MOV AH 4CH INT 21H CODE ENDS END START 3 已知有 100 字节的数据块存放在以 5C10H 2000H 开始的存储区内 要求编写一个完 整程序将数据移动到以 5C10H 2008H 开始的存储区内 参考程序 CODE SEGMENT ASSUME CS CODE MAIN MOV AX 5C10H MOV ES AX MOV DS AX MOV SI 2063H MOV DI 206BH STD MOV CX 100 REP MOVSB MOV AH 4CH INT 21H CODE ENDS END MAIN 4 数组 A 包含 100 个互不相等的整数 数组 B 包含 150 个互不相等的整数 试编程实 现将数组 A 和数组 B 都有的整数存放在数组 C 中 参考程序 DAT SEGMENT A DB 100 DUP B DB 150 DUP C DB 150 DUP N DW 00H DAT ENDS COD SEGMENT ASSUME CS COD DS DAT ES DAT START MOV AX DAT MOV DS AX MOV ES AX CLD LEA SI B MOV DX 150 LP0 MOV CX 100 LEA DI A MOV AL SI REPNZ SCASB JNZ LP1 LEA BX C ADD BX N MOV BX AL INC N LP1 INC SI DEC DX JNZ LP0 MOV AX 004CH INT 21H COD ENDS END START 5 在以 BASE 起始的表中存有一组字符 它以 回车 0DH 结束 请编写程序 实 现从该表中查找关键字 KEY 设关键字 KEY 在 AL 中 并将找到的第一个关键字偏 离表首的位置存放在寄存器 DX 中 若无此关键字 DX 返回值为 1 LEA DI BASE MOV DX 1 LOP MOV BL DI CMP BL 0DH JZ DONE CMP BL AL JZ LOP1 INC DI JMP LOP LOP1 MOV DX DI DONE HLT 6 编写一个中断程序 实现人机对话 要求执行程序时 显示 WHAT IS YOUR NAME 在回车换行后 接收键盘输入信息 并显示 提示 使用 09H 和 0AH 功 能调用 DATA SEGMENT BUF DB 81 DB DB 81 DUP MESG DB WHAT IS YOUR NAME 0AH 0DH DB DATA ENDS STACK SEGMENT PARA STACK STACK DB 100 DUP STACK ENDS CODE SEGMENT ASSUME CS CODE DS DATA SS STACK START PROC FAR PUSH DS MOV AX 0 PUSH AX MOV AX DATA MOV DS AX DISP MOV DX OFFSET MESG MOV AH 09H INT 21H KEYBI MOV DX OFFSET BUF MOV AX 0AH INT 21H LF MOV DL 0AH MOV AH 02H INT 21H DISTR MOV DX OFFSET BUF 2 MOV AH 09H INT 21H RET START ENDP CODE ENDS END START 7 编写程序找出 BUF 数据区中 50 个带符号数的最大值和最小值 并分别存入 MAX 和 MIN 单元 参考程序如下 DATA SEGMENT BUF DB 50 DUP MAX DB MIN DB CONT EQU BUF DATA ENDS STACK SEGMENT TP DB 100 DUP STACK ENDS CODE SEGMENT ASSUME CS CODE DS DATA SS STACK MAIN PROC FAR START PUSH DS SUB AX AX PUSH AX MOV DS AX LEA BX BUF MOV CX CONT 1 MOV AL BX MOV AH BX 1 INC BX CMP AH AL JGE LOP1 XCHG AH AL

温馨提示

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

评论

0/150

提交评论