6.包含多个段的程序

1.   
assume cs:code,ds:data,ss:stack
      data segment
        ds 0123h, 1234h, 2345h, 3456h, 4567h, 5678h, 6789h, 789Ah
      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   ;设置ss :sp指向stack的栈顶
         mov ax,data
        mov ds,ax    ;ds指向data段
        mov bx, 0     ;ds :bx指向打他段中的第一个单元
        mov cx, 8
     s : push [bx]
         add bx,2
        loop s       ;以上将data中的 0 ~ 15单元压入栈内
        mov bx, 0
        mov cx, 8
    s0 : pop [bx]
         add bx,2
        loop s0      ;以上依次出栈 8字型数据

        mov ax, 4c00h
         int 21h
    code ends
end start   

你可能感兴趣的:(程序)