0
我剛剛嘗試在x86程序集中編寫我的第一個程序,我不知道爲什麼,但它沒有達到我想要的。沒有錯誤,沒有通信,但在執行'執行'後程序不能打開。我希望這些程序添加兩個變量併發回他們的總和。這裏是代碼:彙編程序 - 添加兩個變量
.386
.model flat, stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
a dw 1h
b dw 2h
z dw 01 dup(?),0
.data?
.code
start:
mov ds, ax
mov ax, a
mov bx, b
clc
add ax, bx
mov edi, offset z
mov [edi], ax
mov ah, 09h
mov dx, z
int 21h
mov ah, 4ch
int 21h
end start
請幫助我:C
目前還不清楚您是否試圖將其編譯爲16位代碼。 (如果是這樣,爲什麼中間會有EDI?)。你寫的東西看起來像舊的DOS時代的裝配,它不會在任何現代系統上運行。如果你想學習現代裝配,我建議你看看最近的教程/書籍。 – tux3
您似乎正在創建一個Windows可執行文件,但代碼是用於DOS的。這是行不通的。找到一個Windows程序集教程(IIRC MASM32包含大量的示例代碼)。 – Michael
請注意,如果你堅持使用DOS中斷,那麼DOSBox應該仍然可以運行。 – tux3