level 3
dyplm123
楼主
assume cs:code
code segment
dw 1234h,2345h,3456h,4567h,5678h,6789h,789Ah,89ABh
dw 0,0,0,0,0,0,0,0
start:
mov ax,cs
mov ss,ax
mov sp,30h
mov bx,0
mov cx,8
s:
push cs:[bx]
add bx,2
loop s
mov bx,0
mov cx,8
s0:
pop cs:[bx]
add bx,2
loop s0
mov ax,4c00h
int 21h
code ends
end start
这段代码是汇编语言第二版上的,实现的功能是把8个字型数据逆序放,程序开头申请了32个字节的内存用来放数据,我的问题就是,它的目的是让第二段16字节的内存成为栈,在初始化SS:SP的时候,我觉得SP应该是0021H,但为什么它是30H,是我理解错吗
2015年03月28日 07点03分
1
code segment
dw 1234h,2345h,3456h,4567h,5678h,6789h,789Ah,89ABh
dw 0,0,0,0,0,0,0,0
start:
mov ax,cs
mov ss,ax
mov sp,30h
mov bx,0
mov cx,8
s:
push cs:[bx]
add bx,2
loop s
mov bx,0
mov cx,8
s0:
pop cs:[bx]
add bx,2
loop s0
mov ax,4c00h
int 21h
code ends
end start
这段代码是汇编语言第二版上的,实现的功能是把8个字型数据逆序放,程序开头申请了32个字节的内存用来放数据,我的问题就是,它的目的是让第二段16字节的内存成为栈,在初始化SS:SP的时候,我觉得SP应该是0021H,但为什么它是30H,是我理解错吗