少し奇妙な動作をするコードがいくつかあります。私はasm .asmファイルから別の関数を呼び出すC extern関数を持っています。このC関数は、.asmファイルからmy関数で使用される3つのアドレスをスタックに格納します。このコードを実行するとき ; Let's say we take from the stack first parameter from my C function.
; T
私はこの質問が以前に尋ねられたことは知っていますが、他の回答は私の問題を解決していないようです。多分私は何かを忘れた? 私はQEMUで実行して正常に動作したため、.isoが動作することがわかりました。だから私は何が間違っているの? bits 16
xor ax, ax
start:
cld ; Set direction flag to forward
; Se
私はNASMファイルとCファイルを持っています。私のOSはUbuntu 17.04 64ビット 私は別の投稿からの指示に従っています。 #include <stdio.h>
int doit(int a, int b);
int main()
{
printf("%d\n", doit(2,4));
return 0;
}
doit.asm: global do