stdin を使用したアセンブラへのソースコードの入力

ソースコードのファイルを作成する代わりに、stdin を使用して、別のプログラムからの出力をパイプで armasm に渡すことや、コマンドラインからソースコードを直接入力することができます。この機能は、ファイルを作成せずに短いコードをテストしたい場合などに便利です。

stdin を使用して、別のプログラムからの出力をパイプで armasm に渡すには、パイプ文字(|)を使用して、プログラムおよびアセンブラを起動します。マイナス記号(-)をソースファイル名として使用すると、アセンブラは stdin からの入力を受け付けます。-o オプションを使用して、出力ファイル名を指定する必要があります。使用するコマンドラインオプションを指定できます。fromelf からの出力をパイプで渡す場合の例を以下に示します。

fromelf --disassemble input.o | armasm -o output.o -

stdin を使用してコマンドラインからソースコードを直接入力するには、以下の操作を行います。

  1. 使用するコマンドラインオプションを指定して、アセンブラを起動します。マイナス記号(-)をソースファイル名として使用すると、アセンブラは stdin からの入力を受け付けます。-o オプションを使用して、出力ファイル名を指定する必要があります。以下に例を示します。

    armasm --bigend -o output.o -
    
  2. コードを入力します。以下に例を示します。

            AREA     ARMex, CODE, READONLY
                                    ; このコードブロックに ARMex という名前を付ける
            ENTRY                   ; 最初に実行する命令をマークする
    start
            MOV      r0, #10        ; パラメータをセットアップする
            MOV      r1, #3
            ADD      r0, r0, r1     ; r0 = r0 + r1
    stop
            MOV      r0, #0x18      ; angel_SWIreason_ReportException
            LDR      r1, =0x20026   ; ADP_Stopped_ApplicationExit
            SVC      #0x123456      ; ARM セミホスティング(以前の SWI)
            END                     ; ファイルの終わりをマークする
    
  3. 入力を終了するには、以下の操作を行います。

    • Microsoft Windows システムでは、Ctrl-Z キーを押してから Return キーを押します。

    • Unix ベースのオペレーティングシステムでは、Ctrl-D キーを押します。

Note

stdin からのソースコードは、最大で 8 MB まで保持できる内部キャッシュに保存されます。このキャッシュサイズを増やすには、--maxcache コマンドラインオプションを使用します。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311