计算机专业--微机原理与接口技术(钱晓捷版)课后习题答案
系统标志:用于控制处理器执行指令的方式。
状态标志在标志寄存器EFLAGS中的位置和含义如下:
31 11 1
9 8 7 6 5 4 3 2 1 0 〔习题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处理器有代码段、数据段、堆栈段三类基本段。
代码段:存放程序的指令代码。程序的指令代码必须安排在代码段,否则将无法正常执行。
数据段:存放当前运行程序所用的数据。程序中的数据默认是存放在数据段,也可以存放在其他逻辑段中。