鱼C论坛

 找回密码
 立即注册
查看: 2437|回复: 11

王爽书的汇编语言里的一个简单问题

[复制链接]
发表于 2013-5-4 13:21:51 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 s0512 于 2013-5-26 13:54 编辑
assume cs:code,ds:data
data segment
        db 'unIX'
        db 'foRK'
data ends

code segment
start:        mov al,'a'
                mov bl,'b'
                
                mov ax,4c00h
                int 21h
code ends
end start
这段是代码
a.png
为什么段地址要从0B3DH开始 而不从0B2DH开始呢?
求解!

最佳答案

查看完整内容

0B3DH-0B2DH=10H,刚好16位,留给栈用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-4 13:21:52 | 显示全部楼层
0B3DH-0B2DH=10H,刚好16位,留给栈用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-4 16:10:04 | 显示全部楼层
0B3DH-0B2DH=10H,这段内存用来存放数据,程序段前缀等的一些信息。另外也是因为cs,ds在内存中的存储是16位,也就是10h
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-4 16:44:20 | 显示全部楼层
本帖最后由 comethat 于 2013-5-4 16:53 编辑

那假如前面多定义一个  ss:stack或者把ds:data 改成ds:datasg
结果还是10H吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-4 19:45:06 | 显示全部楼层
真是难得给力的帖子啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-4 21:28:10 | 显示全部楼层
我只是路过打酱油的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-5 00:34:34 | 显示全部楼层
comethat 发表于 2013-5-4 16:44
那假如前面多定义一个  ss:stack或者把ds:data 改成ds:datasg
结果还是10H吗

其实你可以自己试试看,按照你的想法改一下看看结果是什么。再比较之前的,你会有所收获的,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-5 11:31:43 | 显示全部楼层
传说好像是放psp了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-5 12:19:31 | 显示全部楼层
因为DOS有一个PPS区,占用256个字节。不知道跟这个有关系吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-5 17:18:53 | 显示全部楼层
这个书上有说明的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-7 18:43:50 | 显示全部楼层
{:1_1:}学习了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-8 00:33:48 | 显示全部楼层
留有256个字节用来进行编译预处理的,0B2d-0b3d地址相差256个字节,因为还要加上偏移地址啊,即0b2d0-0b3d0刚好256字节。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-7 18:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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