0
ARMアセンブラを初めて使用しています。 qemuエミュレータの使用。ユーザ入力をCからアセンブラに渡す
このsolutionは私にとっては機能しませんでした。
私は、このCファイルmd1_main.cあります
#include <stdio.h>
#include <stdlib.h>
#include "md1.h"
int main (void)
{
int n;
scanf("%d", &n);
printf("Result = %u\n", asum(n));
return 0;
}
と.hファイルは、関数プロトタイプunsigned int asum(unsigned int n);
が含まれている私は、アセンブラコードにn
を渡す方法を、本当に混乱しています。
アセンブラコードmd1.sです:ちょうどそれを得ることができない
.text
.align 2
.global asum
.type asum, %function
asum:
mov r1, #0
mov r2, #1
loop:
cmp r2, #3 ; instead of 3 there should be my input
bgt end
add r1, r1, r2
add r2, r2, #1
b loop
end:
mov r0, r1
bx lr
。
このCコードをコンパイルする対象は何ですか?プラットフォーム - Linux、Windowsなど何か? –
@AjayBrahmakshatriya、linux。 – alalambda
@ベニー、その解決法(?)は私のために働かなかった。 – alalambda