例:用汇编求2 ^ 3

  1. 定义一个段

    1
    2
    3
    code segment

    code ends ; 注意有 's'
  2. 在段中编写具体的汇编指令

    1
    2
    3
    4
    5
    code segment
    mov ax, 2
    add ax, ax
    add ax, ax
    code ends
  3. 指出程序在何结束

    1
    2
    3
    4
    5
    6
    code segment
    mov ax, 2
    add ax, ax
    add ax, ax
    code ends
    end ; 注意没有 's'
  4. 段与段寄存器关联

    1
    2
    3
    4
    5
    6
    7
    assume cs:code
    code segment
    mov ax, 2
    add ax, ax
    add ax, ax
    code ends
    end
  5. 加上程序返回指令(套路,类似 return 0)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    assume cs:code
    code segment
    mov ax, 2
    add ax, ax
    add ax, ax

    mov ax, 4c00h
    int 21h
    code ends
    end

其它示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
assume cs:code
code segment
dw 123H, 0455H, 0789H, 0abcH, 0defH, 0fedH, 0cbaH, 0987H
; 在代码段的开始定义了 8 个字,占据 16 个字节

start: mov bx, 0 ; 'start' 自定义程序起始标签
mov ax, 0
mov cx, 8

s: add, ax, cs:[bx] ; 's'是循环起始标签
add bx, 2
loop s

mov ax, 4c00h
int 21h
code ends
end start ; end 除了通知编译器程序结束外,还通知了编译器程序的入口在什么地方