注册 登录
编程论坛 汇编论坛

386全局描述符表中堆栈描述符的问题

longxies 发布于 2008-01-11 09:55, 1415 次点击
如下程序中的堆栈段是不是系统自动分配的堆栈段啊??

还有就是堆栈描述符中的属性字,93对吗?type中的第2位应该是1吧因为堆栈段是从高处往低处增长的是吗?
msfjg struc
djx  dw 0
ddjz dw 0
zdjz db 0
dsx  dw 0
gdjz db 0
msfjg ends

vmsf struc
djx  dw 0
djz  dd 0
vmsf ends

data segment use16
gdt label byte
dammuy msfjg <> ;空描述符
stacks msfjg <0ffffh,,,93h,> ;堆栈段描述符
stack_sel=08h
gdtlen=$-gdt
vgdtr vmsf<gdtlen-1,>
data ends

code segment use16
assume cs:code

mov bx,16
mov ax,data
mul bx
add ax,offset gdt
adc dx,0
mov vgdtr.djz,ax
mov vgdtr.djz+2,dx
 
mov ax,ss           ;加载堆栈段段基址
mul bx
mov stacks.ddjz,ax
mov stacks.zdjz,dl
mov stacks.gdjz,dh
.......

[[italic] 本帖最后由 longxies 于 2008-1-11 09:58 编辑 [/italic]]
0 回复
1