80X86页表寻址机制

合集下载

80x86指令格式

80x86指令格式
(3) 存储器操作数缺省数据类型,在16位指令模式时为字类型,在32位指令模式时为双字类型,在使用中如要改变字类型,应使用PTR伪指令来定义,即
字节类型 BYTE PTR [Reg]
字类型 WORD PTR [Reg]
双字类型 DWORD PTR [Reg]
(4) 段寄存器操作数(Seg)——为16位段寄存器,包括CS,DS,ES,SS,FS,GS。
3.2 80x86指令格式
3.2.180x86指令编码格式
指令编码格式是指指令的机器码表示格式,其最多可以由以下5部分组合构成:
一、前缀
指令前缀为地址长度前缀和操作数长度前缀。为了实现80x86系列的兼容性,在实方式和保护方式下均可执行16位或32位指令,在汇编程序汇编时,为某些指令附加指令前缀,可以将指令操作数或地址长度,由16位转移到32位,或由32位转移到16位。
(5) 立即数(imm)——只允许作为源操作数,其数据类型由目的操作数来限定。
(6) 注释——由分号(;)开始,用来对指令功能加以说明,使程序便于阅读,汇编程序对它不进行处理。
对于指令的分析,须注意以下4点:
·指令的功Leabharlann ; ·适用于指令的寻址方式;(Missed Code)
(2) 存储器操作数(Mem)——间接寻址时16位寻址寄存器包括BX,BP,SI,DI;32位寻址寄存器包括EAX,EBX,ECX,EDX,ESI,EDI,EBP。其中BX,SI,DI,EAX,EBX,ECX,EDX,ESI,EDI对应的缺省段寄存器为DS;BP,EBP对应的缺省段寄存器为SS。
例如 MOV Dest, Src
为数据传送指令,Src表示源操作数,Dest表示目的操作数,数据流动的方向是由Src源操作数传送到Dest目的操作数,操作数可以是寄存器或存储器操作数,有关操作数说明如下。

80X86汇编语言程序设计教程+课后习题答案(清华大学版)

80X86汇编语言程序设计教程+课后习题答案(清华大学版)

第二章答案Tarzan 版题2.1 8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门用途?哪些寄存器可作为存储器寻址方式的指针寄存器?答:8086/8088通用寄存器的通用性表现在:这些寄存器除了各自规定的专门用途外,他们均可以用于传送和暂存数据,可以保存算术逻辑运算中的操作数和运算结果;8个通用寄存器的专门用途如下:AX 字乘法,字除法,字I/OBX 存储器指针CX 串操作或循环控制中的计数器DX 字乘法,字除法,间接I/OSI 存储器指针(串操作中的源指针)DI 存储器指针(串操作中的目的指针)BP 存储器指针(存取堆栈的指针)SP 堆栈指针其中BX,SI,DI,BP可作为存储器寻址方式的指针寄存器题2.2 从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可访问的8位寄存器?答:从程序员的角度看,8086/8088有14个可访问的16位寄存器;有8个可访问的8位寄存器;题2.3 寄存器AX与寄存器AH和AL的关系如何?请写出如下程序片段中每条指令执行后寄存器AX的内容:MOV AX,1234HMOV AL,98HMOV AH,76HADD AL,81HSUB AL,35HADD AL,AHADC AH,ALADD AX,0D2HSUB AX,0FFH答: MOV AX,1234H AX=1234HMOV AL,98H AX=1298HMOV AH,76H AX=7698HADD AL,81H AX=7619HSUB AL,35H AX=76E4HADD AL,AH AX=765AHADC AH,AL AX=D15AHADD AX,0D2H AX=D22CHSUB AX,0FFH AX=D12DH题2.4 8086/8088标志寄存器中定义了哪些标志?这些标志可分为哪两类?如何改变这些标志的状态?答: 8086/8088标志寄存器中定义了9个标志,如下:CF: Carry FlagZF: Zero FlagSF: Sign FlagOF: Overflow FlagPF: Parity FlagAF: Auxiliary Carry FlagDF: Direction FlagIF: Interrupt-enable FlagTF: Trap Flag这些标志可分为两类,分别为:1、运算结果标志;2、状态控制标志;采用指令SAHF可把AH中的指定位送至标志寄存器低8位SF、ZF、AF、PF、CF;采用CLC可清除CF,置CF到0采用STC可置CF到1采用CLD可置DF到0采用sTD可置DF到1采用CLI可置IF到0采用STI可置IF到1另外,在某些指令执行过程中会改变部分标志的状态;题2.5 请说说标志CF和标志OF的差异。

X86机的原理构造及技术详解

X86机的原理构造及技术详解

X86机的原理构造及技术详解X86架构是计算机体系结构的一种,广泛应用于个人电脑和服务器领域。

它包含了一系列的指令集和硬件设计,为计算机的运行提供了基本框架。

下面将详细解析X86机的原理构造及技术。

1.指令集:X86的指令集是其最重要的特征之一、它包括基本的算术运算、逻辑运算、数据传输等指令,并提供了各种操作数的寻址方式。

