リスト2 オブジェクト展開例

●ソースリスト
10 B=100:C=300:D=2:E=3
20 A=B+C/(D+E)*20
30 PRINT A

●コンパイル結果

 変数アドレスリスト
	40C6H B
	40C8H C
	40CAH D
	40CCH E
	40CEH A

 ランタイムルーチン
	3603H 代入
	32DCH 加算
	3387H 除算
	3334H 乗算

 オブジェクトの展開
10 B=100
4061  21 C6 40    LD HL,40C6H	変数Bのアドレスをスタックへ
4064  E5          PUSH HL
4065  21 64 00    LD HL,0064H	数値100をスタックへ
4068  E5          PUSH HL
4069  CD 03 36    CALL 3603H	スタックトップの数値をスタック2番目の変数アドレスに格納(代入処理ランタイム)

	C=300
406C  21 C8 40    LD HL,40C8H	変数Cのアドレスをスタックへ
406F  E5          PUSH HL
4070  21 2C 01    LD HL,012CH	数値300をスタックへ	
4073  E5          PUSH HL
4074  CD 03 36    CALL 3603H	スタックトップの数値をスタック2番目の変数アドレスに格納(代入処理ランタイム)

		D=2:E=3
4077  21 CA 40    LD HL,40CAH
407A  E5          PUSH HL
407B  21 02 00    LD HL,0002H
407E  E5          PUSH HL
407F  CD 03 36    CALL 3603H
4082  21 CC 40    LD HL,40CCH
4085  E5          PUSH HL
4086  21 03 00    LD HL,0003H
4089  E5          PUSH HL
408A  CD 03 36    CALL 3603H

20 A=B+C/(D+E)*20
408D  21 CE 40    LD HL,40CEH	変数Aのアドレスをスタックへ
4090  E5          PUSH HL
4091  2A C6 40    LD HL,(40C6H)	変数Bの値をスタックへ
4094  E5          PUSH HL
4095  2A C8 40    LD HL,(40C8H)	変数Cの値をスタックへ
4098  E5          PUSH HL
4099  2A CA 40    LD HL,(40CAH)	変数Dの値をスタックへ
409C  E5          PUSH HL
409D  2A CC 40    LD HL,(40CCH)	変数Eの値をスタックへ
40A0  E5          PUSH HL
40A1  CD DC 32    CALL 32DCH	スタックトップの数値とスタック2番目の数値を足してスタックトップに格納 (D+E)
40A4  CD 87 33    CALL 3387H	スタック2番目の数値をスタックトップの数値で割り算してスタックトップに格納 C/(D+E)
40A7  21 14 00    LD HL,0014H	数値20をスタックへ
40AA  E5          PUSH HL
40AB  CD 34 33    CALL 3334H	スタックトップの数値とスタック2番目の数値を掛け算してスタックトップに格納 C/(D+E)*20
40AE  CD DC 32    CALL 32DCH	スタックトップの数値とスタック2番目の数値を足してスタックトップに格納 B+C/(D+E)*20
40B1  CD 03 36    CALL 3603H	スタックトップの数値をスタック2番目の変数アドレスに格納 A=B+C/(D+E)*20

40B4  3E 00       LD A,00H