鱼C论坛

 找回密码
 立即注册
查看: 5004|回复: 8

[汇编作业] 监测点9.1中的第二题的一个疑问

[复制链接]
发表于 2019-4-2 10:34:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:code
data segment
    dd 12345678H
data ends

code segment
start:mov ax, data
      mov ds, ax
      mov bx, 0
      mov [bx], bx     ;低地址设置为ip = 0
      mov [bx + 2], cs ;高地址设置为cs
      jmp dword ptr ds:[0]
code ends

end start
颜色部分,低地址应该存放的是IP的值,即偏移地址,为什么是0,我想应该是offset start啊,不应该把代码的偏移地址赋值到bx中吗,然后确赋值的是0,为什么肯定偏移地址是0呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-4-3 08:03:32 | 显示全部楼层
自己顶自己,没人解答一下吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-21 17:52:05 From FishC Mobile | 显示全部楼层
我也是新手,不过,在code程序开始时,cs指向code. ip指向0。 就是指向的start啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-23 10:07:30 | 显示全部楼层
个人认为,此处的为代码段的开始,即代码段的所在的字节数在start处时为0,后一句为 mov ax,为代码段的第一个字节。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-15 01:01:32 | 显示全部楼层
offset start是偏移地址,值也是0,但是确实占的2个字节0000 (16进制表示) ,而ds[bx]是一个字节,就会出现不匹配的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-13 10:48:43 | 显示全部楼层
一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-13 10:49:37 | 显示全部楼层
sos2356 发表于 2021-2-15 01:01
offset start是偏移地址,值也是0,但是确实占的2个字节0000 (16进制表示) ,而ds是一个字节,就会出现不 ...

所以才有dx+2跳转嘛,应该两个都可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-12 15:57:03 | 显示全部楼层
数据段data 的dd开辟的这段内存空间不够16个字节  但是系统会自动默认补足16个字节  前面课程讲过  所以每个段地址的开始ip都应该是0 不会是其它的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-19 23:13:53 | 显示全部楼层
他要跳到第一条,而start编译后其实是一个地址,这个地址指的是第一条指令,也就是说他这个标号是第一条指令的偏移地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 13:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表