汇编多段执行顺序到底是怎么回事?
我刚加载了这个汇编程序,然后开始跟踪,发现我还没有执行第一条语句mov ax,stackmov ss,ax这条语句不是吧定义段的地址复制给堆栈段寄存器嘛,为什么还没有执行堆栈段寄存器中就已近有值了, 。。。。。 书上说
assume cs:code,ds:data,ss:stack //关联特定的断与寄存器
data segment5
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h //定义数据
data ends
stack segment 2
dw 2,2,2,2,2,2,2,2
stack ends
code segment
start:mov ax,stack //程序入口 1
mov ss,ax 3
mov sp,16 4
mov ax,data
mov ds,ax 6
push ds: 7
push ds: 8
popds: 9
popds: 10
mov ax,4c00h
int 21h
code ends
end start
这样的执行顺序没得错吧?求讲解 ,方便的话加本人463503788 没看明白,你是想问,在还没有执行mov ax,stack的时候,为什么栈寄存器中就有内容了,是么? 恩是这样的。而且为什么里面的内容 在堆栈寄存器中存储为什么不是以偏移为0开始存储 而是从偏移为17开始存储
页:
[1]