鱼C论坛

 找回密码
 立即注册
查看: 1518|回复: 4

王爽书中第六章的一个问题

[复制链接]
发表于 2013-3-8 00:27:12 | 显示全部楼层 |阅读模式

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

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

x
assume        cs:code,ds:data,ss:stack

data        segment
        dw        0123h,0456h,0789h,0abch,0defh,0cbah,0987h
data        ends

stack        segment
        dw        0,0,0,0,0,0,0,0
stack        ends

code        segment
        
        start:        mov        ax,stack
                        mov        ss,ax
                        mov        sp,20h
                        
                        mov        ax,data
                        mov        ds,ax
                        mov        bx,0
                        
                        .........
                        
                        mov        ax,4c00h
                        int        21h
code        ends
end        start
以上这段代码是王爽汇编中的示例程序6.4.书的第130页。我的问题是:对于代码段,仅仅只有assume cs:code但是对于数据段和堆栈段,则不仅有assume ds:data,ss:stack.并且还有
mov ax,stack
mov ss,ax


mov ax,data
mov ds,ax
告诉计算机堆栈段和数据段的段地址。但是代码段却没有相关的。这是为什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-8 01:11:51 | 显示全部楼层
看了半天 总算明白你问的什么了~这语言表达能力~~因为 start 这个标号~程序开始CS:IP 会自动跳转到标号位子~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-3-8 01:23:24 | 显示全部楼层
非常感谢您的回答,我下次注意表达的更清楚些。这样看来,感觉
assume        cs:code,ds:data,ss:stack
这句代码好像没起什么作用.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-8 02:05:11 | 显示全部楼层
当然有用~你可以把它去掉看看 就会明白了~呵呵 我都说了 你记忆不深刻
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-26 10:07:25 | 显示全部楼层
start 不就是代码段的开始处么、  明明指定了的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-7 22:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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