您的位置:首页 > 其它

Intel汇编 (一) 实模式和保护模式

2016-09-12 21:42 260 查看
今天上了《计算机接口和通信》这门课,用的教材是The Intel(R) Microprocessors, 8th Edition。个人认为今天讲到的两种寻址模式是重点,故而撰文一篇,权当整理笔记,如果有错漏的地方,还望各位大大指正。

实模式寻址

首先要明确实模式寻址的特点:

实模式只允许处理器访问内存的前1MB

DOS操作系统工作在实模式下

如果处理器工作在64位模式,则没有实模式

第三条先标一个疑问。书上原话是”Note that if the Pentium 4 or Core2 operate in the 64-bit mode, it cannot execute real mode applications; hence, DOS applications will not execute in the 64-bit mode unless a program that emulates DOS is written for the 64-bit mode”。然而实际情况是,虽然IA-64架构不兼容32位指令,但x86-64架构是兼容32位的。

那么问题来了,DOS操作系统能在x86-64架构上运行吗?如果能,采用何种寻址方式?

实模式寻址的公式如下:

address = (segment << 4) + offset


segment乘以16是有原因的。在实模式下,一个段(segment)的大小是64K=2^16 Byte,并且规定了每个段的起始地址只能是16Byte的整数倍。

实模式寻址常用的寄存器组合:

段寄存器偏移量寄存器(不强调寄存器长度)用途
CSIP指令寻址
SSSP或BP栈寻址
DSBX、DI、SI、立即数数据寻址
ESDI字符串目标地址
FS、GS没有特定的寄存器一般的寻址
(未完待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  处理器 汇编