X86提供了多种寻址方式,例如寄存器寻址、立即数寻址、直接寻址、间接寻址等。

这些指令和寻址方式的组合可以满足各种计算需求。

2.处理器架构:X86处理器架构通常由运算单元、控制单元、寄存器、数据通路、总线等组成。

运算单元负责执行指令中的算术和逻辑运算,控制单元负责指令的解码和控制流程的管理,寄存器用于存储数据和地址,数据通路用于连接各个功能模块,总线用于传输数据和控制信号。

3.寄存器:X86处理器拥有多个寄存器,包括通用寄存器、控制寄存器、段寄存器等。

通用寄存器用于存储一般性数据,控制寄存器用于存储控制信息,段寄存器用于存储段选择子,以实现分段机制。

通用寄存器的个数和位数因处理器型号不同而有所差异。

4.数据通路:X86处理器的数据通路通常包括运算器、存储器和数据寄存器。

运算器用于执行算术和逻辑运算,存储器用于存储指令和数据,数据寄存器用于暂存数据。

数据通路可以根据指令中的操作数和寻址方式进行数据的读取和写入。

5.缓存:X86处理器通常会配置多级缓存,以提高数据访问速度。

缓存分为指令缓存和数据缓存,它们分别用于存储指令和数据,减少访问主存的时间。

缓存的大小和结构会因处理器型号而有所不同,更高级别的缓存一般会更大,但也更贵和更慢。

6.执行流程:X86处理器的执行流程通常包括取指令、解码、执行、访存和写回等阶段。

取指令阶段从存储器中获取指令,解码阶段将指令转换为可执行的微操作序列,执行阶段根据微操作序列执行计算和数据操作,访存阶段读取或写入数据,写回阶段将结果写回到相应的寄存器或存储器。

汇编语言平时练习(判断题)

汇编语言平时练习(判断题)

2.知识点:0301 (80x86的寻址方式)假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,0FEH,则存放字数据0FE52H的字地址是7465H。

4.知识点:0303(80x86的指令系统)MOV指令不影响标志位。

5.知识点:0303(80x86的指令系统)无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。

6.知识点:0303(80x86的指令系统)指令IN AL,DX是合法的指令。

7.知识点:0303(80x86的指令系统)当运算结果的低8位中有偶数个1 时, 奇偶标志位PF被置为1。

9.知识点:0301 (80x86的寻址方式)可以将一个存储器操作数与另一个存储器操作数相加。

10.知识点:0303(80x86的指令系统)在“IN AL,端口地址”指令中,端口地址指定了某个外部设备接口的I/O地址,它实际上是一个立即数,其范围为0~65535。

答案:错误11.知识点:0401(汇编程序功能)汇编程序和汇编语言源程序是不同的概念。

答案:正确12.知识点:0301 (80x86的寻址方式)相对于某起始地址的偏移量称为偏移地址。

答案:正确13.知识点:0303(80x86的指令系统)只能使用PUSH,POP类的指令对堆栈段内的内容进行操作。

14.知识点:0301 (80x86的寻址方式)立即数寻址方式不能用于目的操作数字段。

15.知识点:0203(中央处理机)BP是堆栈栈顶指针寄存器。

16.知识点:0301 (80x86的寻址方式)内存中字单元的地址必须是偶数地址。

答案:错误17.知识点:0303(80x86的指令系统)PUSH AL。

19.知识点:0303(80x86的指令系统)SHR AX,CX。

20.知识点:0401(汇编程序功能)汇编程序是用汇编语言编写的汇编语言源程序。

答案:错误22.知识点:0301 (80x86的寻址方式)不能给段寄存器进行立即数方式赋值。

第3.3.5章 串操作类指令

第3.3.5章 串操作类指令

80x86 x86的指令系统和寻址方式 第3章 80x86的指令系统和寻址方式
2.串比较指令CMPS 2.串比较指令CMPS 串比较指令 语句格式: 语句格式: ① CMPS SRC, SRC,DST CMPSB——字节串比较 ② CMPSB 字节串比较 CMPSW——字串比较 ③ CMPSW 字串比较
80x86 x86的指令系统和寻址方式 第3章 80x86的指令系统和寻址方式
当相等/为 时重复串操作 (2) REPE/REPZ 当相等 为0时重复串操作 )
格式: 格式:REPE/REPZ string primitive (用来检查两字符串中是否 其中string primitive可为 可为CMPS或SCAS指令 有不同的元素 ) 其中 可为 或 指令 执行的操作: 执行的操作: 1如(COUNT REG)=0或ZF=0(即某次比较的结果两个操 ) 或 ( 作数不等)时退出REP,否则(即某次比较的结果两个操作数相等) 作数不等)时退出 ,否则(即某次比较的结果两个操作数相等) 往下执行。 往下执行。 2 (Count Reg) ← (Count Reg)-1 ) ) 3 执行其后的串处理指令 4 重复 1~ 3 其中,地址长度为 位时 位时, 作为Count Reg;地址长度为 位 其中,地址长度为16位时,用CX作为 作为 ;地址长度为32位 作为Count Reg。 时,用ECX作为 作为 。 总结:重复串操作条件: 总结:重复串操作条件: (COUNT REG)≠0且ZF=1; (即某次 ) 且 ; 比较的结果两个操作数相等) 比较的结果两个操作数相等) 退出串操作条件: 退出串操作条件: (COUNT REG)=0或ZF=0; 串操作条件 ) 或 ;
80x86 x86的指令系统和寻址方式 第3章 80x86的指令系统和寻址方式

