微机原理与接口技术(钱晓捷版)课后习题答案(2)

2019-04-14 18:02

系统标志:用于控制处理器执行指令的方式。

状态标志在标志寄存器EFLAGS中的位置和含义如下:

31 …… 11 OF 10 9 8 7 SF 6 ZF 5 4 AF 3 2 PF 1 0 CF 〔习题2.7〕

举例说明CF和OF标志的差异。 〔解答〕

进位标志CF表示无符号数运算结果是否超出范围,超出范围后加上进位或借位,运算结果仍然正确;溢出标志OF表示有符号数运算结果是否超出范围,如果超出范围,运算结果已经不正确。

例1:3AH + 7CH=B6H

无符号数运算:58+124=182,范围内,无进位。 有符号数运算:58+124=182,范围外,有溢出。 例2:AAH + 7CH=①26H

无符号数运算:170+124=294,范围外,有进位。 有符号数运算:-86+124=28 ,范围内,无溢出。 〔习题2.8〕

什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达(均为十六进制形式):

① FFFF∶0 ② 40∶17 ③ 2000∶4500 ④ B821∶4567 〔解答〕

物理地址:在处理器地址总线上输出的地址称为物理地址。每个存储单元有一个唯一的物理地址。

逻辑地址:在处理器内部、程序员编程时采用逻辑地址,采用“段地址:偏移地址“形式。某个存储单元可以有多个逻辑地址,即处于不同起点的逻辑段中,但其物理地址是唯一的。

逻辑地址转换成物理地址:逻辑地址由处理器在输出之前转换为物理地址。将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址。

① FFFFH:0=FFFF0H ② 40H:17H=00417H

③ 2000H:4500H=24500H ④ B821H:4567H=BC777H 〔习题2.9〕

IA-32处理器有哪三类基本段,各是什么用途? 〔解答〕

IA-32处理器有代码段、数据段、堆栈段三类基本段。

代码段:存放程序的指令代码。程序的指令代码必须安排在代码段,否则将无法正常执行。

数据段:存放当前运行程序所用的数据。程序中的数据默认是存放在数据段,也可以存放在其他逻辑段中。

- -6

堆栈段:主存中堆栈所在的区域。程序使用的堆栈一定在堆栈段。 〔习题2.10〕

什么是平展存储模型、段式存储模型和实地址存储模型? 〔解答〕

平展存储模型下,对程序来说存储器是一个连续的地址空间,称为线性地址空间。程序需要的代码、数据和堆栈都包含在这个地址空间中。

段式存储模型下,对程序来说存储器由一组独立的地址空间组成,独立的地址空间称为段。通常,代码、数据和堆栈位于分开的段中。

实地址存储模型是8086处理器的存储模型。它是段式存储模型的特例,其线性地址空间最大为1MB容量,由最大为64KB的多个段组成。 〔习题2.11〕

什么是实地址方式、保护方式和虚拟8086方式?它们分别使用什么存储模型? 〔解答〕

实地址方式:与8086具有相同的基本结构,只能寻址1MB物理存储器空间,逻辑段最大不超过64KB;但可以使用32位寄存器、32位操作数和32位寻址方式;相当于可以进行32位处理的快速8086。实地址工作方式只能支持实地址存储模型。

保护方式:具有强大的段页式存储管理和特权与保护能力,使用全部32条地址总线,可寻址4GB物理存储器。保护方式通过描述符实现分段存储管理,每个逻辑段可达4GB。处理器工作在保护方式时,可以使用平展或段式存储模型。

虚拟8086方式:在保护方式下运行的类似实方式的运行环境,只能在1MB存储空间下使用“16位段”。 处理器工作在虚拟8086方式时,只能使用实地址存储模型。 〔习题2.12〕

汇编语句有哪两种,每个语句由哪4个部分组成? 〔解答〕

汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。 每个语句有:标号、指令助记符、操作数或参数、注释4个部分组成。 〔习题2.13〕

汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。 〔解答〕

汇编语言程序的开发有4个步骤:

编辑:用文本编辑器形成一个以ASM为扩展名的源程序文件。 汇编:用汇编程序将ASM文件转换为OBJ模块文件。

连接:用连接程序将一个或多个目标文件链接成一个EXE或COM可执行文件。 调试:用调试程序排除错误,生成正确的可执行文件。 〔习题2.14〕

MASM汇编语言中,下面哪些是程序员可以使用的正确的标识符。 FFH,DS,0xvab,Again,next,@data,h_ascii,6364b,.exit,small 〔解答〕

FFH,Again,next,h_ascii 〔习题2.15〕

给出IA-32处理器的32位寻址方式和16位寻址方式的组成公式,并说明各部分作用。

- -7

〔解答〕

① 32位存储器寻址方式的组成公式

32位有效地址 = 基址寄存器+(变址寄存器×比例)+位移量 其中的4个组成部分是:

·基址寄存器??任何8个32位通用寄存器之一;

