assume cd:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack ;將棧地址送入ax
mov ss,ax
mov sp,20h ;設置棧頂SS:SP指向stack:20
mov ax,data
mov ds,ax ;ds指向data段
mov bx,0 ;as:bx指向data段中的第一個單元
mov cx,8 ;設置循環次數
s: push [bx]
add bx,2
loop s ;將以上data段中的0-15單元中的8個字型數據依次入棧
mov bx,0
mov cx,8
s0:pop [bx]
add bx,2
loop s0 ;以上依次出棧的8個字型數據到data段的0-15單元中
彙編 debug
-r 查看寄存器中的內容
-u 加載內存中的程序,將內存中的機器指令翻譯成彙編
-d 查看內存中的內容
-e 改寫內存中的內容
-t 執行一條機器指令
-a 以彙編指令格式在內存中寫入一條機器指令
常用無符號數比較結果條件轉移
指令 含義 檢測的相關標誌位
je 等於則轉移 zf=1
jne 不等於則轉移 zf=0
jb 低於則轉移 cf=1
jnb 不低於則轉移 cf=0
ja 高於則轉移 cf=0 且 zf=0
jna 不高於則轉移 cf=1 或 zf=1
assume cd:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack ;將棧地址送入ax
mov ss,ax
mov sp,20h ;設置棧頂SS:SP指向stack:20
mov ax,data
mov ds,ax ;ds指向data段
mov bx,0 ;as:bx指向data段中的第一個單元
mov cx,8 ;設置循環次數
s: push [bx]
add bx,2
loop s ;將以上data段中的0-15單元中的8個字型數據依次入棧
mov bx,0
mov cx,8
s0:pop [bx]
add bx,2
loop s0 ;以上依次出棧的8個字型數據到data段的0-15單元中
彙編 debug
-r 查看寄存器中的內容
-u 加載內存中的程序,將內存中的機器指令翻譯成彙編
-d 查看內存中的內容
-e 改寫內存中的內容
-t 執行一條機器指令
-a 以彙編指令格式在內存中寫入一條機器指令
常用無符號數比較結果條件轉移
指令 含義 檢測的相關標誌位
je 等於則轉移 zf=1
jne 不等於則轉移 zf=0
jb 低於則轉移 cf=1
jnb 不低於則轉移 cf=0
ja 高於則轉移 cf=0 且 zf=0
jna 不高於則轉移 cf=1 或 zf=1