6.《汇编语言》-王爽第三版学习笔记 包含多个段的程序

1.代码段中使用数据

assume cs:code
code segment

    dw 0123h,0456h,0789h,01bch,0defh,0fedh,0cbah,0987h

    mov bx,0
    mov ax,0

    mov cx,8
s:  add ax,cs:[bx]
    add bx,2
    loop s

    mov ax,4c00h
    int 21h

code ends
end
  • 程序框架
assume cs:code
code segment
             :
          数据
             :
start:  
             :
          代码
             :
code ends
end start
  1. 在代码中使用栈
  • 将定义的数据逆序存放
assume cs:code
code segment

    dw 0123h,0456h,0789h,01bch,0defh,0fedh,0cbah,0987h
    dw 0,0,0,0,0,0,0,0,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
assume cs:code,ds:data,ss:stack

data segment
    dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends

stack segment
    dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends

code segment
start:  mov ax,stack
        mov ss,ax
        mov sp,20h

        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 ds:[bx]
        add bx,2
        loop s0

        mov ax,4c00h
        int 21h

code ends

end start
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容