関数名は libnds で使用します。

番号名前説明
0x00swiSoftReset
0x03swiDelay
0x04swiIntrWait
0x05swiWaitForVBlankV-Blank 開始まで待つ
0x06swiWaitForIRQ
0x09swiDivide
0x0BswiCopy
0x0CswiFastCopy
0x0DswiSqrt
0x0EswiCRC16
0x0FswiIsDebugger
0x10swiUnpackBits
0x11swiDecompressLZSSWram
0x12swiDecompressLZSSVram
0x13swiDecompressHuffman
0x14swiDecompressRLEWram
0x15swiDecompressRLEVram
0x16swiDecodeDelta8
0x18swiDecodeDelta16
0x1FSetHaltCR

SWIハンドラは、GBAのように単純化されています。 Thumbモードからの呼び出しは次のようにします。

   .thumb
   swi 0x05

ARMモードからの呼び出しは、16ビット左にシフトする必要があります。

   .arm
   swi 0x050000

SWI命令のパラメータは境界チェックがありませんが、256まで使えるようです。 32個以上の追加の命令があるようです。結果の値は内部RAMから受け取ります。


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 17:45:12 (2472d)