8086微处理器的功能与结构

8086微处理器的功能与结构

8086微处理器的功能与结构四、80x86微处理器的结构和功能(一)80x86微处理器1.8086/8088主要特征(1)16位数据总线(8088外部数据总线为8位)。

(2)20位地址总线,其中低16位与数据总线复用。

可直接寻址1MB存储器空间。

(3)24位操作数寻址方式。

(4)16位端口地址线可寻址64K个I/O端口。

(5)7种基本寻址方式。

有99条基本指令。

具有对字节、字和字块进行操作的能力。

(6)可处理内部软件和外部硬件中断。

中断源多达256个。

(7)支持单处理器、多处理器系统工作。

2.8086微处理器内部结构8086微处理器的内部结构由两大部分组成,即执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)。

和一般的计算机中央处理器相比较,8086的EU相当于运算器,而BIU则类拟于控制器。

3.8086最小模式与最大模式及其系统配置最小模式在结构上的特点表现为:系统中的全部控制信号直接来自8086CPU。

与最小模式相比,最明显的不同是系统中的全部控制信息号不再由8086直接提供,而是由一个专用的总线控制器8288输出的。

4.8087与8089处理机简述(1)8087协处理机8087协处理机与8086组合在一起工作,以弥补8086在数值运算能力方面的不足,所以它又称为协处理机。

(2)8089I/O处理机8089是一个带智能的I/O接口电路,相当于大型机中的通道,它将CPU的处理能力与DMA控制器结合在一起。

它具有52条基本指令,1MB的寻址能力,包含两个DMA通道。

8089也可以与8086联合在一起工作,执行自己的指令,进行I/O 操作,只在必需时才与8086进行联系。

在8089的控制下,可以进行外设与存储器之间、存储器与存储器之间以及外设与外设之间的数据传输。

同时,8089还可以设定多种终止数据传输的方式。

5.总线时序一个基本的总线周期包括4个时钟周期,即4个时钟状态T 1 、T2 、T3 和T4 。

80x86微机原理参考答案

80x86微机原理参考答案

80x86微机原理参考答案第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。

1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。

以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。

微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。

80386学习(一)80386CPU介绍

80386学习(一)80386CPU介绍

80386学习(⼀)80386CPU介绍⼀.80386CPU介绍 Inter80386CPU是Inter公司于1985年推出的第⼀款32位80x86系列的微处理器。

80386的数据总线是32位的,其地址总线也是32位,因⽽最⼤可寻址4GB的存储空间。

80386作为x86系列CPU的⼀员,保持着对更早⽣产的x86CPU的向前兼容。

80386在当时主要为⽀持⾼性能的应⽤领域和多⽤户、多任务操作系统⽽设计,提供了硬件级的特权级保护、多任务切换、内存分页等功能。

80386有三种运⾏模式:实模式、保护模式和虚拟8086模式。

在实模式下,80386和8086的⾏为保持⼀致,只能访问20位(1M)的地址空间,内部实际32位的寄存器也只有低16位有效。

实模式主要是为了兼容运⾏在8086CPU上的程序,所以80386加电后,默认就运⾏在实模式下。

要想充分发挥80386的对于多任务的⽀持功能,需要使80386进⼊保护模式。

保护模式是80286以及后续的x86CPU都具有的⼀种⼯作模式。

保护模式下的80386内存寻址范围达到了硬件设计的上限:2^32byte,即4GB。

保护模式提供了诸如内存保护、内存分页机制以及硬件虚拟存储管理等功能,为多⽤户。

多任务的⾼效、可靠、安全的操作系统实现提供了良好的⽀持。

因此,主流的现代操作系统例如Linux、Windows(Windows95及以后)其内核均运⾏在x86的保护模式之上。

虚拟8086模式的⼯作模式介于实模式和保护模式之间,虚拟8086⽀持多任务、内存分页等功能。

但运⾏的每⼀个独⽴任务均处于实模式之下。

虚拟8086这⼀模式由于其中庸性,应⽤范围相对较⼩。

⼆.80386对于8086的主要改进 80386能够兼容的运⾏之前在8086、80286CPU上运⾏的程序,但80386⽐起16位的8086CPU⽆论是性能还是功能上都有质的提升。

性能⽅⾯的主要改进:更宽的数据总线和地址总线 扩展到32位的地址总线使得80386能够访问更⼤的地址空间,同时32位的数据总线⽐起8086的16位也增加了数据的传输速度。

80x86汇编语言程序设计

80x86汇编语言程序设计

