社区
汇编语言
帖子详情
立即数和位移
lezi1022
2003-05-27 10:51:42
dseg segment
data db 10 dup(?)
dseg ends
cseg segment
assume cs:cseg,ds:dseg
start:mov ax,dseg
mov ds,ax
mov al,01h
mov data,al
mov dl,data
为什么说“从汇编整体来看,dseg是立即数,data是位移"?
dseg不是数据段的基址吗?怎么变成立即数了?data不是一个变量吗?怎么变成位移了?
为什么要把数据段装载,而代码段不装载?
...全文
117
9
打赏
收藏
立即数和位移
dseg segment data db 10 dup(?) dseg ends cseg segment assume cs:cseg,ds:dseg start:mov ax,dseg mov ds,ax mov al,01h mov data,al mov dl,data 为什么说“从汇编整体来看,dseg是立即数,data是位移"? dseg不是数据段的基址吗?怎么变成立即数了?data不是一个变量吗?怎么变成位移了? 为什么要把数据段装载,而代码段不装载?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dragonheros
2003-05-28
打赏
举报
回复
代码中很明确,mov ax,dseg 这里就说明dseg是立即数。data是一个变量,但是编译器要先给数据段等做初始化操作,所以要将data认为是地址,而它不是段地址,所以是位移。至于代码段的问题,则是程序总要开始的,所以一定有固定的运行开始位置,可能在文件头中找的到,可能就是CS:100,当然数据段是不可以自动装入,因为程序里可能没有数据段的吧
W32API
2003-05-28
打赏
举报
回复
在 INTEL 编码中,立即数是指令的一个部分,也就是说,标号等都是由编译器转换为内存地址,你可以在 DEBUG 下面看到,跳转指令没有标号,都是跳转到内存地址
dunkel
2003-05-28
打赏
举报
回复
>> 回复人: yinjintao(随机恋爱过程)(变态分布)
>> to dunkel(内心和夜 哪个黑) 书上好象说堆栈段也要装入啊
这个主要看堆栈段是如何定义的. 如果在堆栈段的定义中指明了 STACK 属性, 则最后生产的.exe中SS:SP就指向了所定义的堆栈段, 用户自己的代码可以不再进行指定. 如果堆栈段的定义中没有指明 STACK 属性, 这才需要程序自己来设定 SS:SP
nicememory
2003-05-28
打赏
举报
回复
to dunkel(内心和夜 哪个黑)
书上好象说堆栈段也要装入啊
立即数在代码段中
在代码段定义一个常量(立即数),看内存中的数据段,根本没有这个常量的位置
所以也没有什么地址之说了
dunkel
2003-05-27
打赏
举报
回复
自动设置的应该还有堆栈段 SS:SP
W32API
2003-05-27
打赏
举报
回复
位移即相对偏移量。 DATA 是相对于 DSEG 段的偏移量,即位移。
DSEG 是数据段的基址,其由编译器解释,可以理解为立即数。
在汇编中,操作数应为寄存器或内存地址,无所谓变量。
汇编编译器仅自动装载代码段,所以无须人为装载;
每个程序段都可以拥有多个数据段,比如:DS、FS、GS 段,所以由人为装载较好。
dunkel
2003-05-27
打赏
举报
回复
立即数有地址之说吗? 如果非要说有的话, 我想由于立即数是直接以数值形式存在于指令中的, 所以应该是在代码段吧?
lezi1022
2003-05-27
打赏
举报
回复
那立即操作数呢?
立即操作数有地址吗?
它是在代码段,还是在数据段?
W32API
2003-05-27
打赏
举报
回复
.com 则堆栈设置在程序内存地址空间的最后,由编译器自动设置
ARM嵌入式系统结构与编程答案
ARM嵌入式系统结构与编程答案 ARM嵌入式系统结构与编程答案
重锺料位计说明书
测量开始,现场的传感器(探头)控制重锤快速下降至物料表面,测锤一但触及被测料面便立即上升,返回待测位置。同时计数盘与脉冲传感器配合发出与重锤
位移
相当的脉冲信号,由嵌入式计算机进行计算处理后,在控制器...
梯形断面掘进巷道围岩稳定性数值模拟
针对埋深和断面对巷道围岩破坏这一煤矿安全的关键问题,通过对掘进巷道围岩的理论建模,分析了不同埋深梯形掘进巷道的围岩应力场和
位移
的变化规律,结果表明:随着埋深增加,无锚杆支护的巷道两侧会受到很大的应力而发生...
汇编指令J1
汇编指令"J" 名称 功能 操作数操作码模数寄存器1寄存器2或内存
位移
量
立即数
符号方向芯片型号16位32位JO溢出跳转短$70无无无无10无无8086无无JN
6AxisToLocationAlgorithmTest:我的6轴算法测试,使用加速度计陀螺仪计算空间位置。 该项目使用Python代码。 非立即响应,仅适用于数据科学部门
6AxisToLocationAlgorithmTest 这是我的6轴公式验证程序,模拟陀螺仪与加速度算出
位移
座标,本程序尚再成型。
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章