アプリ版:「スタンプのみでお礼する」機能のリリースについて

初心者です。まとを得ていない質問でしたらすみません。

C言語は理解できる程度なのですが、アセンブラのコードを書く事ができません。

今アセンブラ言語を学び始めた所ですが、「jr」「jarl」「jmp」などの分岐命令の指定の方法がわかりません。

C言語でいうとどういうコードを書いた時に、このような命令を出力できますでしょうか。
本を読んでも、この上記の命令の意味は書いてあるのですが、実際出力が出来なかったもので。

またアセンブラ言語を学ぶためにいい方法などありましたらお教えく頂けないでしょうか。

よろしくお願いします。

A 回答 (4件)

使っているCコンパイラが、アセンブリソースを出力できるなら、勉強するにはお得な環境ですよ。



ちなみに、↓のやつを最適化せずにコンパイルすると、全部でてきませんか?

int sub() { return 0; }
int main() { while (sub()); return 0; }
    • good
    • 0
この回答へのお礼

皆様どうもありがとうございます。
アセンブラの種類もそんなにあるなんて事も知りませんでした。
知識がない事がわかりました・・・。

環境を整えて頑張ってみます。

お礼日時:2004/09/01 21:23

アセンブラの種類も書かないで、質問するのは見とおしの狭さを物語る。

まあしかし経験者なら指令を見ただけであれだとわかるのかも知れない。Cに拘るから、上から下を見ると良く見えないのでは。下(アセンブラ)から学ぶとそうでもないかも知れない。
V850プログラミングテクニックhttp://www.necel.com/micro/product/development/t …
に出て来てる、V850とかのようです。間違ってますか。
jmp,jarlが出てきている。
私は未経験で判りませんが、推測すると
jarlは戻り番地をlpレジスタに入れて、サブルーチンに飛んでいるようですね。実行したら、そのレジスタの番地の次ぎへ戻るのです。
jmpは、jarlで飛んできたとき、戻り番地(飛んだ番地の次ぎ番地)をlpレジにもっているから、そのレジの番地に無条件ジャンプ(と言うことはサブルーチンを実行して帰るかってIBM大型機のアセンブラにも似たものがありましたなあ。
    • good
    • 0

windowsなら


「NASM」や「MASM」、「インラインアセンブラ」で検索するとよいでしょう。

とりあえずNASMについてのページです。
http://homepage1.nifty.com/mcn/weekly/000730.htm
書籍では
「8086マクロアセンブラ入門」
技術評論社 (ISBN:4-7741-1442-1)
などが参考になります。

参考URL:http://homepage1.nifty.com/mcn/weekly/000730.htm
    • good
    • 0

アセンブラーと言うのは大げさに言うと何千種類もあります。


どのアセンブラーかを言わないと判らないと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!