80x86汇编语言程序设计80x86汇编语言程序设计是一门专门研究如何使用汇编语言在80x86架构的计算机上编写程序的学科。

80x86架构是Intel公司开发的一种微处理器架构,它包括了8086、80286、80386、80486等处理器,以及后来的Pentium系列。

汇编语言是一种低级语言,它与机器语言非常接近,通常用于编写性能要求极高的程序或者进行底层系统开发。

汇编语言基础汇编语言的指令与机器指令一一对应,但使用助记符来代替二进制代码,使得程序更加易于编写和理解。

汇编语言的基本元素包括指令、寄存器、内存地址和立即数。

- 指令:是汇编语言的基本操作单位,用于执行特定的操作,如数据传输、算术运算、逻辑运算等。

- 寄存器:是CPU内部的存储单元,用于快速存取数据。

80x86架构有多个寄存器,包括通用寄存器、段寄存器、指令指针寄存器等。

- 内存地址:是存储在RAM中的数据的位置,汇编语言可以通过内存地址访问和操作数据。

- 立即数:是指令中直接给出的数值,不需要通过寄存器或内存地址访问。

汇编语言指令80x86汇编语言提供了丰富的指令集,用于执行各种操作。

以下是一些基本的指令类型:- 数据传输指令:如MOV(移动数据)、PUSH(将数据压入堆栈)、POP(从堆栈中弹出数据)等。

- 算术指令:如ADD(加法)、SUB(减法)、MUL(乘法)、DIV(除法)等。

- 逻辑指令:如AND(逻辑与)、OR(逻辑或)、NOT(逻辑非)、XOR (逻辑异或)等。

- 控制流指令:如JMP(无条件跳转)、JE(等于时跳转)、JNE(不等于时跳转)、LOOP(循环)等。

汇编程序结构一个典型的汇编程序包括以下部分:1. 程序声明:声明程序的名称和起始点。

2. 数据定义:定义程序中使用的数据和常量。

3. 代码段:包含程序的指令和逻辑。

4. 堆栈段:用于存储临时数据和调用函数时的参数。

5. 常量段:定义程序中使用的常量。

6. 外部引用:引用其他程序或库中的代码和数据。

硬件信息

硬件信息

A. 获取显示卡信息(其它辅助功能选择):功能号: ah = 0x12,bh = 0x10输入/返回信息寄存器内容说明ah 功能号=0x12,获取显示卡信息输入信息bh 子功能号=0x10。

bh 视频状态:0x00 –彩色模式(此时视频硬件I/O 端口基地址为0x3DX);0x01 –单色模式(此时视频硬件I/O 端口基地址为0x3BX);注:其中端口地址中的X 值可为0 – f。

bl 已安装的显示内存大小:00 = 64K, 01 = 128K, 02 = 192K, 03 = 256Kch 特性连接器比特位信息:比特位说明0 特性线1,状态2;1 特性线0,状态2;2 特性线1,状态1;3 特性线0,状态1;4-7 未使用(为0)返回信息cl 视频开关设置信息:比特位说明0 开关1 关闭;1 开关2 关闭;2 开关3 关闭;3 开关4 关闭;4-7 未使用。

原始EGA/VGA 开关设置值:0x00 MDA/HGC;0x01-0x03 MDA/HGC;0x04 CGA 40x25;0x05 CGA 80x25;0x06 EGA+ 40x25;0x07-0x09 EGA+ 80x25;0x0A EGA+ 80x25 单色;0x0B EGA+ 80x25 单色。

硬盘基本参数表(“INT 0x41”)中断向量表中,int 0x41 的中断向量位置(4 * 0x41 =0x0000:0x0104)存放的并不是中断程序的地址,而是第一个硬盘的基本参数表。

对于100%兼容的BIOS 来说,这里存放着硬盘参数表阵列的首地址F000h:E401h。

第二个硬盘的基本参数表入口地址存于int 0x46 中断向量位置处。

表硬盘基本参数信息表位移大小说明0x00 字柱面数0x02 字节磁头数0x03 字开始减小写电流的柱面(仅PC XT 使用,其它为0)0x05 字开始写前预补偿柱面号(乘4)0x07 字节最大ECC 猝发长度(仅XT 使用,其它为0)0x08 字节控制字节(驱动器步进选择)位0 未用位1 保留(0) (关闭IRQ)位2 允许复位位3 若磁头数大于8 则置1位4 未用(0)位5 若在柱面数+1 处有生产商的坏区图,则置1位6 禁止ECC 重试位7 禁止访问重试。

汇编语言讲义第三章 80x86的寻址方式

汇编语言讲义第三章 80x86的寻址方式
DS
32000H
50H 50H
… … … … …
AX
跨段访问情况

8086的存储器是分段使用的,通常,若选用寄存器(BX、BP、SI和 DI) 做间接寄存器、变址寄存器或基址寄存器,只要有BP寄存器出现,操作数
就在当前的堆栈段。操作数的物理地址由堆栈段寄存器SS的内容左移4位
与偏移地址EA相加;
• •

