王爽书中第六章的一个问题
assume cs:code,ds:data,ss:stackdata 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
告诉计算机堆栈段和数据段的段地址。但是代码段却没有相关的。这是为什么?
看了半天 总算明白你问的什么了~这语言表达能力~~因为 start 这个标号~程序开始CS:IP 会自动跳转到标号位子~ 非常感谢您的回答,我下次注意表达的更清楚些。这样看来,感觉assume cs:code,ds:data,ss:stack这句代码好像没起什么作用. 当然有用~你可以把它去掉看看 就会明白了~呵呵 我都说了 你记忆不深刻 start 不就是代码段的开始处么、明明指定了的
页:
[1]