Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2021/03/16 17:35:37

MixJuice GET URL : kidspod.club/mj/2057

JAMMON

「じゃむもん」と読みます。いわゆる機械語モニタプログラムです。
基本的に、メモリの #C00~#FFF の内容を編集するためのモノです。

RUN すると、メモリの #700 以降にマシン語プログラムが展開されて、SUCCESS と表示されます。
その後、?USR(#700) と入力することで、プログラムが起動します。
一度 RUN してしまえば、NEW してもプログラムは再度起動できますが、CLV, CLP コマンドを実行したり、[0]~[89] の内容を書き換えると正しく動作しなくなるのでご注意ください。

【操作方法】

カーソルキー: カーソルの移動
0~9, A~F: 16進数を入力 (左側のデータ欄のカーソルの位置に)
ESC: 終了

【注意事項】

●#700~#8B3 の範囲に本プログラムが展開されているので、この範囲の内容を編集すると暴走します。
●#C00 の先頭から数バイトを中途半端に編集した状態で終了すると、直後にインタプリタ側が暴走する可能性があります。先頭から4バイトほど 00 にしておくと安心です。
●#FFF より先は、アドレス欄に 000 と表示されますが、実際は #1000 以降の内容を表示しています。
●アドレスの範囲制限をしていないため、極端に小さい/大きいアドレスの内容を表示するとエラーになります。

  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

SOURCE CODE

1 '### JAMMON ###
2 Z=#C03:Y=#700:U=0
3 X=0:IF PEEK(Z)!=39 GOTO 9
4 X=X-1:W=PEEK(Z-X)
5 W=W-41-W/32*6:IF W<0 GOTO 8
6 V=V<<6+W:POKE Y,V>>(X*2&7)
7 Y=Y+(X&3<3):U=U^W:GOTO 4
8 IF U LIST PEEK(Z-3):END
9 Z=Z+PEEK(Z-1)+4:W=PEEK(Z-3)
10 IF W GOTO 3 ELSE ?"SUCCESS"
11 'n1DrhFi7jWI/YE3ba3Q38//a7
12 ':E697li7a3T/gVgc0B6A7li7Z
13 'a3Q/7Dux/k/kCkYfCRYFCkIfc
14 'BhY1/1En62dNEZZ0Io8OEMcO:
15 '6WU2o//iHB4H63fF/ml4o/3wb
16 't:708kwXhVUSE//jHB//8zY/Q
17 'OFXugcam/8U0Bk2kLzUM:zLF5
18 'pWQ172i7a3QX//1OG2BP/RAMj
19 '/G9N5EdlQEVP50dqCsU178V6G
20 '/1SqtrA7sU0P5NgM/8fH52QW2
21 'E1U/q/QuUVfGgU5G/G7F/24/D
22 'Z3N9EZ402mS8/7x/5bWuEk5TE
23 'Xo/uEldkNoNWFf6b12qhgfXb/
24 '6mU2o/wihR309fDF3mk0q/3ov
25 'fSQ7BT6bsE0d57am7U//a/2ko
26 '4DWptk//A:ID8ENAT3E://Eui
27 'of7HEGh/spk2Q/3k/1fpoH1xt
28 'k3O5////w:I6//s/G28I/EENV
29 'VP/A7W//zzTXzvgN/NAT/1A/J
30 '/1MIAmIR/tAvS1U//dBfFUUWr
31 '5MbzxxDz/dg1BNsN/tjqgU3rP
32 'bI:joHcX7//XRP5m4H/77jzrH
33 'kzw/7lUo/NfGLC8I/HA79zbFi
34 '0P2kjQ05A23mAnEpBXQsCI41d
35 'EoF4FU0

COMMENT

Kidspod運営チーム
Kidspod運営チーム2021/03/23 15:09:15

レ、レベルが高い……(いや、水準の意味ではレベルが低いと言うべきでしょうか)。残念ながら私の力では、この作品を使いこなせないです……。勉強して、いずれ理解できるようになりたいです。