• 如指令中用BP寄存器,
则操作数的段地址在SS中,即堆栈段。
E9H? 20H
00H

基址寻址方式
例10 ADD AX,[SI] ; AX+((DS)×10H+(SI))→AX
DS
… …
AX 11 22H + +
执行前:(AX)= 1122H,(SI)= 20H,
(DS)= 1000H,(10020H)= 3344H 执行后:(AX)= 4466H,(SI)= 20H,
MOV 18,AL ; 18←AL
执行后:(AL)= 12H
例2 MOV AX,2000H ; 2000H→AL 执行后:(AX)= 2000H
CS
E8H 00H 20H
… … … …
2、寄存器寻址方式:R
• 操作数包含于CPU的内部寄存器之中。寄存器名是操作数的符号地址,寄存器
的内容是指令所需的操作数。 例3 INC AX ;(AX)+1→AX
例 MOV AX,BX 例 ADD AX,BX
;(BX)→AX ;(AX)+(BX)→AX
例 SUB AX,BX
;(AX)-(BX)→AX
与数据有关的寻址方式
寻址方式可能有三种情况:
16位寻址

汇编语言 第3章1 80x86的指令系统和寻址方式

汇编语言 第3章1 80x86的指令系统和寻址方式
– 4个段寄存器seg:
CS、DS、SS、ES
寄存器寻址指令
MOV AX,1234H MOV BX,AX ;AX←1234H ;BX←AX
寄存器寻址
3.1.4 存储器寻址方式
指令中给出操作数的主存地址信息(偏移
地址,称之为有效地址EA),而段地址在 默认的或用段超越前缀指定的段寄存器中
8086设计了多种存储器寻址方式
量之和,寄存器可以是BX、BP或SI、DI 有效地址=BX/BP/SI/DI+8/16位位移量
段地址对应BX/SI/DI寄存器默认是DS,对应BP
寄存器默认是SS;可用段超越前缀改变 MOV AX,[DI+06H]; mov ax,table[di] ;AX←DS:[DI+06H] MOV AX,[BP+06H] ;AX←SS:[BP+06H] 相对寻址
;AX←DS:[BX+SI+06H]
相对基址变址
位移量可用符号表示 同一寻址方式有多种表达形式
指令操作数的表达-寄存器
r8——任意一个8位通用寄存器
AH AL BH BL CH CL DH DL
r16——任意一个16位通用寄存器
AX BX CX DX SI DI BP SP
reg——代表r8或r16
(4)基址变址寻址方式
有效地址由基址寄存器(BX或BP)的内容加上
变址寄存器(SI或DI)的内容构成:
有效地址=BX/BP+SI/DI
段地址对应BX基址寄存器默认是DS,对应BP
基址寄存器默认是SS;可用段超越前缀改变 MOV AX,[BX+SI] ;AX←DS:[BX+SI] MOV AX,[BP+DI] ;AX←SS:[BP+DI] MOV AX,DS:[BP+DI] ;AX←DS:[BP+DI]

计算机三级(PC技术)46_真题-无答案

计算机三级(PC技术)46_真题-无答案

计算机三级(PC技术)46(总分100,考试时间120分钟)选择题(每题1分,共60分)1. 下列80x86指令系统的寻址方式中,存取操作数的速度哪一种最快?A. 存储器直接寻址B. 寄存器寻址C. 寄存器间接寻址D. 寄存器相对寻址2. 下面有关GB2312汉字编码的叙述中,错误的是【】。

A. 汉字的区位码由该汉字在编码表中的区号和位号组成B. 汉字的内码在计算机中用两个字节表示C. 同一个汉字的区位码、国标码及内码均不相同D. 使用不同的方法输入同一汉字,其内码是不同的3. 根据下面的数据定义:ORG10HDAT1DB10DUP(?)DA T2EQU12HDAT3DW56H,$+10数据项$+10的值是:A. 0026HB. 0027HC. 0032HD. 0033H4. 在保护模式下,每个MS-DOS虚拟机的逻辑地址空间为( )。

A. 1MBB. 4MBC. 2GBD. 4GB5. 视频投影仪通常也叫多媒体投影仪,它也是PC机输出视频信息的一种重要设备。

下面关于视频投影仪的叙述中,错误的是:A. 视频投影仪有CRT、LCD和DLP三种,CRT投影仪目前正在逐步兴起B. LCD投影仪通常分为液晶板投影仪和液晶光阀投影仪两类C. DLP投影仪的优势是可以把体积做得很小,这导致了超便携式投影仪的出现D. 亮度、分辨率和灯泡寿命是投影仪的重要性能指标6. 假设AL寄存器的内容是ASCII码表示的一个英文字母,若为大写字母,将其转换为小写字母,否则不变。

试问,下面哪一条指令可以实现此功能?A. ADD AL,20HB. OR AL,20HC. ADD AL, ‘a’-‘A’D. XOR AL,20H7. Windows系列操作系统是目前PC机上使用的主流操作系统。

