zl程序教程

您现在的位置是:首页 >  其他

当前栏目

十七、多个段的程序

程序 多个 十七
2023-09-14 09:13:26 时间

段定义伪指令

功能:定义一个段,segment指明段的开始,ends指明段的结束。

语法:

段名字 segment
.
.
.
段名字

代码(code)段
数据(data)段
栈(stack)段

注意:
a 段名字不能重复,在代码中,段名字代表此段的段地址
b 数据段,栈段的寄存器需要我们自己通过汇编指令的执行完成设置值。

实例:

assume cs:code,ds:data,ss:stack
data segment
    dw 1122H,3344H,5566H
ends data
    
stack segment
    dw 0011H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0011H
ends stack

code segment
start:
    ;数据段
    mov ax,data
    mov ds,ax
    mov bx,0000H

    ;栈段
    mov ax,stack
    mov ss,ax
    mov sp,0016H

    mov cx,3
    A:
        push [bx]
        add bx,2
    loop A        
 
    mov ax,4c00H
    int 21H
code ends
end start