【发布时间】:2013-12-11 15:24:40
【问题描述】:
请参阅下面有关各种指令集架构中字长的问题,以及它与汇编语言的关系。感谢您的所有帮助。
首先介绍一些事实(如果其中有任何错误,请纠正我)。处理器架构的字长表示(编辑:其中一些是错误的,请参阅下面 Seva 的帖子):
- 每个寄存器的最大尺寸
- 每个内存地址的最大大小(可寻址的内存量)
- CPU 可以在单条指令中处理的最大整数
- 单次操作中可在工作内存中传入和传出的最大数据片段
现在真正奇怪的事情来了:在 IA-32 的汇编语言中,单词被指定为 16 位长。 IA-32 是指所有支持 32 位计算的 x86 版本(即 word 应该是 32 位长)。
这只是让我对单词的全部理解以及它所表示的内容(上面列出的)都分崩离析。
感谢您帮助我查明真相,
马格纳斯
编辑 2:请参阅下面关于 x86 架构的两个有用链接。
- 如下 altie 所发布:http://en.wikibooks.org/wiki/X86_Assembly/X86_Architecture
- 我偶然发现了一个简单的 x86 指南:http://www.swansontec.com/sintel.html
【问题讨论】:
-
“处理器架构的字长表示每条指令的大小” 并非如此。例如,x86 使用变长指令。
-
抱歉,错过了。会更新我的帖子。
-
x86 可能是用于定义“单词”的最差示例。
标签: assembly word computer-architecture x86