Assembler: 汇编语言程序结构

汇编语言(Assembly Language)共有 2种 程序结构:

1. Simplified Segment Definition(简化段定义)

后期补充

2. Full Segment Definition(完整段定义)

; 此处命名不能为stack, 否则会报*Warning* T.ASM(2) Reserved word used as symbol: STACK
; 段名相当于标号, 代表段地址
; xyz SEGMENT 
; 由ASSUME伪指令定义 xyz 做什么段
stacksg SEGMENT stack
    ; 分配堆栈段大小
    db 1024 dup(?)
stacksg ends

data SEGMENT 
    ; 定义数据
    string db 'Hello world!', 0dh, 0ah, '$ '
data ENDS

code SEGMENT 'code'
    ; ASSUME并不赋值, 只是将CS、DS、SS依次指向名为XX的逻辑段
    ; 确定CS、DS、SS指向的逻辑地址
    ASSUME CS: code, DS: data, SS: stacksg
; 程序开始
start:  mov ax, data
        mov DS, ax
        mov dx, offset string
        mov ah, 9
        int 21h
        mov ax, 4c00h
        int 21h
code ENDS

; END指令表示源程序到此结束
; 程序起点为start
END start