高分:为什么立即数不能直接赋给段寄存器

疯癫小程序 疯癫小程序 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下是我看到的一个网上的解释:

“有一个intel出来的同事真是好,对于标题所述的问题,他是这样解释的,由于立即数直接写入段寄存器这样的指令,被翻译成机器码之后将占用更多的字节,在事先规定的指令长度范围内无法存贮下这么多的内容,因此改由先写入通用寄存器,再由通用寄存器写入段寄存器的办法代替。立即数实际上是相当占地方的。”

对于上述的解释,我不是太赞同,他说把立即数赋给段寄存器对应得机器指令很长,那么,如果改赋给通用寄存器对应的机器指令不也一样长吗(段寄存器和通用寄存器都是寄存器)?中间还过度指令也要空间啊,所以我不理解这个解释。

请高手指点一下。
...全文

相关推荐

汇编语言教程-段寄存器的说明语句

程序员不能在源程序中直接给代码段寄存器赋值。为了结束程序的执行,通常使用中断调用来完成。

weixin_38553466

汇编期末考试复习:寄存器、寻址、标志位与常用指令详解

计算机程序最终都要转化为机器指令执行,而汇编语言作为最接近硬件的编程语言,直接操作寄存器、内存和标志位,是理解计算机工作原理的关键。掌握寄存器分组与用途、七种寻址方式的有效地址计算、CMP与条件转移指令对标志位的影响,以及MASM环境下从源程序到EXE的完整流程,是学习底层开发的必备技能。这些知识广泛应用于嵌入式开发、操作系统内核、逆向工程及性能优化等领域。在汇编期末考试中,无论是读程序写结果、填空改错还是编程题,本质上都是考察对指令执行过程中状态变化的把握。本文以期末复习为线索,系统梳理寄存器、寻址、标志

故小里

8086汇编排序实战:DOS实模式下的内存寻址与算法实现

8086汇编是理解x86底层编程的基石,其核心在于实模式内存管理、段寄存器协同与DOS中断调用机制。本文围绕一个真实可运行的学生成绩排序程序展开,解析从ORG伪指令到物理地址计算(如1000H/2000H布局)、从SCAN线性扫描算法到压缩BCD显示逻辑的技术原理。程序严格依赖INT 21H等DOS系统调用,体现BIOS与DOS的分层服务边界;同时通过DEBUG单步调试、段寄存器显式设置、地址偏移精算等手段,揭示8086分段寻址对算法实现的硬性约束。该案例不仅适用于微机原理教学与汇编入门实践,更是嵌入式固件

苏黎世贝勒爷

汇编MOV和ADD指令用法总结(DOC)

此外,段寄存器之间不能直接传送,立即数不能直接赋值给段寄存器,且修改CS寄存器通常只能通过转移指令如JMP完成。2.

BlueSpectre

曹辰鹏 2019218117 汇编第一次作业1

- 立即数不能直接赋给段寄存器如`ES`或`DS`。 - 段寄存器之间不能直接传输数据。 - `AL`只能存储8位数据,而300超过了它的范围。

药罐子也有未来
评论 23
收藏 已收藏
分享
返回顶部
疯癫小程序
汇编语言 21,500 成员 41,619 内容