在下列有关Windows系列操作系统的叙述中,错误的是:A. Windows98不依赖于DOS,但提供DOS工作方式B. Windows98的系统体系结构与Windows95相同,它是Windows95的改进C. Windows2000Professional是一种适合于在服务器上使用的版本D. WindowsXP是Windows系列中把消费型操作系统和商业型操作系统融合为统一系统代码的操作系统8. 假设某CPU的基本总线周期有4个状态,分别为T1、T2、T3、T4。

80X86寄存器及存储器结构介绍

80X86寄存器及存储器结构介绍

二、段寄存器


CS:代码段寄存器
SS:堆栈段寄存器 DS:数据段寄存器 ES:附加段寄存器 IP:指令指针寄存器 与CS一起指向程序中下一条要执行的指令 FLAG:标志寄存器
三、控制寄存器


16位的寄存器,其中9个位是标志位,代表了系统运行 的状态。
80X86寄存器
湖南大器,也称栈顶指针。与堆栈段寄存器SS一起 寻址栈顶单元。 BP:基址指示器。常与SS一起寻址堆栈中的非栈顶单元。

3、变址寄存器

SI:源变址寄存器 DI:目的变址寄存器
它们常用于串操作,当然也可存放数据。
80X86寄存器
湖南大学 赵欢 hzhao@ 3


8088存储器结构
湖南大学
赵欢 hzhao@
7

DF、IF、TF不受算逻指令影响,有专门的方式置/复位;
DF:方向标志 DF=1,串操作为自动地址减量方式 =0,串操作为自动地址增量方式 IF:中断标志 IF=1,开中断;IF=0,关中断 TF:追踪标志 DF=1,CPU为单步执行方式;DF=0,CPU为连续执行方式
湖南大学 赵欢 hzhao@ 5
80X86寄存器

8088有20根地址线,8根数据线。 基本内存配置 具有:220=1M个内存单元 每个单元:8 bits

与地址有关的寄存器CS、SS、DS、ES、IP、SP
BX、BP、SI、DI均是16位的。

16位的寻址能力如何访问1MB的空间?
8088存储器结构
湖南大学 赵欢 hzhao@ 6

FLAG寄存器的各个位
15 12 11 10 9 IF 8 7 6 ZF 5 4 AF 3 2 PF 1 0 CF OF DF TF SF

IBM—PC(80x86)汇编语言与接口技术-第2章 80x86计算机组织

IBM—PC(80x86)汇编语言与接口技术-第2章 80x86计算机组织

• 80386是1985年研制出的一个32位微处理器, 内部及外部数据总线均为32位,地址线也为32 位,因此它可处理4G(232)字节的物理存储 空间。
• 1989年Intel公司又研制出新一代的微处理器 80486,80486芯片内除了有一个与80386相同 结构的主处理器外,还集成了一个浮点处理部 件FPU以及一个8K字节的高速缓冲存储器 (cache),使80486的计算速度和总体性能比 80386有了明显的提高。
• Intel公司在1982年推出了80286微处理器,它仍 然是16位结构。80286的内部及外部数据总线都 是16位的,但它的地址线是24位的,可寻址16M 字节的存储空间。
80286有两种工作方式,即实模式和保护模式: 实模式与8086工作方式相同,但速度比8086快。
保护模式除了仍具有16M字节的存储器物理地址空 间外,她还能为每个任务提供1G字节的虚拟存储 器地址空间。保护方式把操作系统及各任务所分配 到的地址空间隔离开,避免程序之间的相互干扰, 保证系统在多任务环境下正常工作。
• 8086是1978年Intel公司推出的16位微处理器。
(1)8086有16位数据总线,处理器与外部传送数据 时,一次可传送16位二进制数。
(2)8086有20位地址总线,寻址空间提高到1M字节。
(3)8086采用了流水线技术,可以实现处理器的内 部操作与存储器或I/O接口之间的数据传送操作重叠 进行,从而提高了处理器的性能。
2.2 基于微处理器的 计算机系统的构成
硬件:
中央处理机 CPU
总线控制 逻辑 系 统 总 线
存储器
接口
...
接口
大容量 存储器
...
I/O设备
I/O子系统

汇编语言程序设计教程(第二版)习题参考答案

汇编语言程序设计教程(第二版)习题参考答案

汇编语言程序设计教程(第二版)习题参考答案第1章计算机基础知识1.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。

科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。

书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。

2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。

电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。

计算机能同时处理二进制信息的位宽定义为计算机的字长。

如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。

4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。

非数值数据如字符、字符串、逻辑值等。

