私はAtmel Studio 6.2を使用して、Atmega328pのアセンブリコードを記述しています。私はatmelにAVRアセンブリを書いていますが、 "call"命令が機能しません。
ただし、シミュレータを使用してステップバイステップでプログラムを実行すると、call
のサブルーチンの命令が機能しません。 call
命令は完全に無視され、次の行に進みます。
.include "m328pdef.inc"
ldi R16, 11
call hello_world
mov R1, R0
nop
hello_world:
mov R0, R16
ret
しかし、たとえこれが動作しない:私は次のようになります簡単なプログラムを書いたcall
命令を試験するために
!それだけでmov R1, R0
を実行します。 理由は何でしょうか? call
がうまくいかないときはとても迷惑です!
を定義する必要が
希望「次は?」 – fuz
通常、デバッガが持っているので、私は聞いていますのよプロセッサによって実行される次の命令に進む命令と、プログラム内の次のコード行(たとえば、 'hello_world'の実行が完了した後)まで実行する命令の両方です。 – fuz
ooohh !!!私はただばかです!はい、私はばかです!それが呼び出されたら、「ステップイン」をクリックしてください!!!!!それは今Tの作品です。私は愚かさのために壁に私の頭をバンプする必要があります!ありがとう:) :) :) – sosostris