在程式碼段中使用資料
阿新 • • 發佈:2018-12-20
1.彙編源程式程式碼
assume cs :code
code segment
dw 0123H,0456H,0789H,0ABCH,0DEFH,0FEDH,0CBAH,0987H
mov ax,0
mov bx,0
mov cx,8
s: add ax,cs:[bx]
add bx,2
loop s
mov ax,4c00H
int 21H
code ends
end
2.我們直接用debug 命令-u檢視
在0756:0000往後查到 的也是程式中的內容,只不過不是源程式中彙編指令對應的機器碼,是dw定義的,第十六個位元組
第十六個位元組往後才是程式中要執行的機器指令
也就是說記憶體中前16個單元存放源程式的dw 定義的資料,後面是元程式彙編指令對應的機器指令。
用Debug命令執行過程中,程式入口不是我們所希望執行的指令,那麼如何編譯??
新增程式碼:
assume cs :code
code segment
dw 0123H,0456H,0789H,0ABCH,0DEFH,0FEDH,0CBAH,0987H
start: mov ax,0
mov bx,0
mov cx,8
s: add ax,cs:[bx]
add bx,2
loop s
mov ax,4c00H
int 21H
code ends
end start
執行;