(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。

二进制用B,如10101010B八进制用Q,如437Q。

十进制用D或不用,如54D,或54。

十六进制用H,如27A8H10.完成下列二进制数的加减运算。

(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。

(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。

《80x86汇编语言程序设计》(第2版)习题答案

《80x86汇编语言程序设计》(第2版)习题答案

习题参考答案1第1章1-1汇编的主要功能:输入:汇编语言源文件输出:目标文件处理:对源文件进行语法检查;将符号指令翻译为机器指令。

连接的主要功能:输入:1个或多个目标文件与库文件输出:可执行文件处理:浮动地址的重定位;多模块的连接。

1-2 (1)2EH (2)0D2H (3)0FFH(4)80H (5)7FH (6)0FEH1-3 (1)7FH (2)0FF80H (3)0FFFFH285286(4)0FFD2H (5)8000H (6)0FFH1-4 无符号数范围:0~2n-1;带符号数范围:-2n−1~2n−1-11-5 (1)压缩BCD码:58H;非压缩BCD码:x5x8H。

(2)压缩BCD码:1624H;非压缩BCD码:x1x6x2x4H。

1-6 (1)字符'1'的ASCII码;十进制数31的压缩BCD码;十进制数1的非压缩BCD码;十进制数49的十六进制表示。

(2)十进制数-1的8位二进制补码表示;带符号数255的16位二进制补码表示;无符号数255的8位二进制形式。

(3)十进制数-1的16位二进制补码表示;带符号数65535的32位二进制补码表示;无符号数65535的16位二进制形式。

1-7 (1)作为无符号数为159,等值的16位和32位形式均为9FH;作为带符号数为-97,等值的16位和32位形式分别为0FF9FH与0FFFFFF9FH。

(2)作为无符号数和带符号数均为104,等值的16位和32位形式均为68H。

(3)作为无符号数为192,等值的16位和32位形式均为0C0H;作为带符号数为-64,等值的16位和32位形式分别为0FFC0H与0FFFFFFC0H。

1-8 (1)AND 0FH (2)OR 30H(3)右移4位可得高位的值;将原值AND 0FH可得低位的值。

(4)XOR 00101010B(5)AND 8000H,若结果为0,则是正数,否则为负数。

第2章2-1 系统总线是CPU与内存和I/O子系统之间进行数据交换的通道,包括数据总线、地址总线和控制总线,分别负责在CPU与内存和I/O子系统之间传送数据、地址和控制信息。

x86 寻址方法

x86 寻址方法

x86 寻址方法
x86体系结构是一种指令集架构,其寻址方法可以根据目标操作数的类型进行分类。

下面是几种常见的x86寻址方法:
1. 立即寻址(Immediate addressing):操作数是一个常数,直接作为指令的一部分,例如MOV AX, 1000h。

2. 寄存器寻址(Register addressing):操作数在寄存器中,例如MOV AX, BX。

3. 直接寻址(Direct addressing):操作数的内存地址直接给出或存储在寄存器中,例如MOV AX, [1000h]。

4. 寄存器间接寻址(Register indirect addressing):操作数的内存地址存储在寄存器中,例如MOV AX, [BX]。

5. 基址寻址(Base addressing):操作数的内存地址由一个基址寄存器和一个偏移量组合而成,例如MOV AX, [BX+SI]。

6. 变址寻址(Index addressing):操作数的内存地址由一个变址寄存器和一个比例因子组合而成,例如MOV AX,
[BX+SI*2]。

7. 基址变址寻址(Base-index addressing):操作数的内存地址由一个基址寄存器、一个变址寄存器和一个可选的偏移量组合而成,例如MOV AX, [BX+DI+1000h]。

8. 相对寻址(Relative addressing):操作数的内存地址相对于
程序计数器(PC)或其他指令的地址,例如JMP label。

以上是x86体系结构中常见的寻址方法,根据不同的操作数类型和寻址模式,可以选择最合适的寻址方法来加载/存储数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

80x86的页表寻址机制
在保护方式下,80386不仅采用扩充的存储器分段管理机制,而且提供可选的存储器分页管理机制。这些存储管理机制由80386存储管理部件MMU实现。
1.目标
80386有32根地址线,在保护方式下,它们都能发挥作用,所以可寻址的物理地址空间高达4G字节。在以80386ห้องสมุดไป่ตู้其以上处理器为CPU的PC兼容机系统中,把地址在1M以下的内存称为常规内存,把地址在1M 以上的内存称为扩展内存。
段及分页这两种机制是两种不同的转换机制,是整个地址转换函数的不同的转换级。虽然两种机制都利用存储在主存储器中的转换表,但这些表具有独立的结构。事实上,段表存储在线性地址空间,而页表存储在物理地址空间。因此,段转换表可由分页机制重新进行定位而不需段机制的参与。段转换机制把虚拟地址转换为线性地址,并在线性地址中访问段转换机制的表格,而不会觉察分页机制已把线性地址转换为物理地址。类似地,分页机制对于程序产生的地址所使用的虚拟地址空间一无所知。分页机制只是直接地把线性地址转换为物理地址,并且在物理地址中访问转换表格,并不知道虚拟地址空间的存在,甚至不知道段转换机制的存在。
3.虚拟存储器概念
虚拟存储器是一种设计技术,用于提供比在计算机系统中实际可以使用的物理主存储器大得多的存储空间。使用者会产生一种错觉,好象在程序中可以使用非常大的物理存储空间。使用虚拟存储器的好处是:一个程序可以很容易地在物理存储器容量大不一样的、配置范围很广的计算机上运行;编程人员使用虚拟存储器可以写出比任何实际配置的物理存储器都大得多的程序。虚拟存储器由存储管理机制及一个大容量的快速硬盘存储器支持。在程序运行的任何时刻,只把虚拟地址空间的一小部分映射到主存储器,其余部分则存储在磁盘上。因为只有存储在主存储器中的部分虚拟存储器可由处理器使用,这种虚拟存储技术将依赖程序内部访问存储器的局部化特性,在程序执行中只需整个虚拟存储器中的少量存储内容在主存储器中驻留。而当访问存储器的范围发生变化时,有必要把虚拟存储器的某些部分从磁盘调入主存储器,虚拟存储器的另外的部分,也能从主存储器传送回磁盘上。
通过描述符表和描述符,分段管理机制实现虚拟地址空间到线性地址空间的映射,实现把二维的虚拟地址转换为一维的线性地址。这一步总是存在的。
分页管理机制把线性地址空间和物理地址空间分别划分为大小相同的块,这样的块称为页。通过在线性地址空间的页与物理地址空间的页建立之间建立的映射表,分页管理机制实现线性地址空间到物理地址空间的映射,实现线性地址到物理地址的转换。分页管理机制是可选的,在不采用分页管理机制时,线性地址空间就等同于物理地址空间,线性地址就等于物理地址。
(2)段描述符指示段字段Ti:这个字段用来说明使用的是全局描述表GDT,还是局部描述用符表LDT。若这一位被清成0,说明选择的是全局描述符GDT,若这一位被置成1,说明当前选中了局部描述符表。
(3)请求特权级字段RPL:这个字段由两位(位1和位0)组成,所以可以表示0-3共4个特权级。若这个字段所含的表示特权级的值比程序的特权级值小(即该字段所表示的特权级比程序的高),它就会在使用这个选择符去访问这个程序时覆盖掉这个程序的特权级。
分段管理机制所使用的可变大小的块,时分段管理机制比较适宜处理复杂系统的逻辑分段。存储块的大小可以根据适当的逻辑含义进行定义,而不用考虑固定大小的页所强加的人为限制。每个段可作为独立的单位处理,以简化段的保护及共享。分页机制使用的固定大小的块最适合于管理物理存储器,无论是管理内存还是外存都同样有效。分页管理机制能够有效地支持实现虚拟存储器。
80386 还要对实现虚拟存储器提供支持。虽然与8086可寻址的1M字节物理地址空间相比,80386可寻址的物理地址空间可谓很大,但实际的微机系统不可能安装如此达的物理内存。所以,为了运行大型程序和真正实现多任务,必须采用虚拟存储器。虚拟存储器是一种软硬件结合的技术,用于提供比在计算机系统中实际可以使用的物理主存储器大得多的存储空间。这样,程序员在编写程序时不用考虑计算机中物理存储器的实际容量。
显然,只有在物理存储器中的程序才能运行,只有在物理存储器中的数据才能访问。因此,虚拟地址空间必须映射到物理地址空间,二维的虚拟地址必须转化成一维的物理地址。由于物理地址空间远小于虚拟地址空间,所以只有虚拟地址空间中的部分可以映射到物理地址空间。由于物理存储器的大小要远小于物理地址空间,所以只有上述部分中的部分才能真正映射到物理存储器。
段选择符指示着段的描述符,在段描述符中包含有定义段所用的全部信息,包括:
(1)索引字段:是由13位组成.利用索引字段可以从拥有8192个段描述符的段描述符表中选出任何一个段描述符来。处理机用8(8是段描述符的字段数)乘以索引值再加上描述符的基地址(来自全局描述符寄存器,或者局部描述符寄存器)就是索引字段值。
本文来自CSDN博客,转载请标明出处:/Non_Recursive/archive/2009/07/03/4320559.aspx
每一个任务有一个虚拟地址空间。为了避免多个并行任务的多个虚拟地址空间直接映射到同一个物理地址空间,采用线性地址空间隔离虚拟地址空间和物理地址空间。线性地址空间由一维的线性地址构成,线性地址空间和物理地址空间对等。线性地址32位长,线性地址空间容量为4G字节。
80386分两步实现虚拟地址空间到物理地址空间到物理地址空间的映射,也就是分两步实现虚拟地址到物理地址的转换,但第二步是可选的。
80386还要对存放在存储器中的代码及数据的共享和保护提供支持。任务甲和任务乙并存,任务甲和任务乙必须隔离,以免相互影响。但它们又可能要共享部分代码和数据。所以,80386既要支持任务隔离,又要支持可共享代码和数据的共享,还要支持特权保护。
2.地址空间和地址转换
保护方式下的虚拟存储器由大小可变的存储块构成,这样的存储块称为段。80386采用称为描述符的数据来描述段的位置、大小和使用情况。虚拟存储器的地址 (逻辑地址)由指示描述符的选择子和段内偏移两部分构成,这样的地址集合称为虚拟地址空间。80386支持的虚拟地址空间可达64T字节。程序员编写程序时使用的存储地址空间是虚拟地址空间,所以,他们可认为有足够大的存储空间可供使用。
相关文档
最新文档