汇编语言程序员

包含多个段的程序:将数据、代码和栈放入不同的段

2018-08-16  本文已影响3人  柠檬就是酸

问题:

利用栈,将程序中定义的数据逆序存放   

assume cs:codeseg

codeseg segment

    dw 0123H,0456H,0789H,0abcH,0defH,0fdeH,0cbaH,0987H

    ?

code ends

end

代码:

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

data segment
        dw 0123H,0456H,0789H,0abcH,0defH,0fdeH,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,16               
        mov ax,data
        mov ds,ax
        mov bx,0
        mov cx,8

s:      push [bx]
        add bx,2
        loop s                  

        mov bx,0
        mov cx,8
s0:     pop [bx]
        add bx,2
        loop s0                 

        mov ax,4c00H
        int 21H

code ends

end start

代码分析:

上一篇下一篇

猜你喜欢

热点阅读