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


今天上了《计算机接口和通信》这门课,用的教材是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没有特定的寄存器一般的寻址

(未完待续)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值