·变址寄存器??除ESP之外的任何32位通用寄存器之一;

·比例??可以是1,2,4或8(因为操作数的长度可以是1,2,4或8字节); ·位移量??可以是8或32位有符号值。 ② 16位存储器寻址方式的组成公式

16位有效地址 = 基址寄存器+变址寄存器+位移量

其中基址寄存器只能是BX或BP,变址寄存器只能是SI或DI,位移量是8或16位有符号值。 〔习题2.16〕

说明下列指令中源操作数的寻址方式?假设VARD是一个双字变量。 (1)mov edx,1234h (2)mov edx,vard (3)mov edx,ebx (4)mov edx,[ebx]

(5)mov edx,[ebx+1234h] (6)mov edx,vard[ebx] (7)mov edx,[ebx+edi]

(8)mov edx,[ebx+edi+1234h] (9)mov edx,vard[esi+edi] (10)mov edx,[ebp*4] 〔解答〕

① 立即数 ② 直接 ③ 寄存器

④ 寄存器间接 ⑤ 寄存器相对 ⑥ 寄存器相对 ⑦ 基址变址

⑧ 相对基址变址 ⑨ 相对基址变址 ⑩ 带比例寻址 〔习题2.17〕

使用本书配套的软件包(或者按照本书说明)创建MASM开发环境,通过编辑例题2-1和例题2-2程序、汇编连接生成可执行程序和列表文件,掌握汇编语言的开发。

第3章 数据处理

〔习题3.1〕简答题 〔解答〕

- -8

① 没有。使用二进制8位表达无符号整数,257没有对应的编码。 ② 字符“'F'”的ASCII码就是数值46H,所以没有区别。

③ 汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量。

④ 不能。数值500大于一个字节所能表达的数据量,所以不能为字节变量赋值。 ⑤ 源、目标寄存器位数不同,不能用该指令进行数据交换。

⑥ 前者在指令执行时获得偏移地址,是正确的;但后者的OFFSET只能在汇编阶段获得偏移地址,但此时寄存器内容是不可知的,所以无法获得偏移地址。

⑦ INC,DEC,NEG和NOT指令的操作数既是源操作数也是目的操作数。 ⑧ 大小写字母转换利用它们的ASCII码相差20H。

⑨ 加减法不区别无符号数和有符号数,但根据运算结果分别设置标志寄存器的CF和OF标志,可利用CF和OF进行区别。

⑩ 逻辑与运算规则类似二进制的乘法,所以称其为逻辑乘。 〔习题3.2〕判断题 〔解答〕

① 对 ⑥ 对

② 对 ⑦ 错 ③ 对 ⑧ 错 ④ 错 ⑨ 对 ⑤ 错 ⑩ 对

〔习题3.3〕填空题

〔解答〕

① BYTE,OFFSET ② 97,61,小写字母a

③ 0DH(13),0AH(10) ④ 8843H

⑤ DWORD,4,WORD PTR XYZ ⑥ 3

⑦ 78894111 ⑧ 0,0,0

⑨ 0123456788765432H,83H ⑩ 4 〔习题3.4〕

下列十六进制数表示无符号整数,请转换为十进制形式的真值: ① FFH ② 0H ③ 5EH ④ EFH 〔解答〕

① 255 ② 0 ③ 94 ④ 239 〔习题3.5〕

将下列十进制数真值转换为压缩BCD码: ① 12 ② 24 ③ 68 ④ 99 〔解答〕

- -9

① 12H ② 24H ③ 68H ④ 99H 〔习题3.6〕

将下列压缩BCD码转换为十进制数:

① 10010001 ② 10001001 ③ 00110110 ④ 10010000 〔解答〕

① 91 ② 89 ③ 36 ④ 90 〔习题3.7〕

将下列十进制数用8位二进制补码表示: ① 0 ② 127 ③-127 ④ -57 〔解答〕

① 00000000 ② 01111111 ③ 10000001 ④ 11000111 〔习题3.8〕

进行十六进制数据的加减运算,并说明是否有进位或借位: ① 1234H+7802H ② F034H+5AB0H ③ C051H-1234H ④ 9876H-ABCDH 〔解答〕

① 1234H+7802H=8A36H,无进位 ② F034H+5AB0H=4AF4H,有进位 ③ C051H-1234H=BE1DH,无借位 ④ 9876H-ABCDH=ECA9H,有借位 〔习题3.9〕

数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码0DH和0AH分别对应什么字符? 〔解答〕

数码0~9对应的ASCII码依次是30H~39H。

大写字母A~Z对应的ASCII码依次是:41H~5AH。 小写字母a~z对应的ASCII码依次是:61~7AH。 ASCII码0DH和0AH分别对应的是回车和换行字符。 〔习题3.10〕

设置一个数据段,按照如下要求定义变量或符号常量:

- -10


微机原理与接口技术(钱晓捷版)课后习题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:通达2号专项方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: