- 利用栈两个值交换
mov ax, 1000h
mov bx, 1001h
push ax
push bx
pop ax
pop bx
- 一个完整的程序
assume cs:code
:代码段
code segment
mov ax, 1000h
mov bx, 2000h
mov cx, 1000h
mov ds, cx
mov [0], ax
mov [1], bx
:正常退出
mov ax, 4c00h
:中断
int 21h
code ends
end
编译器只关注ax高位4c
mov ax, 4c00h == mov ah, 4ch
- 常见中断
- int 10h用户执行BIOS中断
- int 3h断电中端
- int 21h用户执行DOS程序中断
- Hello World
assume cs:code, ds:data
:数据段
data segment
data ends
:代码段
code segment
:$结束
db "a-Hello World!$"
db "13213213$"
:程序执行入口
start:
:将代码端关联
mov ax, data
mov ds, ax
:从哪里开始打印
mov dx, 0h
:打印字符串
mov ah, 9h
int 21h
:退出程序
mov ax, 4c00h
int 21h
code ends
end start