forked from fu-sen/IchigoJam-BASIC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
USR.txt
executable file
·62 lines (44 loc) · 1.96 KB
/
USR.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
USR
IchigoJam BASIC 0.9.8~
IchigoJam BASIC RPi 1.2b16RPi~・1.2.5RPi~
IchigoJam PC 非対応
-----------------------------------------------------------
[ 機能 ]
マシン語を呼び出します。
[ コマンド 書式 ]
USR(<アドレス>,<値>)
[ 例 ]
?USR(#700,100)
[ 解説 ]
<アドレス> 番地からマシン語を実行します。
<値> は 第1パラメータ(マシン語から R0 レジスタ)で取得できます。
R0 レジスタの値を返し値として返しますので、
LET や PRINT で使用する事が可能です。
C でつくる場合は 第1パラメータ で取得し、return で返すようにできます。
1.1 beta6 より第2パラメータ(R1 レジスタ)として
仮想メモリの先頭ポインタ(#000 部の該当アドレス)を渡します。
ただしこの値は変更できないキャラクターパターンの仮想アドレス
#000~#6FF 部分が実際には存在しません。#700 以降が有効です。
1.1 beta10 より第3パラメータ(R2 レジスタ)として
キャラクターパターンの先頭アドレス(#000 部の該当アドレス)を渡します。
こちらは #000~#6FF が有効です。
1.1 beta5 まで
int16_t sample(int16_t val) {
/* メイン */
return val;
}
1.1 beta6 以降
int16_t sample(int16_t val, char* mem) {
/* メイン */
return val;
}
マシン語を置く場所は
・#700~#7FF キャラクターパターンの変更
・#800~#8FF 配列・変数
・#C00~#FFF プログラム本体(1.1 beta10~)
が使えます。
CHR$(224) 以降のキャラクタや配列・変数、
プログラムそのものを破壊する事にご注意下さい。
IchigoJam BASIC と IchigoJam BASIC RPi(Raspberry Pi)では
CPU の違いにより異なるところがあります。
IchigoJam PC は動作しません。Syntax Error を返します。