2. 組合語言程式設計方法
data segment
x db ?
y dw ?
data ends
;extra segment
alpha db ?
beta dw ?
extra ends
;stack segment part stack 'stack'
stapn db 100 dup(?)
top equ length stapn
stack ends
;code segment
main proc far
assume cs:code, ds:data, ex:extra, ss:stack ;給各個段分配相應的段暫存器,但不能將段基位址裝入段暫存器中。
start: mov ax, stack ;
mov ss, ax ;給堆疊段暫存器賦初值
mov sp, top
push ds
sub ax, ax
push ax
mov ax, data
mov ds, ax
mov ax, extra
mov es, ax ;
;給堆疊段暫存器賦初值
· ·
· ret
main endp
code ends
end main
ret
int 21h
int 20h
組合語言程式格式
組合語言源程式中的每個語句可以由四項組成,格式如下 name operation operand comment 其中 名字項 name 是指乙個標號或變數。操作項 operation 是乙個操作碼的助記符,它可以是指令 偽指令或巨集指令名。運算元項 operand 由乙個或多個表示式組成,它提供為...
組合語言 子程式
舉例 子程式呼叫指令call 格式為 call 子程式名 call相當於jmp 子程式名 相當於 標號 子程式執行完返回到call下一句的語句執行 在子程式中用ret 返回 子程式名proc屬性 far,near 子程式名 endp 如果主程式是被執行的第乙個程式,屬性應為far 主程式 let0 ...
組合語言 基本結構框架
data segment buff1 dw 0h buff2 dw 0h s1 db 12h data ends stack segment para stack db 100 dup stack ends code segment assume cs code,ds data,es data,ss...