クロス・アセンブラの記述例


以下に,1〜nの総和を再帰的に求めるプログラムの記述例を示します.

% type foo.asm
;lab.   mnemonic         comment        
        .text
_MAIN:   ld      #0x7
        swp
        or      #0xff    ; sp = 0x7ff
        mv      sp, acc
        in               ; input
        push
        call    radd
        pop
        out              ; result
        halt
;
radd:   mv      ixr, sp
        ld      ixr, 1
        push
        or      #0
        jpz     radd0
        dec     acc
        push
        call    radd
        pop
        mv      ixr, sp
        add     ixr, 0
radd0:  mv      ixr, sp
        st      ixr, 2
        pop              ; dummy pop
        ret

        .data
ZERO:   .word          0
D100:   .word        100
%

次に,kiteasm でアセンブルして得られるオブジェクト・ファイルを以下に示します.
% kiteasm foo
Text  segment : 00000000
Data  segment : 00000400
BSS   segment : 00000600
Const segment : 00000700
Input  file   : foo.asm
Output file   : foo.hex
%
% type foo.hex
:10000000C107BC0091FFF001C800D400200AD00055
:10001000CC00F800F008C201D400910050158C0506
:10002000D400200AD000F0088200F008C602D000F8
:10003000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:1008000000000064FFFFFFFFFFFFFFFFFFFFFFFF90
:00000001FF
%




クロス・アセンブラの実行例



ホーム もどる 辞書

This is my e-mail address:

arch_www < www@cs.kumamoto-u.ac.jp >
Copyright (C) KITE Microprocessor Project, 1996