For the debug of the programs I have been using debug files, which are either information like the intcode.txt file, which shows QCode output like this:
Code: Select all
QCode idx:0002 --++ local pass%, pass2%, num% --++
N001 Read EXP_BUFF_ID_META ty:U qcty:U ' LOCAL' npar:0 nidx:0 trapped:0 %:0 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N002 Read EXP_BUFF_ID_VARIABLE ty:i qcty:U 'PASS%' npar:0 nidx:0 trapped:0 %:0 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N003 Read EXP_BUFF_ID_VARIABLE ty:i qcty:U 'PASS2%' npar:0 nidx:0 trapped:0 %:0 0: 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N004 Read EXP_BUFF_ID_VARIABLE ty:i qcty:U 'NUM%' npar:0 nidx:0 trapped:0 %:0 0: 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N004 Read EXP_BUFF_ID_FUNCTION ty:i qcty:U 'DROP' npar:0 nidx:0 trapped:0 %:0 0: 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
QCode idx:0002 --++ pass% = 1 --++
N001 Write EXP_BUFF_ID_VARIABLE ty:i qcty:U 'PASS%' npar:0 nidx:0 trapped:0 %:0 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N002 Read EXP_BUFF_ID_INTEGER ty:i qcty:U '1' npar:0 nidx:0 trapped:0 %:0 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N003 Read EXP_BUFF_ID_OPERATOR ty:i qcty:U ':=' npar:0 nidx:0 trapped:0 %:0 2: 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
QCode idx:0009 --++ pass2% = 0 --++
N001 Write EXP_BUFF_ID_VARIABLE ty:i qcty:U 'PASS2%' npar:0 nidx:0 trapped:0 %:0 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N002 Read EXP_BUFF_ID_INTEGER ty:i qcty:U '0' npar:0 nidx:0 trapped:0 %:0 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
N003 Read EXP_BUFF_ID_OPERATOR ty:i qcty:U ':=' npar:0 nidx:0 trapped:0 %:0 2: 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 nb 0:()
Code: Select all
Variables
0: VAR: ' A' Local Float DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFF6
1: VAR: ' B' Local Float DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFEE
2: VAR: ' E' Local Float DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFE6
3: VAR: ' E%' Local Integer DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFE4
4: VAR: ' ANS' Local Float DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFDC
5: VAR: ' ANS%' Local Integer DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFDA
6: VAR: ' PASS%' Local Integer DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFD8
7: VAR: ' PASS2%' Local Integer DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFD6
8: VAR: ' NUM%' Local Integer DECLARE max_str: 0 max_ary: 0 num_ind: 0 offset:FFD4
Code: Select all
Memory────────────────────────────────────────────┐ Machine───────────────────────────────────────────┐ Variables─────────────────────────────────────────────────────────────────────────────────────────────┐
│ │ │ │ │ │
│3B06 0D FF D8 22 00 01 7F 0D ...".... │ │rta_fp:3EF0 │ │(Addr:3EE6) A: - (22) 2 . 22222222222 E34 │
│3B0E FF D6 22 00 00 7F 0D FF .."..... │ │rta_sp:3B06 │ │(Addr:3EDE) B: - (22) 2 . 22222222222 E34 │
│3B16 D4 22 00 00 7F 0E FF E6 ."...... │ │rta_pc:3B06 │ │(Addr:3ED6) E: - (22) 2 . 22222222222 E34 │
│3B1E 23 02 12 03 23 02 78 FC #...#.x. │ │ │ │(Addr:3ED4) E%:2222 │
│3B26 3F 80 0E FF DC 23 07 46 ?....#.F │ │ │ │(Addr:3ECC) ANS: - (22) 2 . 22222222222 E34 │
│3B2E 38 15 46 38 15 06 80 00 8.F8.... │ │ │ │(Addr:3ECA) ANS%:2222 │
│3B36 FF D4 24 01 41 8B 2D B8 ..$.A.-. │ │ │ │(Addr:3EC8) PASS%:2222 │
│3B3E 71 24 01 28 71 01 FF DC q$.(q... │ │ │ │(Addr:3EC6) PASS2%:2222 │
│ │ │ │ │(Addr:3EC4) NUM%:2222 │
└─────────────────────────────────────────────────┘ └─────────────────────────────────────────────────┘ │ │
│ │
QCode─────────────────────────────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ │
│QI_LS_INT_SIM_FP │ │ │
│000D: 10 │ │ │
│ │ │ │
│float5: │ │ │
│ │ │ │
│3B06: 0D Push local/global integer variable reference (bytes code:v) │ │ │
│3B07: FFD8 (65496) │ │ │
│ │ │ │
│ │ │ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────────────────────────────────────────────┘