ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. ·...

72
ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic Comment 1 FAT B000 018 XROM #24 _XROM 2 FAT B001 039 57 FUNCTIONS _FCNS 3 FAT B002 0FF FCT: -ADV MATRIX XROM 24.00 4 FAT B003 0D0 ADR: AFD0 A6:00 5 FAT B004 00E FCT: ^MROW XROM 24.01 6 FAT B005 069 ADR: BE69 A6:01 7 FAT B006 0F9 FCT: I*J XROM 24.02 8 FAT B007 026 ADR: A926 A6:02 9 FAT B008 0F9 FCT: I<>J XROM 24.03 10 FAT B009 02C ADR: A92C A6:03 11 FAT B00A 0F9 FCT: I#J? XROM 24.04 12 FAT B00B 020 ADR: A920 A6:04 13 FAT B00C 0F8 FCT: IMC XROM 24.05 14 FAT B00D 02A ADR: A82A A6:05 15 FAT B00E 0F8 FCT: IMR XROM 24.06 16 FAT B00F 01E ADR: A81E A6:06 17 FAT B010 0FB FCT: M^2 XROM 24.07 18 FAT B011 0B2 ADR: ABB2 A6:07 19 FAT B012 0FF FCT: MAT= XROM 24.08 20 FAT B013 02A ADR: AF2A A6:08 21 FAT B014 0FB FCT: MATP XROM 24.09 22 FAT B015 0EF ADR: ABEF A6:09 23 FAT B016 2F7 FCT: "MATRX" XROM 24.10 24 FAT B017 027 ADR: A727 A6:0A 25 FAT B018 0F8 FCT: MCON XROM 24.11 26 FAT B019 090 ADR: A890 A6:0B 27 FAT B01A 0F9 FCT: MDPS XROM 24.12 28 FAT B01B 07F ADR: A97F A6:0C 29 FAT B01C 2F9 FCT: "MEXP" XROM 24.13 30 FAT B01D 0C7 ADR: A09C7 A6:0D 31 FAT B01E 0F8 FCT: MIDN XROM 24.14 32 FAT B01F 0A4 ADR: A8A4 A6:0E 33 FAT B020 2FE FCT: "MLIE" XROM 24.15 34 FAT B021 0BA ADR: AEBA A6:0F 35 FAT B022 0F9 FCT: MLN XROM 24.16 36 FAT B023 0BD ADR: A9BD A6:10 37 FAT B024 0FA FCT: MPWR XROM 24.17 38 FAT B025 07B ADR: AA7B A6:11 39 FAT B026 0F8 FCT: MRDIM XROM 24.18 40 FAT B027 0E6 ADR: A8E6 A6:12 41 FAT B028 0FF FCT: MSORT XROM 24.19 42 FAT B029 002 ADR: AF02 A6:13 43 FAT B02A 0FB FCT: MSQRT XROM 24.20 44 FAT B02B 029 ADR: AB29 A6:14 45 FAT B02C 0FF FCT: MSZE? XROM 24.21 46 FAT B02D 041 ADR: AF41 A6:15 47 FAT B02E 2F7 FCT: "MTR" XROM 24.22 48 FAT B02F 066 ADR: A766 A6:16 49 FAT B030 0F9 FCT: MTRACE XROM 24.23 50 FAT B031 05C ADR: A95C A6:17 51 FAT B032 0F8 FCT: MZERO XROM 24.24 52 FAT B033 0C1 ADR: A8C1 A6:18 53 FAT B034 0F8 FCT: OMC XROM 24.25 54 FAT B035 012 ADR: A812 A6:19 55 FAT B036 0F8 FCT: OMR XROM 24.26 56 FAT B037 006 ADR: A806 A6:1A 57 FAT B038 2F8 FCT: "OXC" XROM 24.27 (c) Ángel Martin Page 1 of 72 May 2011

Transcript of ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. ·...

Page 1: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment1 FAT B000 018 XROM #24 _XROM2 FAT B001 039 57 FUNCTIONS _FCNS3 FAT B002 0FF FCT: -ADV MATRIX XROM 24.004 FAT B003 0D0 ADR: AFD0 A6:005 FAT B004 00E FCT: ^MROW XROM 24.016 FAT B005 069 ADR: BE69 A6:017 FAT B006 0F9 FCT: I*J XROM 24.028 FAT B007 026 ADR: A926 A6:029 FAT B008 0F9 FCT: I<>J XROM 24.0310 FAT B009 02C ADR: A92C A6:0311 FAT B00A 0F9 FCT: I#J? XROM 24.0412 FAT B00B 020 ADR: A920 A6:0413 FAT B00C 0F8 FCT: IMC XROM 24.0514 FAT B00D 02A ADR: A82A A6:0515 FAT B00E 0F8 FCT: IMR XROM 24.0616 FAT B00F 01E ADR: A81E A6:0617 FAT B010 0FB FCT: M^2 XROM 24.0718 FAT B011 0B2 ADR: ABB2 A6:0719 FAT B012 0FF FCT: MAT= XROM 24.0820 FAT B013 02A ADR: AF2A A6:0821 FAT B014 0FB FCT: MATP XROM 24.0922 FAT B015 0EF ADR: ABEF A6:0923 FAT B016 2F7 FCT: "MATRX" XROM 24.1024 FAT B017 027 ADR: A727 A6:0A25 FAT B018 0F8 FCT: MCON XROM 24.1126 FAT B019 090 ADR: A890 A6:0B27 FAT B01A 0F9 FCT: MDPS XROM 24.1228 FAT B01B 07F ADR: A97F A6:0C29 FAT B01C 2F9 FCT: "MEXP" XROM 24.1330 FAT B01D 0C7 ADR: A09C7 A6:0D31 FAT B01E 0F8 FCT: MIDN XROM 24.1432 FAT B01F 0A4 ADR: A8A4 A6:0E33 FAT B020 2FE FCT: "MLIE" XROM 24.1534 FAT B021 0BA ADR: AEBA A6:0F35 FAT B022 0F9 FCT: MLN XROM 24.1636 FAT B023 0BD ADR: A9BD A6:1037 FAT B024 0FA FCT: MPWR XROM 24.1738 FAT B025 07B ADR: AA7B A6:1139 FAT B026 0F8 FCT: MRDIM XROM 24.1840 FAT B027 0E6 ADR: A8E6 A6:1241 FAT B028 0FF FCT: MSORT XROM 24.1942 FAT B029 002 ADR: AF02 A6:1343 FAT B02A 0FB FCT: MSQRT XROM 24.2044 FAT B02B 029 ADR: AB29 A6:1445 FAT B02C 0FF FCT: MSZE? XROM 24.2146 FAT B02D 041 ADR: AF41 A6:1547 FAT B02E 2F7 FCT: "MTR" XROM 24.2248 FAT B02F 066 ADR: A766 A6:1649 FAT B030 0F9 FCT: MTRACE XROM 24.2350 FAT B031 05C ADR: A95C A6:1751 FAT B032 0F8 FCT: MZERO XROM 24.2452 FAT B033 0C1 ADR: A8C1 A6:1853 FAT B034 0F8 FCT: OMC XROM 24.2554 FAT B035 012 ADR: A812 A6:1955 FAT B036 0F8 FCT: OMR XROM 24.2656 FAT B037 006 ADR: A806 A6:1A57 FAT B038 2F8 FCT: "OXC" XROM 24.27

(c) Ángel Martin Page 1 of 72 May 2011

Page 2: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment58 FAT B039 039 ADR: A839 A6:1B59 FAT B03A 2F8 FCT: "OXR" XROM 24.2860 FAT B03B 047 ADR: A847 A6:1C61 FAT B03C 0FF FCT: PMTM XROM 24.2962 FAT B03D 052 ADR: AF52 A6:1D63 FAT B03E 0FF FCT: -EIGEN VECT XROM 24.3064 FAT B03F 0B9 ADR: AFB9 A6:1E65 FAT B040 0FA FCT: ΣIJJI XROM 24.3166 FAT B041 0DC ADR: AADC A6:1F67 FAT B042 00F FCT: AIP XROM 24.3268 FAT B043 0B7 ADR: BFB7 A6:2069 FAT B044 0FC FCT: ABSP XROM 24.3370 FAT B045 0F2 ADR: ACF2 A6:2171 FAT B046 0FE FCT: ANUMDL XROM 24.3472 FAT B047 02E ADR: AE2E A6:2273 FAT B048 0FE FCT: ASWAP XROM 24.3574 FAT B049 0A6 ADR: AEA6 A6:2375 FAT B04A 00B FCT: CHRPOL XROM 24.3676 FAT B04B 094 ADR: BB94 A6:2477 FAT B04C 0FC FCT: CLAC XROM 24.3778 FAT B04D 0D6 ADR: ACD6 A6:2579 FAT B04E 00C FCT: EIGEN XROM 24.3880 FAT B04F 0BA ADR: BCBA A6:2681 FAT B050 20D FCT: "#EV" XROM 24.3982 FAT B051 007 ADR: BD07 A6:2783 FAT B052 00F FCT: EV3X3 XROM 24.4084 FAT B053 03C ADR: BF3C A6:2885 FAT B054 00D FCT: JACOBI XROM 24.4186 FAT B055 02F ADR: BD2F A6:2987 FAT B056 0FC FCT: R/aRR XROM 24.4288 FAT B057 03C ADR: AC3C A6:2A89 FAT B058 0FC FCT: ST<>A XROM 24.4390 FAT B059 09E ADR: AC9E A6;2B91 FAT B05A 0FD FCT: V*A XROM 24.4492 FAT B05B 027 ADR: AD27 A6;2C93 FAT B05C 0F3 FCT: VXA XROM 24.4594 FAT B05D 0B7 ADR: A3B7 A6:2D95 FAT B05E 0FF FCT: -ADV_MATH XROM 24.4696 FAT B05F 09A ADR: AF9A A6;2E97 FAT B060 0FC FCT: E3/ XROM 24.4798 FAT B061 0BB ADR: ACBB A6:2F99 FAT B062 0FC FCT: E3/E+ XROM 24.48100 FAT B063 0C2 ADR: ACC2 A6:30101 FAT B064 0FD FCT: CHSYX XROM 24.49102 FAT B065 00B ADR: AD0B A6:31103 FAT B066 000 FCT: INTEG XROM 24.50104 FAT B067 0BC ADR: B0BC A6:32105 FAT B068 0FD FCT: RGSORT XROM 24.51106 FAT B069 050 ADR: AD50 A6:33107 FAT B06A 000 FCT: SOLVE XROM 24.52108 FAT B06B 07B ADR: B07B A6:34109 FAT B06C 000 FCT: SILOOP XROM 24.53110 FAT B06D 0CA ADR: B0CA A6:35111 FAT B06E 2F3 FCT: "SIRTN" XROM 24.54112 FAT B06F 09C ADR: A39C A6:36113 FAT B070 00F FCT: X=1? XROM 24.55114 FAT B071 0A2 ADR: BFA2 A6:37

(c) Ángel Martin Page 2 of 72 May 2011

Page 3: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment115 FAT B072 0FC FCT: X=YR? XROM 24.56116 FAT B073 07F ADR: AC7F A6:38117 FAT _FATEND B074 000 END of FAT118 FAT B075 000 END of FAT `1 SOLVE Header B076 085 "E"2 SOLVE Header B077 016 "V"3 SOLVE Header B078 00C "L"4 SOLVE Header B079 00F "O"5 SOLVE Header B07A 013 "S"6 SOLVE SOLVE B07B 108 SETF 8 Solve flag7 SOLVE B07C 379 PORT DEP: Initialize8 SOLVE B07D 03C XQ9 SOLVE B07E 12C ->B12C [LB_B12C]10 SOLVE B07F 068 WRIT 1(Z)11 SOLVE B080 046 C=0 S&X12 SOLVE B081 270 RAMSLCT select Chip013 SOLVE B082 0F8 READ 3(X) upper guess14 SOLVE B083 070 N=C15 SOLVE B084 130 LDI S&X 16 SOLVE B085 0C0 CON: base=R19217 SOLVE B086 270 RAMSLCT bottom of RAM18 SOLVE B087 038 READATA R19 = buf header19 SOLVE B088 21C R= 220 SOLVE B089 0D0 LD@R 321 SOLVE B08A 2F0 WRITDATA R19222 SOLVE B08B 2A0 SETDEC23 SOLVE B08C 04E C=0 ALL24 SOLVE B08D 268 WRIT 9(Q) R20125 SOLVE B08E 2A8 WRIT 10(+) R20226 SOLVE B08F 0B0 C=N27 SOLVE B090 1E8 WRIT 7(O) R19928 SOLVE B091 10E A=C ALL29 SOLVE B092 149 ?NC XQ 30 SOLVE B093 024 ->0952 [ENCP00]31 SOLVE B094 0B8 READ 2(Y) lower guess32 SOLVE B095 0AE A<>C ALL33 SOLVE B096 24E C=A-C ALL34 SOLVE B097 2EE ?C#0 ALL35 SOLVE B098 0D7 JC +1A B0B236 SOLVE B099 34E ?A#0 ALL37 SOLVE B09A 09F JC +13 B0AD38 SOLVE B09B 130 LDI S&X39 SOLVE B09C 0C7 CON: base=R19940 SOLVE B09D 270 RAMSLCT41 SOLVE B09E 04E C=0 ALL42 SOLVE B09F 35C R= 1243 SOLVE B0A0 222 C=C+1 @R44 SOLVE B0A1 39C R= 045 SOLVE B0A2 1D0 LD@R 746 SOLVE B0A3 286 C=0-C S&X47 SOLVE LB_B0A4 B0A4 228 WRIT 8(P) R20748 SOLVE B0A5 2E8 WRIT 11(a) R21049 SOLVE B0A6 006 A=0 S&X50 SOLVE B0A7 070 N=C51 SOLVE B0A8 260 SETHEX52 SOLVE B0A9 248 SETF 953 SOLVE B0AA 365 PORT DEP: Transfer Exec…

(c) Ángel Martin Page 3 of 72 May 2011

Page 4: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment54 SOLVE B0AB 08C GO55 SOLVE B0AC 001 ->B401 [LB_B401]56 SOLVE LB_B0AD B0AD 15C R= 657 SOLVE B0AE 162 A=A+1 @R58 SOLVE B0AF 01B JNC +03 B0B259 SOLVE B0B0 1A2 A=A-1 @R60 SOLVE B0B1 1A2 A=A-1 @R61 SOLVE LB_B0B2 B0B2 130 LDI S&X 62 SOLVE B0B3 0C7 CON: base=R19963 SOLVE B0B4 270 RAMSLCT64 SOLVE B0B5 0AE A<>C ALL65 SOLVE B0B6 373 JNC -12 B0A41 INTEG Header B0B7 087 "G"2 INTEG Header B0B8 005 "E"3 INTEG Header B0B9 014 "T"4 INTEG Header B0BA 00E "N"5 INTEG Header B0BB 009 "I"6 INTEG INTEG B0BC 104 CLRF 8 Integ flag7 INTEG B0BD 379 PORT DEP: Initialize8 INTEG B0BE 03C XQ9 INTEG B0BF 12C ->B12C [LB_B12C]10 INTEG B0C0 0A8 WRIT 2(Y)11 INTEG B0C1 389 PORT DEP:12 INTEG B0C2 08C GO13 INTEG B0C3 000 ->B800 [LB_B8001 SILOOP Header B0C4 090 "P"2 SILOOP Header B0C5 00F "O"3 SILOOP Header B0C6 00F "O"4 SILOOP Header B0C7 00C "L"5 SILOOP Header B0C8 009 "I"6 SILOOP Header B0C9 013 "S"7 SILOOP SILOOP B0CA 2CC ?FSET 138 SILOOP B0CB 037 JC +06 B0D19 SILOOP B0CC 379 PORT DEP:10 SILOOP B0CD 03C XQ11 SILOOP B0CE 392 ->B392 [LB_B392]12 SILOOP B0CF 2C4 CLRF 1313 SILOOP B0D0 3E0 RTN14 SILOOP LB_B0D1 B0D1 379 PORT DEPT: Search for Buffer15 SILOOP B0D2 03C XQ Returns buf adr# in C[S&X]16 SILOOP B0D3 23B ->B23B [CHKBUF]17 SILOOP B0D4 2EE ?C#0 ALL18 SILOOP B0D5 3A0 ?NC RTN19 SILOOP B0D6 038 READATA20 SILOOP B0D7 358 ST=C21 SILOOP B0D8 28C ?FSET 722 SILOOP B0D9 04F JC +09 B0E223 SILOOP B0DA 00C ?FSET 324 SILOOP B0DB 027 JC +04 B0DF25 SILOOP LB_B0DC B0DC 369 PORT DEP:26 SILOOP B0DD 03C GO27 SILOOP B0DE 392 ->B392 [LB_B392]28 SILOOP LB_B0DF B0DF 04C ?FSET 429 SILOOP B0E0 3E7 JC -04 B0DC30 SILOOP B0E1 033 JNC +06 B0E731 SILOOP LB_B0E2 B0E2 078 READ 1(Z)32 SILOOP B0E3 04C ?FSET 4

(c) Ángel Martin Page 4 of 72 May 2011

Page 5: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment33 SILOOP B0E4 027 JC +04 B0E834 SILOOP B0E5 00C ?FSET 335 SILOOP B0E6 3B3 JNC -0A B0DC36 SILOOP LB_B0E7 B0E7 0B8 READ 2(Y)37 SILOOP LB_B0E8 B0E8 046 C=0 S&X38 SILOOP B0E9 2FC RCR 1339 SILOOP B0EA 106 A=C S&X40 SILOOP B0EB 149 ?NC XQ 41 SILOOP B0EC 024 ->0952 [ENCP00]42 SILOOP B0ED 0F8 READ 3(X)43 SILOOP B0EE 01E A=0 MS44 SILOOP B0EF 17E A=A+1 MS45 SILOOP B0F0 37E ?A#C MS46 SILOOP B0F1 037 JC +06 B0F747 SILOOP B0F2 379 PORT DEP:48 SILOOP B0F3 03C XQ49 SILOOP B0F4 392 ->B392 [LB_B392]50 SILOOP B0F5 389 ?NC GO Alpha Data51 SILOOP B0F6 052 ->14E2 [ERRAD]52 SILOOP LB_B0F7 B0F7 070 N=C53 SILOOP B0F8 1A6 A=A-1 S&X54 SILOOP B0F9 1A6 A=A-1 S&X55 SILOOP B0FA 087 JC +10 B10A56 SILOOP B0FB 1A6 A=A-1 S&X57 SILOOP B0FC 047 JC +08 B10458 SILOOP B0FD 1A6 A=A-1 S&X59 SILOOP B0FE 0B7 JC +16 B11460 SILOOP B0FF 1A6 A=A-1 S&X61 SILOOP B100 0BF JC +17 B11762 SILOOP B101 389 PORT DEP:63 SILOOP B102 08C GO64 SILOOP B103 05D ->B85D [FORK0]65 SILOOP LB_B104 B104 2EE ?C#0 ALL66 SILOOP B105 03B JNC +07 B10C67 SILOOP B106 10E A=C ALL68 SILOOP B107 365 PORT DEP:69 SILOOP B108 08C GO70 SILOOP B109 232 ->B632 [FORK1]71 SILOOP LB_B10A B10A 2EE ?C#0 ALL72 SILOOP B10B 02F JC +05 B11073 SILOOP LB_B10C B10C 158 M=C74 SILOOP B10D 365 PORT DEP:75 SILOOP B10E 08C GO76 SILOOP B10F 021 ->B421 [FORK2]77 SILOOP LB_B110 B110 070 N=C78 SILOOP B111 365 PORT DEP:79 SILOOP B112 08C GO80 SILOOP B113 03A ->B43A [FORK3]81 SILOOP LB_B114 B114 389 PORT DEP:82 SILOOP B115 08C GO83 SILOOP B116 0C5 ->B8C5 [FORK4]84 SILOOP LB_B117 B117 389 PORT DEP:85 SILOOP B118 08C GO86 SILOOP B119 050 ->B850 [FORK5]87 SILOOP LB_B11A B11A 379 PORT DEP:88 SILOOP B11B 03C XQ89 SILOOP B11C 392 ->B392 [LB_B392]

(c) Ángel Martin Page 5 of 72 May 2011

Page 6: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment90 SILOOP B11D 379 PORT DEP: Show Message91 SILOOP B11E 03C XQ92 SILOOP B11F 21A ->B21A [APEREX]93 SILOOP B120 012 "R"94 SILOOP B121 005 "E"95 SILOOP B122 003 "C"96 SILOOP B123 015 "U"97 SILOOP B124 012 "R"98 SILOOP B125 013 "S"99 SILOOP B126 009 "I"100 SILOOP B127 00F "O"101 SILOOP B128 20E "N"102 SILOOP B129 389 PORT DEP:103 SILOOP B12A 08C GO104 SILOOP B12B 388 ->BB88 [APRMSG]

LB_B12C B12C 01E A=0 MSB12D 17E A=A+1 MSB12E 0F8 READ 3(X) upper limit / 1st. guessB12F 37E ?A#C MS is it <0?B130 023 JNC +04 no, B134B131 0B8 READ 2(Y) lower limit / 2nd. guessB132 37E ?A#C MS different sign?B133 037 JC +06 yes, skip over

LB_B134 B134 379 PORT DEP:B135 03C XQB136 392 ->B392 [LB_B392]B137 389 ?NC GO Alpha DataB138 052 ->14E2 [ERRAD]

LB_B139 B139 244 CLRF 9 no errors as defaultB13A 379 PORT DEPT: Search for BufferB13B 03C XQ Returns buf adr# in C[S&X]B13C 23B ->B23B [CHKBUF]B13D 2EE ?C#0 ALL was the buffer found? (C#0)B13E 1A3 JNC +34 no, jump ahead - [LB_B172]B13F 038 READATA read buffer headerB140 358 ST=CB141 10C ?FSET 8 is it SOLVE?B142 027 JC +04 yes, skip to LB_B146B143 00C ?FSET 3 is it active already?B144 063 JNC +0C no, jump to [LB_B150]B145 2AB JNC -2B yes, trying to re-enter! - LB_B11A

LB_B146 B146 28C ?FSET 7 is it active already?B147 29F JC -2D yes, trying to re-enter! - LB_B11A

LB_B148 B148 288 SETF 7B149 048 SETF 4B14A 144 CLRF 6B14B 2CC ?FSET 13B14C 013 JNC +02 LB_B14EB14D 148 SETF 6

LB_B14E B14E 088 SETF 5B14F 043 JNC +08 LB_B157

LB_B150 B150 008 SETF 3B151 044 CLRF 4B152 204 CLRF 2B153 2CC ?FSET 13B154 013 JNC +02 LB_B156B155 208 SETF 2

(c) Ángel Martin Page 6 of 72 May 2011

Page 7: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentLB_B156 B156 308 SETF 1LB_B157 B157 398 C=ST

B158 2F0 WRITDATAB159 046 C=0 S&XB15A 270 RAMSLCT select Chip0B15B 3B8 READ 14(d)B15C 17C RCR 6B15D 358 ST=CB15E 28C ?FSET 7B15F 087 JC +10 LB_B16FB160 288 SETF 7B161 398 C=STB162 13C RCR 8B163 3A8 WRIT 14(d)B164 36D PORT DEP: Set base = R192B165 08C XQ and ReadDataB166 39F ->B79F [BSE0C0]B167 358 ST=CB168 10C ?FSET 8 is it SOLVE?B169 01F JC +03 LB_B16CB16A 304 CLRF 1B16B 013 JNC +02 LB_B16D

LB_B16C B16C 084 CLRF 5LB_B16D B16D 398 C=ST

B16E 2F0 WRITDATALB_B16F B16F 24C ?FSET 9

B170 147 JC +28 LB_B198B171 013 JNC +02 LB_B173

LB_B172 B172 248 SETF 9LB_B173 B173 130 LDI S&X

B174 00B CON: 11 registers neededB175 10C ?FSET 8 is it SOLVE?B176 01F JC +03 yes, skip over LB_B179B177 130 LDI S&X no, Integ caseB178 01E CON: 30 30 registersrequired

LB_B179 B179 106 A=C S&XB17A 379 PORT DEP: Create BufferB17B 03C XQB17C 265 ->B265 [MAKEBUF]B17D 2E6 ?C#0 S&XB17E 053 JNC +0A LB_B188B17F 24C ?FSET 9B180 0C3 JNC +18 LB_B198B181 36D PORT DEP: Set base = R192B182 08C XQ and ReadDataB183 39F ->B79F [BSE0C0]B184 358 ST=CB185 10C ?FSET 8B186 217 JC -3E LB_B148B187 24B JNC -37 LB_B150

LB_B188 B188 379 PORT DEP:B189 03C XQB18A 392 ->B392 [LB_B392]B18B 379 PORT DEP: Show MessageB18C 03C XQB18D 21A ->B21A [APEREX]B18E 00E "N"

(c) Ángel Martin Page 7 of 72 May 2011

Page 8: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB18F 00F "O"B190 020 " "B191 012 "R"B192 00F "O"B193 00F "O"B194 20D "M"B195 389 PORT DEP:B196 08C GOB197 388 ->BB88 [APRMSG]

LB_B198 B198 04E C=0 ALLB199 158 M=CB19A 379 PORT DEP:B19B 03C XQB19C 3D3 ->B3D3 [LB_B3D3]B19D 36A ?A#C R<-B19E 0F3 JNC +1E LB_B1BCB19F 2DC R= 13B1A0 190 LD@R 6B1A1 11E A=C MSB1A2 01C R= 3

LB_B1A3 B1A3 379 PORT DEP:B1A4 03C XQB1A5 3E5 ->B3E5 [LB_B3E5]B1A6 0E6 B<>C S&XB1A7 198 C=MB1A8 0E6 B<>C S&XB1A9 0D6 C=B XSB1AA 23C RCR 2B1AB 158 M=CB1AC 1BE A=A-1 MSB1AD 3B3 JNC -0A LB_B1A3B1AE 31C R= 1B1AF 198 C=M

LB_B1B0 B1B0 2EA ?C#0 R<-B1B1 01F JC +03 LB_B1B4B1B2 23C RCR 2B1B3 3EB JNC -03 LB_B1B0

LB_B1B4 B1B4 158 M=CB1B5 268 WRIT 9(Q)B1B6 315 ?NC XQ Alpha SearchB1B7 098 ->26C5 [ASRCH]B1B8 2EE ?C#0 ALLB1B9 01B JNC +03 LB_B1BCB1BA 24C ?FSET 9B1BB 033 JNC +06 LB_B1C1

ERRCHK B1BC 379 PORT DEP:B1BD 03C XQB1BE 392 ->B392 [LB_B392]B1BF 381 ?NC GO "NONEXISTENT" msgB1C0 00A ->02E0 [ERRNE]

LB_B1C1 B1C1 05C R= 4B1C2 042 C=0 @RB1C3 10A A=C R<-B1C4 20C ?FSET 2B1C5 023 JNC +04 LB_B1C9B1C6 1AA A=A-1 R<-B1C7 162 A=A+1 @R

(c) Ángel Martin Page 8 of 72 May 2011

Page 9: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB1C8 023 JNC +04 LB_B1CC

LB_B1C9 B1C9 01C R= 3B1CA 329 ?NC XQ Decrement pt in A[0-3]B1CB 0A4 ->29CA [DECADA] - increases adr

LB_B1CC B1CC 130 LDI S&X B1CD 0C3 CON: base = R195B1CE 270 RAMSLCTB1CF 04E C=0 ALLB1D0 05C R= 4B1D1 0AA A<>C R<-B1D2 2F0 WRITDATA R195B1D3 34D ?NC XQ B1D4 09C ->2703 [SAVRTN]B1D5 2CC ?FSET 13B1D6 067 JC +0C LB_B1E2B1D7 3B8 READ 14(d)B1D8 358 ST=CB1D9 04C ?FSET 4B1DA 047 JC +08 LB_B1E2B1DB 04E C=0 ALLB1DC 2E8 WRIT 11(a) R216B1DD 338 READ 12(b) R217B1DE 00E A=0 ALLB1DF 10A A=C R<-B1E0 0AE A<>C ALLB1E1 328 WRIT 12(b) R217

LB_B1E2 B1E2 2B8 READ 10(+)B1E3 10A A=C R<-B1E4 130 LDI S&X B1E5 0C3 CON: base = R195B1E6 270 RAMSLCTB1E7 038 READATA R195B1E8 27C RCR 9B1E9 0AA A<>C R<-B1EA 0BC RCR 5B1EB 2F0 WRITDATA R195B1EC 04E C=0 ALLB1ED 270 RAMSLCT select Chip0B1EE 25C R= 9B1EF 110 LD@R 4B1F0 390 LD@R EB1F1 150 LD@R 5B1F2 110 LD@R 4B1F3 150 LD@R 5B1F4 090 LD@R 2 "NTRIS" B1F5 110 LD@R 4 SIRTN backwardsB1F6 250 LD@R 9B1F7 150 LD@R 5B1F8 0D0 LD@R 3B1F9 158 M=CB1FA 268 WRIT 9(Q)B1FB 315 ?NC XQ Alpha SearchB1FC 098 ->26C5 [ASRCH]B1FD 2EE ?C#0 ALL name found?B1FE 01B JNC +03 no, trigger error - LB_B201B1FF 24C ?FSET 9B200 023 JNC +04 no, skip over - LB_B204

(c) Ángel Martin Page 9 of 72 May 2011

Page 10: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentLB_B201 B201 369 PORT DEP: Error conditions

B202 03C GOB203 1BC ->B1BC [ERRCHK]

LB_B204 B204 0C8 SETF 10B205 20C ?FSET 2B206 017 JC +02 B208B207 0C4 CLRF 10

LB_B208 B208 10E A=C ALLB209 01C R= 3B20A 31D ?NC XQ B20B 0A4 ->29C7 [DECAD]B20C 0BD ?NC XQ B20D 08C ->232F [PUTPCX]B20E 34D ?NC XQ B20F 09C ->27D3 [SAVRTN]B210 10E A=C ALLB211 130 LDI S&X B212 0C3 CON: base=R195B213 270 RAMSLCTB214 038 READATAB215 0BC RCR 5B216 0AA A<>C R<-B217 27C RCR 9B218 2F0 WRITDATAB219 3E0 RTN

1 APEREX B21A 3A1 ?NC XQ 2 B21B 088 ->22E8 [ERRSUB]3 B21C 188 SETF 114 B21D 3C1 ?NC XQ 5 B21E 0B0 ->2CF0 [CLLCDE]6 B21F 3BD ?NC GO 7 B220 01E ->07EF [MESSL]1 LB_B221 B221 1BA A=A-1 M2 B222 360 ?C RTN3 B223 0A6 A<>C S&X4 B224 270 RAMSLCT5 B225 266 C=C-1 S&X6 B226 0A6 A<>C S&X7 B227 038 READATA8 B228 0E6 B<>C S&X9 B229 270 RAMSLCT10 B22A 266 C=C-1 S&X11 B22B 0E6 B<>C S&X12 B22C 2F0 WRITDATA13 B22D 3A3 JNC -0C B2211 COPYTBL COPYBL B22E 1BA A=A-1 M carry set if A[M] = 02 COPYTBL B22F 360 ?C RTN3 B230 0A6 A<>C S&X4 copies a register block: B231 270 RAMSLCT select addr#1 (from A)5 # of regs in A[M] B232 226 C=C+1 S&X increase addr#!6 from A[S&X] to B[S&X] B233 0A6 A<>C S&X save it to A[S&X]7 B234 038 READATA read reg value8 COPYTBL B235 0E6 B<>C S&X9 COPYTBL B236 270 RAMSLCT select adr#2 (from B)10 COPYTBL B237 226 C=C+1 S&X increase adr#211 COPYTBL B238 0E6 B<>C S&X12 COPYTBL B239 2F0 WRITDATA write value#1 to RG#2

(c) Ángel Martin Page 10 of 72 May 2011

Page 11: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment13 COPYTBL B23A 3A3 JNC -0C B22E1 CHKBUF CHKBUF B23B 0E0 SLCTQ2 CHKBUF B23C 2DC R= 13 q = 133 B23D 0A0 SLCTP4 Searchs for Buffer id#=15 B23E 046 C=0 S&X5 Returns Buf adr in A B23F 270 RAMSLCT Select Chip06 and buffer header in C B240 378 READ 13(c ) read .END. Location7 or Zero if not found. B241 0E6 B<>C S&X save it in B[S&X]8 B=0 if it's "reclaimed". B242 130 LDI S&X9 B243 0C0 CON: 0C0 bottom of RAM10 CHKBUF LB_B244 B244 106 A=C S&X save addr# in A11 CHKBUF B245 270 RAMSLCT select addr12 CHKBUF B246 326 ?A<B S&X is addr < .END. ?13 CHKBUF B247 0CB JNC +19 no, clear C & return14 CHKBUF B248 038 READATA yes, read register value15 CHKBUF B249 2EE ?C#0 ALL is it not zero? (ie. Buffer header)16 CHKBUF B24A 0B3 JNC +16 no buffers exist, , clear C & retur17 CHKBUF B24B 23E C=C+1 MS yes, is it KA?18 CHKBUF B24C 08F JC +11 yes, keep counting [LB_B25D]19 CHKBUF B24D 27E C=C-1 MS no, restore MS value20 CHKBUF B24E 35C R= 1221 CHKBUF B24F 112 A=C P-Q A(13,12) = C(13,12)22 CHKBUF B250 2DC R= 1323 CHKBUF B251 390 LD@R E buffer id#24 CHKBUF B252 390 LD@R E buffer id#25 CHKBUF B253 35C R= 1226 CHKBUF B254 372 ?A#C P-Q is this buf id# "EE"?27 CHKBUF B255 06B JNC +0D yes, we found it! [LB_B262]28 CHKBUF B256 05E C=0 MS no,see if it's to be reclaimed29 CHKBUF B257 372 ?A#C P-Q is this buf id# "0E"?30 CHKBUF B258 05B JNC +0B yes, found it - B26331 CHKBUF B259 0FC RCR 10 shift buf size to S&X field32 CHKBUF B25A 056 C=0 XS33 CHKBUF B25B 206 C=C+A S&X add buf Size to A34 CHKBUF B25C 343 JNC -18 loop back35 CHKBUF LB_B25D B25D 0A6 A<>C S&X36 CHKBUF B25E 226 C=C+1 S&X increase addr#37 CHKBUF B25F 32B JNC -1B loop back38 CHKBUF LB_B260 B260 04E C=0 ALL clears C as "not found"39 CHKBUF B261 3E0 RTN returns 'target" adr in A[S&X]40 CHKBUF LB_B262 B262 3E0 RTN returns "EE" adr in A[S&X]41 CHKBUF LB_B263 B263 026 B=0 S&X clears B as "reclaimed" flag42 CHKBUF B264 3E0 RTN returns "EE" adr in A[S&X]

MAKEBUF B265 046 C=0 S&XB266 270 RAMSLCT select Chip0B267 04E C=0 ALLB268 0A6 A<>C S&X needed size to C[S&X]B269 268 WRIT 9(Q) writes buf size in QB26A 379 PORT DEPT: Search for BufferB26B 03C XQ Returns buf adr# in C[S&X]B26C 23B ->B23B [CHKBUF]B26D 2EE ?C#0 ALL was the buffer found? (C#0)B26E 143 JNC +28 no, jump ahead - LB_B296B26F 0A6 A<>C S&X copy buf adr to C[S&X]

LB_B270 B270 106 A=C S&X keep in A[S&X]B271 270 RAMSLCT select bufferB272 326 ?A<B S&X is address < .END.?

(c) Ángel Martin Page 11 of 72 May 2011

Page 12: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB273 043 JNC +08 no, means it's reclaimed! - B27BB274 038 READATA yes, read buf headerB275 2EE ?C#0 ALL is it not zero?B276 02B JNC +05 no, error of some kind - B27BB277 0FC RCR 10 shift buf size to S&X fieldB278 056 C=0 XSB279 206 C=C+A S&X add buf Size to AB27A 3B3 JNC -0A B270

LB_B27B B27B 066 A<>B S&XB27C 186 A=A-B S&XB27D 046 C=0 S&XB27E 270 RAMSLCT select Chip0B27F 278 READ 9(Q) required size to C[S&X]B280 03C RCR 3B281 0C6 C=B S&XB282 1BC RCR 11B283 268 WRIT 9(Q)B284 086 B=A S&XB285 106 A=C S&XB286 130 LDI S&X B287 0C0 CON: base=R192B288 270 RAMSLCT bottom of RAMB289 038 READATA R192B28A 13C RCR 8B28B 31C R= 1B28C 1CA A=A-C R<-B28D 360 ?C RTNB28E 016 A=0 XSB28F 346 ?A#0 S&XB290 3A0 ?NC RTNB291 1A6 A=A-1 S&XB292 326 ?A<B S&XB293 027 JC +04 LB_B297B294 046 C=0 S&XB295 3E0 RTN

LB_B296 B296 12B JNC +25 LB_B2BBLB_B297 B297 166 A=A+1 S&X

B298 0E6 B<>C S&XB299 0C6 C=B S&XB29A 20A C=C+A R<-B29B 23C RCR 2B29C 20A C=C+A R<-B29D 07C RCR 4B29E 2F0 WRITDATAB29F 036 B=0 XSB2A0 066 A<>B S&XB2A1 130 LDI S&XB2A2 0C1 CON: B2A3 146 A=A+C S&XB2A4 046 C=0 S&XB2A5 270 RAMSLCTB2A6 278 READ 9(Q)B2A7 03C RCR 3B2A8 0A6 A<>C S&XB2A9 1C6 A=A-C S&XB2AA 0A6 A<>C S&XB2AB 05A C=0 M

(c) Ángel Martin Page 12 of 72 May 2011

Page 13: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB2AC 1BC RCR 11B2AD 11A A=C MB2AE 278 READ 9(Q)B2AF 03C RCR 3B2B0 106 A=C S&XB2B1 066 A<>B S&XB2B2 126 A=A+B S&XB2B3 1A6 A=A-1 S&XB2B4 066 A<>B S&XB2B5 1A6 A=A-1 S&XB2B6 379 PORT DEP:B2B7 03C XQB2B8 221 ->B221 [LB_B221]B2B9 0A6 A<>C S&XB2BA 3E0 RTN

LB_B2BB B2BB 066 A<>B S&X bring .END. To A[S&X]B2BC 186 A=A-B S&X A[S&X] = .END. - B[S&X]B2BD 36D PORT DEP: Set base = R192B2BE 08C XQ and ReadDataB2BF 39F ->B79F [BSE0C0]B2C0 23E C=C+1 MS carry if C[MS] = "F"B2C1 013 JNC +02 LB_B2C3B2C2 166 A=A+1 S&X adds 1 to adr in A[S&X]

LB_B2C3 B2C3 046 C=0 S&XB2C4 270 RAMSLCT select Chip0B2C5 278 READ 9(Q)B2C6 03C RCR 3B2C7 0C6 C=B S&XB2C8 1BC RCR 11B2C9 268 WRIT 9(Q)B2CA 226 C=C+1 S&XB2CB 226 C=C+1 S&XB2CC 1C6 A=A-C S&XB2CD 01B JNC +03 LB_B2D0B2CE 046 C=0 S&XB2CF 3E0 RTN

LB_B2D0 B2D0 130 LDI S&XB2D1 0C0 CON: base=R192

LB_B2D2 B2D2 106 A=C S&XB2D3 270 RAMSLCTB2D4 038 READATAB2D5 23E C=C+1 MSB2D6 023 JNC +04 LB_B2DAB2D7 0A6 A<>C S&XB2D8 226 C=C+1 S&XB2D9 3CB JNC -07 LB_B2D2

LB_B2DA B2DA 130 LDI S&X B2DB 0C0 CON: base=R192B2DC 01E A=0 MSB2DD 17E A=A+1 MSB2DE 1C6 A=A-C S&XB2DF 346 ?A#0 S&XB2E0 01F JC +03 LB_B2E3B2E1 166 A=A+1 S&XB2E2 01E A=0 MS

LB_B2E3 B2E3 046 C=0 S&XB2E4 270 RAMSLCT

(c) Ángel Martin Page 13 of 72 May 2011

Page 14: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB2E5 278 READ 9(Q)B2E6 226 C=C+1 S&XB2E7 146 A=A+C S&XB2E8 17C RCR 6B2E9 0A6 A<>C S&XB2EA 13C RCR 8B2EB 266 C=C-1 S&XB2EC 268 WRIT 9(Q)B2ED 03C RCR 3B2EE 106 A=C S&XB2EF 1A6 A=A-1 S&XB2F0 086 B=A S&XB2F1 130 LD I S&X B2F2 0BF CON: base = R191B2F3 246 C=A-C S&XB2F4 1BC RCR 11B2F5 226 C=C+1 S&XB2F6 35E ?A#0 MSB2F7 017 JC +02 LB_B2F9B2F8 226 C=C+1 S&X

LB_B2F9 B2F9 146 A=A+C S&XB2FA 03C RCR 3B2FB 05A C=0 MB2FC 1BC RCR 11B2FD 11A A=C MB2FE 066 A<>B S&XB2FF 379 PORT DEP:B300 03C XQB301 221 ->B221 [LB_B221]B302 046 C=0 S&XB303 270 RAMSLCT select Chip0B304 278 READ 9(Q) reads needed size from QB305 0E6 B<>C S&X saves it in B[S&X]B306 17C RCR 6B307 106 A=C S&XB308 130 LDI S&X B309 0C0 CON: base=R192B30A 270 RAMSLCT bottom of RAMB30B 04E C=0 ALLB30C 2DC R= 13B30D 390 LD@R E buf id#B30E 390 LD@R E buf id#B30F 0FC RCR 10 shift adr field to C[S&X]B310 0A6 A<>C S&XB311 0B6 A<>C XSB312 106 A=C S&XB313 016 A=0 XSB314 37C RCR 12B315 0E6 B<>C S&XB316 0F6 B<>C XSB317 17C RCR 6B318 2F0 WRITDATA writes buffer header in 0C0B319 04E C=0 ALLB31A 068 WRIT 1(Z) clear next two regsB31B 0A8 WRIT 2(Y) within the bufferB31C 130 LDI S&X B31D 0C0 CON: base=R192

(c) Ángel Martin Page 14 of 72 May 2011

Page 15: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB31E 206 C=C+A S&XB31F 266 C=C-1 S&XB320 270 RAMSLCT select buf "footer" (last reg)B321 038 READATA read "footer" valueB322 23E C=C+1 MS sets carry if MS = "F"B323 027 JC +04 yes, skip to [LB_B327]B324 04E C=0 ALLB325 27E C=C-1 MS change MS to "F"B326 2F0 WRITDATA writes "footer" value

LB_B327 B327 046 C=0 S&XB328 226 C=C+1 S&XB329 3E0 RTN

LB_B32A B32A 104 CLRF 8B32B 244 CLRF 9B32C 260 SETHEXB32D 379 PORT DEPT: Search for BufferB32E 03C XQ Returns buf adr# in C[S&X]B32F 23B ->B23B [CHKBUF]B330 2EE ?C#0 ALL was buffer found?B331 3A0 ?NC RTN no, return!B332 038 READATAB333 358 ST=CB334 38C ?FSET 0B335 013 JNC +02 LB_B337B336 248 SETF 9

LB_B337 B337 28C ?FSET 7B338 0E3 JNC +1C LB_B354B339 00C ?FSET 3B33A 08B JNC +11 LB_B34BB33B 108 SETF 8B33C 04C ?FSET 4B33D 03F JC +07 LB_B344B33E 004 CLRF 3B33F 048 SETF 4B340 398 C=STB341 2F0 WRITDATAB342 0B8 READ 2(Y)B343 033 JNC +06 LB_B349

LB_B344 B344 284 CLRF 7B345 044 CLRF 4B346 398 C=STB347 2F0 WRITDATAB348 078 READ 1(Z)

LB_B349 B349 158 M=CB34A 0FB JNC +1F LB_B369

LB_B34B B34B 078 READ 1(Z)B34C 158 M=CB34D 2C4 CLRF 13B34E 14C ?FSET 6B34F 013 JNC +02 LB_B351B350 2C8 SETF 13

LB_B351 B351 08C ?FSET 5B352 0BF JC +17 LB_B369B353 06B JNC +0D LB_B360

LB_B354 B354 00C ?FSET 3B355 01F JC +03 LB_B358B356 04E C=0 ALL

(c) Ángel Martin Page 15 of 72 May 2011

Page 16: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB357 3E0 RTN

LB_B358 B358 0B8 READ 2(Y)B359 158 M=CB35A 2C4 CLRF 13B35B 20C ?FSET 2B35C 013 JNC +02 LB_B35EB35D 2C8 SETF 13

LB_B35E B35E 30C ?FSET 1B35F 057 JC +0A LB_B369

LB_B360 B360 046 C=0 S&XB361 270 RAMSLCTB362 3B8 READ 14(d)B363 17C RCR 6B364 358 ST=CB365 284 CLRF 7B366 398 C=STB367 13C RCR 8B368 3A8 WRIT 14(d)

LB_B369 B369 046 C=0 S&XB36A 270 RAMSLCTB36B 198 C=MB36C 27C RCR 9B36D 01C R= 3B36E 2EA ?C#0 R<-B36F 3A0 ?NC RTNB370 10E A=C ALLB371 36D PORT DEP: Adjust PC (?)B372 08C XQB373 3BA ->B7BA [AJSTPC]B374 3B8 READ 14(d)B375 358 ST=CB376 025 ?NC GO B377 09E ->2709 [RTN10]

LB_B378 B378 149 ?NC XQ Enable Chip0B379 024 ->0952 [ENCP00]B37A 0B0 C=NB37B 0E8 WRIT 3(X)B37C 188 SETF 11B37D 379 PORT DEP:B37E 03C XQB37F 32A ->B32A [LB_B32A]B380 10C ?FSET 8B381 027 JC +04 B385B382 379 PORT DEP:B383 03C XQB384 395 ->B395 [LB_B395]

LB_B385 B385 24C ?FSET 9B386 053 JNC +0A B390B387 149 ?NC XQ Enable Chip0B388 024 ->0952 [ENCP00]B389 3B8 READ 14(d)B38A 17C RCR 6B38B 358 ST=CB38C 28C ?FSET 7B38D 01F JC +03 B390B38E 345 ?NCGO B38F 002 ->00D1 [Unlabeled]

(c) Ángel Martin Page 16 of 72 May 2011

Page 17: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentLB_B390 B390 3C5 ?NC GO Normal Function Return

B391 002 ->00F1 [NFRC]LB_B392 B392 379 PORT DEP:

B393 03C XQB394 32A ->B32A [LB_B32A]

LB_B395 B395 379 PORT DEPT: Search for BufferB396 03C XQ Returns buf adr# in C[S&X]B397 23B ->B23B [CHKBUF]B398 2EE ?C#0 ALLB399 3A0 ?NC RTNB39A 0A6 A<>C S&X

LB_B39B B39B 106 A=C S&XB39C 270 RAMSLCTB39D 326 ?A<B S&XB39E 043 JNC +08 LB_B3A6B39F 038 READATAB3A0 2EE ?C#0 ALLB3A1 02B JNC +05 LB_B3A6B3A2 0FC RCR 10B3A3 056 C=0 XSB3A4 206 C=C+A S&XB3A5 3B3 JNC -0A LB_B39B

LB_B3A6 B3A6 086 B=A S&XB3A7 130 LDI S&XB3A8 0C0 CON: bottom of RAMB3A9 106 A=C S&XB3AA 270 RAMSLCTB3AB 038 READATAB3AC 13C RCR 8B3AD 056 C=0 XSB3AE 206 C=C+A S&XB3AF 226 C=C+1 S&XB3B0 106 A=C S&XB3B1 270 RAMSLCTB3B2 038 READATAB3B3 35C R= 12B3B4 2EA ?C#0 R<-B3B5 027 JC +04 LB_B3B9B3B6 23E C=C+1 MSB3B7 013 JNC +02 LB_B3B9B3B8 166 A=A+1 S&X

LB_B3B9 B3B9 0A6 A<>C S&XB3BA 106 A=C S&X source addressB3BB 066 A<>B S&X save it in B (temporarily)B3BC 186 A=A-B S&XB3BD 0A6 A<>C S&X #RGs to copy in C[S&X]B3BE 05A C=0 M clear C[M]B3BF 1BC RCR 11 shift #RGs to C[M|B3C0 11A A=C M # of regs to copy in A[M]B3C1 066 A<>B S&X source addr in A[S&X]B3C2 130 LD S&X B3C3 0C0 CON: bottom of RAMB3C4 0E6 B<>C S&X destination addr in B[S&XB3C5 379 PORT DEP: Copy Registers BlockB3C6 03C XQB3C7 22E ->B22E [COPYBL]B3C8 066 A<>B S&X

(c) Ángel Martin Page 17 of 72 May 2011

Page 18: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentLB_B3C9 B3C9 326 ?A<B S&X

B3CA 043 JNC +08 LB_B3D2B3CB 0A6 A<>C S&XB3CC 270 RAMSLCTB3CD 226 C=C+1 S&XB3CE 106 A=C S&XB3CF 04E C=0 ALLB3D0 2F0 WRITDATAB3D1 3C3 JNC -08 LB_B3C9

LB_B3D2 B3D2 3E0 RTN1 LB_B3D3 B3D3 04E C=0 ALL2 B3D4 01C R= 33 B3D5 190 LD@R 64 B3D6 39C R= 0 C(3,0) = "6008"5 B3D7 210 LD@R 86 B3D8 01C R= 3 setup for [NXBYTA]7 B3D9 10A A=C R<- address pointed to8 LB_B3DA B3DA 2E5 ?NC XQ Get Next Byte by A[0-3]9 B3DB 0A4 ->29B9 [NXBYTA]10 B3DC 056 C=0 XS byte value is in C[0-1]11 B3DD 2E6 ?C#0 S&X12 B3DE 360 ?C RTN byte returned13 B3DF 130 LDI S&X 14 B3E0 005 CON: 15 B3E1 042 C=0 @R16 B3E2 36A ?A#C R<-17 B3E3 3BF JC -09 LB_B3DA18 B3E4 3E0 RTN1 LB_B3E5 B3E5 01C R= 32 B3E6 2ED ?NC XQ Get Byte in A[0-3]3 B3E7 0A4 ->29BB [GTBYTA]4 B3E8 23C RCR 25 B3E9 130 LDI S&X 6 B3EA 005 CON: 7 B3EB 042 C=0 @R8 B3EC 36A ?A#C R<-9 B3ED 01F JC +03 LB_B3F010 B3EE 01E A=0 MS11 B3EF 01B JNC +03 LB_B3F212 LB_B3F0 B3F0 359 ?NC XQ Increment RAM pt in A[0-3]13 B3F1 0A4 ->29D6 [INCADA] - decreases adr14 LB_B3F2 B3F2 37C RCR 1215 B3F3 3E0 RTN1 <GAP> B3F4 000 NOP2 <GAP> B3F5 000 NOP3 <GAP> B3F6 000 NOP4 <GAP> B3F7 000 NOP5 <GAP> B3F8 000 NOP6 <GAP> B3F9 000 NOP7 <GAP> B3FA 000 NOP8 <GAP> B3FB 000 NOP9 <GAP> B3FC 000 NOP10 <GAP> B3FD 000 NOP11 <GAP> B3FE 000 NOP12 <GAP> B3FF 000 NOP1 LB_B400 B400 244 CLRF 92 LB_B401 B401 108 SETF 8

(c) Ángel Martin Page 18 of 72 May 2011

Page 19: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment3 B402 391 PORT DEP: Write to Stack4 B403 08C XQ5 B404 36B ->BB6B [WRTSTK]6 B405 130 LDI S&X7 B406 0C1 CON: base=R1938 B407 270 RAMSLCT9 LB_B408 B408 038 READATA10 B409 05C R= 411 B40A 0EA B<>C R<-12 B40B 01C R= 313 B40C 0BC RCR 514 B40D 10A A=C R<-15 B40E 046 C=0 S&X16 B40F 270 RAMSLCT select Chip017 B410 379 PORT DEP: Adjust PC (?)18 B411 03C XQ19 B412 3BA ->B7BA [AJSTPC]20 B413 05C R= 421 B414 06A A<>B R<-22 B415 0C4 CLRF 1023 B416 342 ?A#0 @R24 B417 013 JNC +02 B41925 B418 0C8 SETF 1026 LB_B419 B419 01C R= 327 B41A 0BD ?NC XQ 28 B41B 08C ->232F [PUTPCX]29 B41C 24C ?FSET 930 B41D 309 ?C GO 31 B41E 01F ->07C2 [RUN]32 B41F 3C1 ?NC GO 33 B420 002 ->00F0 [NFRPU]

FORK2 B421 379 PORT DEP:B422 03C XQB423 395 ->B795 [LB_B795]B424 2F8 READ 11(a)B425 158 M=CB426 379 PORT DEP: Rollup, M->YB427 03C XQB428 3AB ->B7AB [LB_B7AB]B429 06B JNC +0D B436

LB_B42A B42A 0B0 C=NB42B 158 M=CB42C 379 PORT DEP:B42D 03C XQB42E 395 ->B795 [LB_B795]B42F 158 M=CB430 379 PORT DEP: Rollup, M->YB431 03C XQB432 3AB ->B7AB [LB_B7AB]B433 379 PORT DEP Set base = R200B434 03C XQ and ReadDataB435 3A2 ->B7A2 [BSE0C8]

LB_B436 B436 0F0 C<>NB437 341 PORT DEP:B438 08C GOB439 378 ->B378 [LB_B378]

FORK3 B43A 379 PORT DEP: Set base = R202

(c) Ángel Martin Page 19 of 72 May 2011

Page 20: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB43B 03C XQ and ReadDataB43C 3A8 ->B7A8 [BSE0CA]B43D 2EE ?C#0 ALLB43E 027 JC +04 B442B43F 369 PORT DEP:B440 03C GOB441 1A1 ->B5A1 [LB_B5A1]

LB_B442 B442 10E A=C ALLB443 0B0 C=NB444 25E C=A-C MSB445 2FE ?C#0 MSB446 023 JNC +04 B44AB447 369 PORT DEPB448 03C GOB449 1AF ->B5AF [LB_B5AF]

LB_B44A B44A 01E A=0 MSB44B 2A0 SETDECB44C 2BE C=-C-1 MSB44D 01D ?C XQ B44E 061 ->1807 [AD2-10]B44F 260 SETHEXB450 2FE ?C#0 MSB451 01F JC +03 B454B452 2EE ?C#0 ALLB453 027 JC +04 B457

LB_B454 B454 369 PORT DEP:B455 03C GOB456 0F3 ->B4F3 [LB_B4F3]

LB_B457 B457 379 PORT DEP: Set base = R201B458 03C XQ and ReadDataB459 3A5 ->B7A5 [BSE0C9]B45A 2EE ?C#0 ALLB45B 063 JNC +0C B467B45C 379 PORT DEP: Set base = R192B45D 03C XQ and ReadDataB45E 39F ->B79F [BSE0C0]B45F 21C R= 2B460 102 A=C @RB461 0D0 LD@R 3B462 176 A=A+1 XSB463 316 ?A<C XSB464 013 JNC +02 LB_B466B465 0B6 A<>C XS

LB_B466 B466 2F0 WRITDATALB_B467 B467 379 PORT DEP: Set base = R202

B468 03C XQ and ReadDataB469 3A8 ->B7A8 [BSE0CA]B46A 268 WRIT 9(Q) R211B46B 238 READ 8(P) R210B46C 1E8 WRIT 7(O) R209B46D 2F8 READ 11(a) R213B46E 228 WRIT 8(P) R210B46F 0B0 C=NB470 2A8 WRIT 10(+) R212

LB_B471 B471 2B8 READ 10(+) R212B472 10E A=C ALLB473 379 PORT DEP: Builds "1" in C

(c) Ángel Martin Page 20 of 72 May 2011

Page 21: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB474 03C XQ Returns in DEC modeB475 3B5 ->B7B5 [C=1]B476 23A C=C+1 MB477 135 ?NC XQ B478 060 ->184D [MP2-10]B479 260 SETHEXB47A 379 PORT DEP:B47B 03C XQB47C 31D ->B71D [LB_B71D]B47D 379 PORT DEP:B47E 03C XQB47F 2F2 ->B6F2 [R201-R211]B480 2EE ?C#0 ALLB481 09B JNC +13 LB_B494B482 379 PORT DEP:B483 03C XQB484 36A ->B76A [LB_B76A]B485 10E A=C ALLB486 379 PORT DEP:B487 03C XQB488 31A ->B71A [LB_B71A]B489 379 PORT DEP: Builds "1" in CB48A 03C XQ Returns in DEC modeB48B 3B5 ->B7B5 [C=1]B48C 226 C=C+1 S&X x10B48D 226 C=C+1 S&X x100B48E 2BE C=-C-1 MS change signB48F 025 ?C XQ B490 061 ->1809 [AD1-10]B491 260 SETHEXB492 2FE ?C#0 MS is it negative?B493 057 JC +0A LB_B49D

LB_B494 B494 04E C=0 ALLB495 35C R= 12B496 222 C=C+1 @RB497 226 C=C+1 S&XB498 226 C=C+1 S&XB499 10E A=C ALLB49A 379 PORT DEP:B49B 03C XQB49C 31A ->B71A [LB_B71A]

LB_B49D B49D 379 PORT DEP: Set base = R199B49E 03C XQ and ReadDataB49F 399 ->B799 [BSE0C7]B4A0 10E A=C ALLB4A1 238 READ 8(P_B4A2 0AE A<>C ALLB4A3 2A0 SETDECB4A4 2BE C=-C-1 MSB4A5 01D ?C XQ B4A6 061 ->1807 [AD2-10]B4A7 260 SETHEXB4A8 379 PORT DEP:B4A9 03C XQB4AA 31D ->B71D [LB_B71D]B4AB 379 PORT DEP:B4AC 03C XQ

(c) Ángel Martin Page 21 of 72 May 2011

Page 22: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB4AD 379 ->B779 [LB_B779]B4AE 379 PORT DEP Set base = R200B4AF 03C XQ and ReadDataB4B0 3A2 ->B7A2 [BSE0C8]B4B1 2A0 SETDECB4B2 025 ?NC XQ B4B3 060 ->1809 [AD1-10 ]B4B4 260 SETHEXB4B5 379 PORT DEP:B4B6 03C XQB4B7 31D ->B71D [LB_B71D]B4B8 379 PORT DEP:B4B9 03C XQB4BA 356 ->B756 [LB_B756]B4BB 1D8 C<>MB4BC 25E C=A-C MSB4BD 2FE ?C#0 MSB4BE 16B JNC +2D LB_B4EBB4BF 379 PORT DEP:B4C0 03C XQB4C1 352 ->B752 [LB_B752]B4C2 2A0 SETDECB4C3 04E C=0 ALLB4C4 23E C=C+1 MSB4C5 26E C=C-1 ALL

LB_B4C6 B4C6 2A0 SETDECB4C7 13D ?NC XQ B4C8 060 ->184F [MP1-10]B4C9 0A5 ?NC XQ B4CA 050 ->1492 [OVFL10]B4CB 10E A=C ALLB4CC 260 SETHEXB4CD 379 PORT DEP:B4CE 03C XQB4CF 2FD ->B6FD [LB_B6FD]B4D0 2EE ?C#0 ALLB4D1 09F JC +13 LB_B4E4B4D2 379 PORT DEP:B4D3 03C XQB4D4 356 ->B756 [LB_B756]B4D5 379 PORT DEP Set base = R200B4D6 03C XQ and ReadDataB4D7 3A2 ->B7A2 [BSE0C8]B4D8 2A0 SETDECB4D9 025 ?NC XQ B4DA 060 ->1809 [AD1-10 ]B4DB 0A5 ?NC XQ B4DC 050 ->1492 [OVFL10]B4DD 260 SETHEXB4DE 10E A=C ALLB4DF 379 PORT DEP:B4E0 03C XQB4E1 2FD ->B6FD [LB_B6FD]B4E2 2EE ?C#0 ALLB4E3 0FB JNC +1F LB_B502

LB_B4E4 B4E4 2F8 READ 11(a)B4E5 070 N=C

(c) Ángel Martin Page 22 of 72 May 2011

Page 23: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB4E6 006 A=0 S&XB4E7 048 SETF 4B4E8 369 PORT DEP:B4E9 03C GOB4EA 000 ->B400 [LB_B400]

LB_B4EB B4EB 379 PORT DEP:B4EC 03C XQB4ED 352 ->B752 [LB_B752]B4EE 04E C=0 ALLB4EF 35C R= 12B4F0 222 C=C+1 @RB4F1 23A C=C+1 MB4F2 2A3 JNC -2C LB_B4C6

LB_B4F3 B4F3 379 PORT DEP: Set base = R201B4F4 03C XQ and ReadDataB4F5 3A5 ->B7A5 [BSE0C9]B4F6 2EE ?C#0 ALLB4F7 037 JC +06 B4F8 0B0 C=NB4F9 268 WRIT 9(Q)B4FA 369 PORT DEP:B4FB 03C GOB4FC 071 ->B471 [LB_B471]

LB_B4FD B4FD 379 PORT DEP: Set base = R192B4FE 03C XQ and ReadDataB4FF 39F ->B79F [BSE0C0]B500 2F6 ?C#0 XSB501 027 JC +04 LB_B505

LB_B502 B502 369 PORT DEP:B503 03C GOB504 16A ->B56A [LB_B56A]

LB_B505 B505 276 C=C-1 XSB506 2F0 WRITDATAB507 379 PORT DEPB508 03C XQB509 2E7 ->B6E7 [R199-R206]B50A 379 PORT DEP:B50B 03C XQB50C 31D ->B71D [LB_B71D]B50D 0B0 C=NB50E 10E A=C ALLB50F 379 PORT DEP: Set base = R202B510 03C XQ and ReadDataB511 3A8 ->B7A8 [BSE0CA]B512 2A0 SETDECB513 2BE C=-C-1 MSB514 01D ?C XQ B515 061 ->1807 [AD2-10]B516 260 SETHEXB517 379 PORT DEP:B518 03C XQB519 352 ->B752 [LB_B752]B51A 2A0 SETDECB51B 24D ?NC XQ B51C 060 ->1893 [X/Y13]B51D 260 SETHEXB51E 379 PORT DEP:

(c) Ángel Martin Page 23 of 72 May 2011

Page 24: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB51F 03C XQB520 31D ->B71D [LB_B71D]B521 379 PORT DEP:B522 03C XQB523 2F2 ->B6F2 [R201-R211]B524 379 PORT DEP:B525 03C XQB526 31D ->B71D [LB_B71D]B527 379 PORT DEP:B528 03C XQB529 2EC ->B6EC [R199-R207]B52A 379 PORT DEP:B52B 03C XQB52C 306 ->B706 [LB_B706]B52D 2A0 SETDECB52E 2BE C=-C-1 MSB52F 11E A=C MSB530 260 SETHEXB531 379 PORT DEP:B532 03C XQB533 2E3 ->B6E3 [LB_B6E3]B534 379 PORT DEP:B535 03C XQB536 381 ->B781 [LB_B781]B537 379 PORT DEP: Set base = R199B538 03C XQ and ReadDataB539 399 ->B799 [BSE0C7]B53A 10E A=C ALLB53B 2F8 READ 11(a)B53C 0AE A<>C ALLB53D 2A0 SETDECB53E 2BE C=-C-1 SB53F 01D ?C XQ B540 061 ->1807 [AD2-10]B541 260 SETHEXB542 379 PORT DEP:B543 03C XQB544 306 ->B706 [LB_B706]B545 03E B=0 MSB546 2CE ?B#0 ALLB547 063 JNC +0C LB_B553B548 379 PORT DEP:B549 03C XQB54A 30E ->B70E [LB_B70E]B54B 2A0 SETDECB54C 2BE C=-C-1 MSB54D 11E A=C MSB54E 260 SETHEXB54F 379 PORT DEP:B550 03C XQB551 2DF ->B6FD [LB_B6DF]B552 023 JNC +04 LB_B556

LB_B553 B553 379 PORT DEP:B554 03C XQB555 35A ->B75A [LB_B75A]

LB_B556 B556 379 PORT DEP:B557 03C XQ

(c) Ángel Martin Page 24 of 72 May 2011

Page 25: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB558 187 ->B587 [LB_B587]B559 2EE ?C#0 ALLB55A 067 JC +0C LB_B566B55B 379 PORT DEP:B55C 03C XQB55D 35A ->B75A [LB_B75A]B55E 379 PORT DEP:B55F 03C XQB560 187 ->B587 [LB_B587]B561 2EE ?C#0 ALLB562 027 JC +04 LB_B566B563 2F8 READ 11(a)B564 1E8 WRIT 7(O)B565 02B JNC +05 LB_B56A

LB_B566 B566 2F8 READ 11(a)B567 24E C=A-C ALLB568 2EE ?C#0 ALLB569 1D7 JC +3A LB_B5A3

LB_B56A B56A 379 PORT DEP: Set base = R202B56B 03C XQ and ReadDataB56C 3A8 ->B7A8 [BSE0CA]B56D 158 M=CB56E 379 PORT DEP:B56F 03C XQB570 395 ->B795 [LB_B795]B571 158 M=CB572 379 PORT DEP: Rollup, M->YB573 03C XQB574 3AB ->B7AB [LB_B7AB]B575 379 PORT DEP Set base = R200B576 03C XQ and ReadDataB577 3A2 ->B7A2 [BSE0C8]B578 0F0 C<>NB579 046 C=0 S&XB57A 270 RAMSLCT Select Chip0B57B 0B0 C=NB57C 0E8 WRIT 3(X)B57D 349 PORT DEP:B57E 08C XQB57F 32A ->B32A [LB_B32A]B580 10C ?FSET 8B581 027 JC +04 LB_B585B582 349 PORT DEP:B583 08C XQB584 395 ->B395 [LB_B395]

LB_B585 B585 0B9 ?NC GO B586 05A ->162E [SKP]

LB_B587 B587 2A0 SETDECB588 04E C=0 ALLB589 35C R= 12B58A 266 C=C-1 S&XB58B 150 LD@R 5B58C 13D ?NC XQ B58D 060 ->184F [MP1-10]B58E 130 LDI S&XB58F 0C8 CON: base=R200B590 270 RAMSLCT

(c) Ángel Martin Page 25 of 72 May 2011

Page 26: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB591 038 READATA R200B592 025 ?NC XQ B593 060 ->1809 [AD1-10 ]B594 0A5 ?NC XQ B595 050 ->1492 [OVFL10]B596 10E A=C ALLB597 130 LDI S&XB598 0C7 CON: base=R199B599 270 RAMSLCTB59A 0AE A<>C ALLB59B 1E8 WRIT 7(O) R206B59C 10E A=C ALLB59D 238 READ 8(P) R207B59E 24E C=A-C ALLB59F 260 SETHEXB5A0 3E0 RTN

LB_B5A1 B5A1 0B0 C=NB5A2 2A8 WRIT 10(+) R212

LB_B5A3 B5A3 04E C=0 ALLB5A4 268 WRIT 9(Q) R211B5A5 379 PORT DEP: Set base = R199B5A6 03C XQ and ReadDataB5A7 399 ->B799 [BSE0C7]B5A8 2E8 WRIT 11(a) R210B5A9 006 A=0 S&XB5AA 048 SETF 4B5AB 070 N=CB5AC 369 PORT DEP:B5AD 03C GOB5AE 000 ->B400 [LB_B400]

LB_B5AF B5AF 2B8 READ 10(+)B5B0 268 WRIT 9(Q)B5B1 238 READ 8(P)B5B2 10E A=C ALLB5B3 379 PORT DEP: Set base = R199B5B4 03C XQ and ReadDataB5B5 399 ->B799 [BSE0C7]B5B6 0AE A<>C ALLB5B7 1E8 WRIT 7(O) R206B5B8 084 CLRF 5

LB_B5B9 B5B9 0B0 C=NB5BA 2A8 WRIT 10(+) R209B5BB 2F8 READ 11(a) R210B5BC 228 WRIT 8(P) R207B5BD 10E A=C ALLB5BE 379 PORT DEP: Set base = R199B5BF 03C XQ and ReadDataB5C0 399 ->B799 [BSE0C7]B5C1 2A0 SETDECB5C2 2BE C=-C-1 MSB5C3 01D ?C XQ B5C4 061 ->1807 [AD2-10]B5C5 260 SETHEXB5C6 379 PORT DEP:B5C7 03C XQB5C8 31D ->B71D [LB_B71D]B5C9 379 PORT DEP: Set base = R201

(c) Ángel Martin Page 26 of 72 May 2011

Page 27: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB5CA 03C XQ and ReadDataB5CB 3A5 ->B7A5 [BSE0C9]B5CC 10E A=C ALLB5CD 2B8 READ 10(+)B5CE 2A0 SETDECB5CF 261 ?NC XQ B5D0 060 ->1898 [DV2-10]B5D1 04E C=0 ALLB5D2 35C R= 12B5D3 222 C=C+1 @RB5D4 23A C=C+1 MB5D5 2BE C=-C-1 MSB5D6 025 ?C XQ B5D7 061 ->1809 [AD1-10]B5D8 260 SETHEXB5D9 379 PORT DEP:B5DA 03C XQB5DB 306 ->B706 [LB_B706]B5DC 10E A=C ALLB5DD 379 PORT DEP Set base = R200B5DE 03C XQ and ReadDataB5DF 3A2 ->B7A2 [BSE0C8]B5E0 2A0 SETDECB5E1 01D ?NC XQ B5E2 060 ->1807 [AD2-10]B5E3 0A5 ?NC XQ B5E4 050 ->1492 [OVFL10]B5E5 10E A=C ALLB5E6 260 SETHEXB5E7 379 PORT DEP:B5E8 03C XQB5E9 2FD ->B6FD [LB_B6FD]B5EA 2EE ?C#0 ALLB5EB 187 JC +30 LB_B61BB5EC 379 PORT DEP:B5ED 03C XQB5EE 2EC ->B6EC [R199-R207]B5EF 379 PORT DEP Set base = R200B5F0 03C XQ and ReadDataB5F1 3A2 ->B7A2 [BSE0C8]B5F2 2A0 SETDECB5F3 35C R= 12B5F4 2FA ?C#0 MB5F5 037 JC +06 LB_B5FBB5F6 0BE A<>C MSB5F7 2B6 C=-C-1 XS

LB_B5F8 B5F8 226 C=C+1 S&XB5F9 222 C=C+1 @RB5FA 08B JNC +11 LB_B60B

LB_B5FB B5FB 35E ?A#0 MSB5FC 037 JC +06 LB_B602B5FD 2FE ?C#0 MSB5FE 037 JC +06 LB_B604

LB_B5FF B5FF 23A C=C+1 MB600 05B JNC +0B LB_B60BB601 3BB JNC -09 LB_B5F8

LB_B602 B602 2FE ?C#0 MS

(c) Ángel Martin Page 27 of 72 May 2011

Page 28: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB603 3E7 JC -04 LB_B5FF

LB_B604 B604 262 C=C-1 @RB605 2FA ?C#0 MB606 01B JNC +03 LB_B609B607 222 C=C+1 @RB608 013 JNC +02 LB_B60A

LB_B609 B609 266 C=C-1 S&XLB_B60A B60A 27A C=C-1 MLB_B60B B60B 000 NOP

B60C 0A5 ?NC XQ B60D 050 ->1492 [OVFL10]B60E 10E A=C ALLB60F 260 SETHEXB610 379 PORT DEP: Set base = R199B611 03C XQ and ReadDataB612 399 ->B799 [BSE0C7]B613 0AE A<>C ALLB614 2E8 WRIT 11(a)B615 24E C=A-C ALLB616 2EE ?C#0 ALLB617 027 JC +04 B616B618 369 PORT DEP:B619 03C GOB61A 02A ->B42A [LB_B42A]

LB_B61B B61B 278 READ 9(Q)B61C 070 N=CB61D 2F8 READ 11(a)B61E 10E A=C ALLB61F 379 PORT DEP: Set base = R199B620 03C XQ and ReadDataB621 399 ->B799 [BSE0C7]B622 24E C=A-C ALLB623 2EE ?C#0 ALLB624 027 JC +04 B628B625 0B0 C=NB626 08C ?FSET 5B627 053 JNC +0A B631

LB_B628 B628 0AE A<>C ALLB629 10E A=C ALLB62A 006 A=0 S&XB62B 166 A=A+1 S&XB62C 048 SETF 4B62D 070 N=CB62E 369 PORT DEP:B62F 03C GOB630 000 ->B400 [LB_B400]

LB_B631 B631 10E A=C ALLFORK1 B632 379 PORT DEP: Set base = R202

B633 03C XQ and ReadDataB634 3A8 ->B7A8 [BSE0CA]B635 25E C=A-C MSB636 2FE ?C#0 MSB637 023 JNC +04 B63BB638 369 PORT DEP:B639 03C GOB63A 1AF ->B5AF [LB_B5AF]

LB_B63B B63B 2A0 SETDEC

(c) Ángel Martin Page 28 of 72 May 2011

Page 29: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB63C 2B8 READ 10(+)B63D 0AE A<>C ALLB63E 261 ?NC XQ B63F 060 ->1898 [DV2-10]B640 009 ?NC XQ B641 060 ->1802 [SUBONE]B642 260 SETHEXB643 379 PORT DEP:B644 03C XQB645 31D ->B71D [LB_B71D]B646 379 PORT DEP: Set base = R199B647 03C XQ and ReadDataB648 399 ->B799 [BSE0C7]B649 10E A=C ALLB64A 2F8 READ 11(a)B64B 2A0 SETDECB64C 2BE C=-C-1 MSB64D 01D ?C XQ B64E 061 ->1807 [AD2-10]B64F 260 SETHEXB650 379 PORT DEP:B651 03C XQB652 352 ->B752 [LB_B752]B653 2A0 SETDECB654 149 ?NC XQ B655 060 ->1852 [MP2-13]B656 260 SETHEXB657 379 PORT DEP:B658 03C XQB659 31D ->B71D [LB_B71D]B65A 379 PORT DEPB65B 03C XQB65C 2E7 ->B6E7 [R199-R206]B65D 379 PORT DEP:B65E 03C XQB65F 36A ->B76A [LB_B76A]B660 10E A=C ALLB661 379 PORT DEP: Builds "1" in CB662 03C XQ Returns in DEC modeB663 3B5 ->B7B5 [C=1]B664 2BE C=-C-1 MSB665 01D ?C XQ B666 061 ->1807 [AD2-10]B667 10E A=C ALLB668 260 SETHEXB669 379 PORT DEP: Set base = R199B66A 03C XQ and ReadDataB66B 399 ->B799 [BSE0C7]B66C 0AE A<>C ALLB66D 268 WRIT 9(Q)B66E 10E A=C ALLB66F 379 PORT DEP: Puts E-3 in CB670 03C XQ Returns in DEC modeB671 2D3 ->B6D3 [C=E-3]B672 2BE C=-C-1 MSB673 01D ?C XQ B674 061 ->1807 [AD2-10]

(c) Ángel Martin Page 29 of 72 May 2011

Page 30: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB675 260 SETHEXB676 2FE ?C#0 MSB677 19B JNC +33 B6AAB678 379 PORT DEP: Set base = R201B679 03C XQ and ReadDataB67A 3A5 ->B7A5 [BSE0C9]B67B 05E C=0 MSB67C 268 WRIT 9(Q)B67D 10E A=C ALLB67E 379 PORT DEP: Puts E-3 in CB67F 03C XQ Returns in DEC modeB680 2D3 ->B6D3 [C=E-3]B681 01D ?NC XQ B682 060 ->1807 [AD2-10]B683 260 SETHEXB684 379 PORT DEP:B685 03C XQB686 31D ->B71D [LB_B71D]B687 379 PORT DEP: Set base = R201B688 03C XQ and ReadDataB689 3A5 ->B7A5 [BSE0C9]B68A 10E A=C ALLB68B 379 PORT DEP: Builds "1" in CB68C 03C XQ Returns in DEC modeB68D 3B5 ->B7B5 [C=1]B68E 01D ?NC XQ B68F 060 ->1807 [AD2-10]B690 260 SETHEXB691 379 PORT DEP:B692 03C XQB693 306 ->B706 [LB_B706]B694 379 PORT DEP:B695 03C XQB696 31D ->B71D [LB_B71D]B697 379 PORT DEP: Puts E-3 in CB698 03C XQ Returns in DEC modeB699 2D3 ->B6D3 [C=E-3]B69A 286 C=0-C S&XB69B 2BE C=-C-1 MSB69C 025 ?C XQ B69D 061 ->1809 [AD1-10]B69E 2FE ?C#0 MSB69F 173 JNC +2E B6CDB6A0 260 SETHEXB6A1 379 PORT DEP:B6A2 03C XQB6A3 352 ->B752 [LB_B752]B6A4 0B0 C=NB6A5 2A0 SETDECB6A6 2BE C=-C-1 MSB6A7 13D ?C XQ B6A8 061 ->184F [MP1-10]B6A9 0BB JNC +17 B6C0

LB_B6AA B6AA 379 PORT DEP: Set base = R201B6AB 03C XQ and ReadDataB6AC 3A5 ->B7A5 [BSE0C9]B6AD 10E A=C ALL

(c) Ángel Martin Page 30 of 72 May 2011

Page 31: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB6AE 379 PORT DEP: Puts E-3 in CB6AF 03C XQ Returns in DEC modeB6B0 2D3 ->B6D3 [C=E-3]B6B1 286 C=0-C S&XB6B2 2BE C=-C-1 MSB6B3 01D ?C XQ B6B4 061 ->1807 [AD2-10]B6B5 2FE ?C#0 MSB6B6 0BB JNC +17 LB_B6CDB6B7 130 LDI S&XB6B8 0C9 CON: base=R201B6B9 270 RAMSLCTB6BA 038 READATAB6BB 10E A=C ALLB6BC 0B0 C=NB6BD 2BE C=-C-1 MSB6BE 135 ?C XQ B6BF 061 ->184D [MP2-10]

LB_B6C0 B6C0 0A5 ?NC XQ B6C1 050 ->1492 [OVFL10]B6C2 10E A=C ALLB6C3 260 SETHEXB6C4 379 PORT DEP: Set base = R199B6C5 03C XQ and ReadDataB6C6 399 ->B799 [BSE0C7]B6C7 0AE A<>C ALLB6C8 268 WRIT 9(Q) R208B6C9 088 SETF 5B6CA 369 PORT DEP:B6CB 03C GOB6CC 1B9 ->B5B9 [LB_B5B9]

LB_B6CD B6CD 0B0 C=NB6CE 226 C=C+1 S&X x10B6CF 226 C=C+1 S&X x100B6D0 226 C=C+1 S&X x1000B6D1 2BE C=-C-1 MS sign changeB6D2 377 JC -12 LB_B6C0

C=E-3 B6D3 379 PORT DEP: Builds "1" in CB6D4 03C XQ Returns in DEC modeB6D5 3B5 ->B7B5 [C=1]B6D6 266 C=C-1 S&XB6D7 266 C=C-1 S&X divides by 1,000B6D8 266 C=C-1 S&XB6D9 3E0 RTN

ADD13 B6DA 2A0 SETDECB6DB 031 ?NC XQ B6DC 060 ->180C [AD2-13 ]B6DD 260 SETHEXB6DE 3E0 RTN

LB_B6DF B6DF 379 PORT DEP:B6E0 03C XQB6E1 35A ->B75A [LB_B75A]B6E2 3C3 JNC -08 ADD13

LB_B6E3 B6E3 379 PORT DEP:B6E4 03C XQB6E5 356 ->B756 [LB_B756]B6E6 3A3 JNC -0C ADD13

(c) Ángel Martin Page 31 of 72 May 2011

Page 32: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentR199-R206 B6E7 379 PORT DEP: Set base = R199

B6E8 03C XQ and ReadDataB6E9 399 ->B799 [BSE0C7]B6EA 2F8 READ 11(a) R206B6EB 023 JNC +04 LB_B6EF

R199-R207 B6EC 379 PORT DEP: Set base = R199B6ED 03C XQ and ReadDataB6EE 399 ->B799 [BSE0C7]

LB_B6EF B6EF 10E A=C ALLB6F0 238 READ 8(P) R207B6F1 033 JNC +06 LB_B6F7

R201-R211 B6F2 379 PORT DEP: Set base = R201B6F3 03C XQ and ReadDataB6F4 3A5 ->B7A5 [BSE0C9]B6F5 10E A=C ALLB6F6 2B8 READ 10(+) R211

LB_B6F7 B6F7 2A0 SETDECB6F8 2BE C=-C-1 MSB6F9 01D ?C XQ B6FA 061 ->1807 [AD2-10]B6FB 260 SETHEXB6FC 3E0 RTN

LB_B6FD B6FD 379 PORT DEP: Set base = R199B6FE 03C XQ and ReadDataB6FF 399 ->B799 [BSE0C7]B700 0AE A<>C ALLB701 10E A=C ALLB702 2E8 WRIT 11(a) R210B703 238 READ 8(P) R207B704 24E C=A-C ALLB705 3E0 RTN

LB_B706 B706 379 PORT DEP:B707 03C XQB708 352 ->B752 [LB_B752]

DIV13 B709 2A0 SETDECB70A 275 ?NC XQ B70B 060 ->189D [ DV2-13]B70C 260 SETHEXB70D 3E0 RTN

LB_B70E B70E 379 PORT DEP:B70F 03C XQB710 356 ->B756 [LB_B756]B711 3C3 JNC -08 DIV13B712 379 PORT DEP:B713 03C XQB714 335 ->B735 [LB_B735]

LB_B715 B715 22B JNC -3B ADD13B716 379 PORT DEP:B717 03C XQB718 352 ->B752 [LB_B752]B719 3E3 JNC -04 B715

LB_B71A B71A 02E B=0 ALLB71B 07A A<>B MB71C 00B JNC +01 B71D

LB_B71D B71D 130 LDI S&X B71E 0C0 CON: base=R192B71F 270 RAMSLCT bottom of RAM

(c) Ángel Martin Page 32 of 72 May 2011

Page 33: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB720 138 READ 4(L) R196B721 168 WRIT 5(M) R197B722 0F8 READ 3(X) R195B723 128 WRIT 4(L) R196B724 0CE C=B ALLB725 0BE A<>C MSB726 11E A=C MSB727 0E8 WRIT 3(X) R195B728 1B8 READ 6(N) R198B729 0BA A<>C MB72A 19C R= 11B72B 3EA LSHFA R<-B72C 3EA LSHFA R<-B72D 3EA LSHFA R<-B72E 0BA A<>C MB72F 1A8 WRIT 6(N) R198B730 0AA A<>C R<-B731 38A RSHFA R<-B732 38A RSHFA R<-B733 38A RSHFA R<-B734 0E3 JNC +1C B750

LB_B735 B735 130 LDI S&X B736 0C0 CON: base=R192B737 270 RAMSLCT bottom of RAMB738 0EE B<>C ALLB739 1D8 C<>MB73A 1B8 READ 6(N) R198B73B 11A A=C MB73C 09A B=A MB73D 3BA RSHFB MB73E 3BA RSHFB MB73F 3BA RSHFB MB740 11C R= 8B741 0EA B<>C R<-B742 0E6 B<>C S&XB743 1A8 WRIT 6(N) R198B744 0F8 READ 3(X) R195B745 0EE B<>C ALLB746 138 READ 4(L) R196B747 0E8 WRIT 3(X) R195B748 178 READ 5(M) R197B749 128 WRIT 4(L) R196B74A 0BA A<>C MB74B 046 C=0 S&XB74C 03C RCR 3B74D 0FE B<>C MSB74E 1D8 C<>MB74F 0EE B<>C ALL

LB_B750 B750 35C R= 12B751 3E0 RTN

1 LB_B752 B752 130 LDI S&X2 B753 0C3 CON: R195 adr3 B754 09C R= 54 B755 043 JNC +08 B75D5 LB_B756 B756 130 LDI S&X6 B757 0C4 CON: R196 adr7 B758 11C R= 8

(c) Ángel Martin Page 33 of 72 May 2011

Page 34: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment8 B759 023 JNC +04 B75D9 LB_B75A B75A 130 LDI S&X 10 B75B 0C5 CON: R197 adr11 B75C 19C R= 1112 LB_B75D B75D 270 RAMSLCT13 B75E 038 READATA R(base) 14 B75F 0EE B<>C ALL15 B760 1D8 C<>M16 B761 1B8 READ 6(N) R(base)+617 LB_B762 B762 3D4 R=R-118 B763 3CE RSHFC ALL19 B764 214 ?R= 220 B765 3EB JNC -03 B76221 B766 0FE B<>C MS22 B767 0AE A<>C ALL23 B768 1D8 C<>M24 B769 33B JNC -19 B750

LB_B76A B76A 379 PORT DEP:B76B 03C XQB76C 352 ->B752 [LB_B752]B76D 2A0 SETDECB76E 275 ?NC XQ B76F 060 ->189D [DV2-13]B770 0A5 ?NC XQ B771 050 ->1492 [OVFL10]B772 260 SETHEXB773 3E0 RTN

??? B774 0AE A<>C ALLB775 10E A=C ALLB776 158 M=CB777 0CE C=B ALLB778 023 JNC +04 B77C

LB_B779 B779 379 PORT DEP:B77A 03C XQB77B 356 ->B756 [LB_B756]

LB_B77C B77C 2A0 SETDECB77D 149 ?NC XQ B77E 060 ->1852 [MP2-13]B77F 260 SETHEXB780 3E0 RTN

LB_B781 B781 130 LDI S&X B782 0C0 CON: base=R192B783 270 RAMSLCT bottom of RAMB784 1B8 READ 6(N) R198B785 03C RCR 3B786 0A6 A<>C S&XB787 1BC RCR 11B788 1A8 WRIT 6(N) R198B789 130 LDI S&X B78A 0C3 CON: base=R195B78B 270 RAMSLCTB78C 038 READATA R195B78D 0BE A<>C MSB78E 35C R= 12B78F 0EA B<>C R<-B790 2F0 WRITDATA R195B791 3E0 RTN

(c) Ángel Martin Page 34 of 72 May 2011

Page 35: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentLB_B792 B792 270 RAMSLCT

B793 038 READATAB794 3E0 RTN

LB_B795 B795 379 PORT DEP: Rollup, M->YB796 03C XQB797 3AB ->B7AB [LB_B7AB]B798 10E A=C ALL

BSE0C7 B799 130 LDI S&XB79A 0C7 CON:B79B 3BB JNC -09 B792

BSE0D0 B79C 130 LDI S&X B79D 0D0 CON:B79E 3A3 JNC -0C B792

BSE0C0 B79F 130 LDI S&X B7A0 0C0 CON:B7A1 38B JNC -0F B792

BSE0C8 B7A2 130 LDI S&X B7A3 0C8 CON:B7A4 373 JNC -12 B792

BSE0C9 B7A5 130 LDI S&X B7A6 0C9 CON:B7A7 35B JNC -15 B792

BSE0CA B7A8 130 LDI S&X B7A9 0CA CON:B7AA 343 JNC -18 B792

LB_B7AB B7AB 04E C=0 ALLB7AC 270 RAMSLCT selects chip0B7AD 078 READ 1(Z)B7AE 028 WRIT 0(T)B7AF 0B8 READ 2(Y)B7B0 068 WRIT 1(Z)B7B1 198 C=MB7B2 0A8 WRIT 2(Y)B7B3 35C R= 12B7B4 3E0 RTN

C=1 B7B5 04E C=0 ALLB7B6 35C R= 12 C = 1B7B7 222 C=C+1 @RB7B8 2A0 SETDECB7B9 3E0 RTN

AJSTPC B7BA 01C R= 3B7BB 338 READ 12(b)B7BC 0AA A<>C R<- C(3:0) = A(3:0)B7BD 0FC RCR 10B7BE 10E A=C ALLB7BF 2F8 READ 11(a)B7C0 0FC RCR 10B7C1 0AA A<>C R<-B7C2 2E8 WRIT 11(a)B7C3 0AE A<>C ALLB7C4 328 WRIT 12(b)B7C5 3E0 RTN

LB_B7C6 B7C6 0B0 C=NB7C7 2A0 SETDECB7C8 2FA ?C#0 MB7C9 027 JC +04 LB_B7CDB7CA 046 C=0 S&X

(c) Ángel Martin Page 35 of 72 May 2011

Page 36: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB7CB 226 C=C+1 S&XB7CC 276 C=C-1 XS

LB_B7CD B7CD 35C R= 12B7CE 05A C=0 MB7CF 05E C=0 MSB7D0 150 LD@R 5B7D1 0EE B<>C ALLB7D2 046 C=0 S&XB7D3 270 RAMSLCTB7D4 3B8 READ 14(d)B7D5 07C RCR 4B7D6 00E A=0 ALLB7D7 39C R= 0B7D8 0A2 A<>C @RB7D9 046 C=0 S&XB7DA 37C RCR 12B7DB 260 SETHEXB7DC 1E6 C=C+C S&XB7DD 1E6 C=C+C S&XB7DE 2A0 SETDECB7DF 0AE A<>C ALLB7E0 31C R= 1B7E1 226 C=C+1 S&XB7E2 266 C=C-1 S&XB7E3 2E2 ?C#0 @RB7E4 01B JNC +03 LB_B7E7B7E5 042 C=0 @RB7E6 013 JNC +02 LB_B7E8

LB_B7E7 B7E7 2A6 C=-C-1 S&XLB_B7E8 B7E8 1B6 A=A-1 XS

B7E9 07F JC +0F LB_B7F8B7EA 1B6 A=A-1 XSB7EB 06F JC +0D LB_B7F8B7EC 158 M=CB7ED 286 C=0-C S&XB7EE 106 A=C S&XB7EF 046 C=0 S&XB7F0 2B6 C=-C-1 XSB7F1 250 LD@R 9B7F2 146 A=A+C S&XB7F3 126 A=A+B S&XB7F4 356 ?A#0 XSB7F5 01B JNC +03 B7F8B7F6 026 B=0 S&XB7F7 198 C=M

LB_B7F8 B7F8 06E A<>B ALLB7F9 146 A=A+C S&XB7FA 260 SETHEXB7FB 130 LDI S&XB7FC 0D0 CON: base=R208B7FD 270 RAMSLCTB7FE 3E0 RTNB7FF 000 NOP

LB_B800 B800 149 ?NC XQ B801 024 ->0952 [ENCP00]B802 0F8 READ 3(X) lower limitB803 070 N=C

(c) Ángel Martin Page 36 of 72 May 2011

Page 37: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB804 0B8 READ 2(Y) upper limitB805 10E A=C ALLB806 130 LDI S&XB807 0D0 CON: base=R208B808 270 RAMSLCTB809 04E C=0 ALLB80A 0F0 C<>NB80B 2F0 WRITDATAB80C 158 M=CB80D 36D PORT DEP: Rollup, M->YB80E 08C XQB80F 3AB ->B7AB [LB_B7AB]B810 0AE A<>C ALLB811 158 M=CB812 130 LDI S&X B813 0C0 CON: base=R192B814 270 RAMSLCT bottom of RAMB815 198 C=MB816 3E8 WRIT 15(e)B817 2A0 SETDECB818 2BE C=-C-1 MSB819 01D ?C XQ B81A 061 ->1807 [AD2-10]B81B 260 SETHEXB81C 130 LDI S&XB81D 0D0 CON: base=R208B81E 270 RAMSLCTB81F 04E C=0 ALLB820 128 WRIT 4(L)B821 0E8 WRIT 3(X)B822 2DA ?B#0 MB823 02F JC +05 B828B824 158 M=CB825 369 PORT DEP:B826 03C GOB827 33E ->BB3E [LB_BB3E]

LB_B828 B828 379 PORT DEP: Divide by 2B829 03C XQB82A 35B ->BB5B [DIVBY2]B82B 130 LDI S&X B82C 0C0 CON: base=R192B82D 270 RAMSLCT bottom of RAMB82E 3F8 READ 15(e)B82F 025 ?NC XQ B830 060 ->1809 [AD1-10 ]B831 070 N=CB832 260 SETHEXB833 006 A=0 S&XB834 248 SETF 9B835 013 JNC +02 B837

LB_B836 B836 244 CLRF 9LB_B837 B837 166 A=A+1 S&X

B838 166 A=A+1 S&XB839 130 LDI S&XB83A 0D0 CON: base=R208B83B 270 RAMSLCTB83C 138 READ 4(L)

(c) Ángel Martin Page 37 of 72 May 2011

Page 38: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB83D 0F0 C<>NB83E 0EE B<>C ALLB83F 158 M=CB840 046 C=0 S&XB841 270 RAMSLCTB842 0B0 C=NB843 128 WRIT 4(L)B844 0EE B<>C ALLB845 070 N=CB846 104 CLRF 8B847 379 PORT DEP: Write to StackB848 03C XQB849 36B ->BB6B [WRTSTK]B84A 130 LDI S&X B84B 0C2 CON:B84C 270 RAMSLCTB84D 365 PORT DEP:B84E 08C GOB84F 008 ->B408 [LB_B408]

FORK5 B850 36D PORT DEP:B851 08C XQB852 3C6 ->B7C6 [LB_B7C6]B853 0AE A<>C ALLB854 068 WRIT 1(Z)B855 0F8 READ 3(X)B856 0F0 C<>NB857 0E8 WRIT 3(X)B858 006 A=0 S&XB859 166 A=A+1 S&XB85A 369 PORT DEP:B85B 03C GOB85C 150 ->B950 [LB_B950]

FORK0 B85D 36D PORT DEP:B85E 08C XQB85F 3C6 ->B7C6 [LB_B7C6]B860 078 READ 1(Z)B861 2A0 SETDECB862 01D ?NC XQ B863 060 ->1807 [AD2-10]B864 068 WRIT 1(Z)B865 1B8 READ 6(N)B866 10E A=C ALLB867 0B8 READ 2(Y)B868 261 ?NC XQ B869 060 ->1898 [DV2-10]B86A 0AE A<>C ALLB86B 10E A=C ALLB86C 158 M=CB86D 0CE C=B ALLB86E 149 ?NC XQ B86F 060 ->1852 [MP2-13]B870 009 ?NC XQ B871 060 ->1802 [SUBONE]B872 04E C=0 ALLB873 2BE C=-C-1 MSB874 050 LD@R 1 C = -1,5B875 150 LD@R 5

(c) Ángel Martin Page 38 of 72 May 2011

Page 39: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB876 13D ?NC XQ B877 060 ->184F [MP1-10]B878 260 SETHEXB879 36D PORT DEP:B87A 08C XQB87B 31D ->B71D [LB_B71D]B87C 130 LDI S&XB87D 0D0 CON: base=R208B87E 270 RAMSLCTB87F 078 READ 1(Z)B880 2A0 SETDECB881 13D ?NC XQ B882 060 ->184F [MP1-10]B883 130 LDI S&X B884 0C0 CON: base=R192B885 270 RAMSLCT bottom of RAMB886 3B8 READ 14(d)B887 025 ?NC XQ B888 060 ->1809 [AD1-10 ]B889 3A8 WRIT 14(d)B88A 130 LDI S&X B88B 0D0 CON: base=R208B88C 270 RAMSLCTB88D 0F8 READ 3(X)B88E 10E A=C ALLB88F 130 LDI S&X B890 0C0 CON: base=R192B891 270 RAMSLCT bottom of RAMB892 338 READ 12(b)B893 0F0 C<>NB894 01D ?NC XQ B895 060 ->1807 [AD2-10]B896 260 SETHEXB897 379 PORT DEP:B898 03C XQ Returns in DECB899 355 ->BB55 [LB_BB55]B89A 0B0 C=NB89B 0FE B<>C MSB89C 1D8 C<>MB89D 130 LDI S&X B89E 0DE CON:B89F 270 RAMSLCTB8A0 038 READATAB8A1 0FE B<>C MSB8A2 1D8 C<>MB8A3 031 ?NC XQ B8A4 060 ->180C [AD2-13 ]B8A5 260 SETHEXB8A6 36D PORT DEP:B8A7 08C XQB8A8 31D ->B71D [LB_B71D]B8A9 130 LDI S&X B8AA 0DE CON:B8AB 270 RAMSLCTB8AC 038 READATAB8AD 0A6 A<>C S&XB8AE 2F0 WRITDATA

(c) Ángel Martin Page 39 of 72 May 2011

Page 40: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB8AF 07E A<>B MSB8B0 130 LDI S&X B8B1 0C0 CON: base=R192B8B2 270 RAMSLCT bottom of RAMB8B3 0CE C=B ALLB8B4 328 WRIT 12(b)B8B5 04E C=0 ALLB8B6 090 LD@R 2B8B7 10E A=C ALLB8B8 130 LDI S&XB8B9 0D0 CON: base=R208B8BA 270 RAMSLCTB8BB 1B8 READ 6(N)B8BC 2A0 SETDECB8BD 01D ?NC XQ B8BE 060 ->1807 [AD2-10]B8BF 1A8 WRIT 6(N)B8C0 10E A=C ALLB8C1 260 SETHEXB8C2 369 PORT DEP:B8C3 03C GOB8C4 10A ->B90A [LB_B90A]

FORK4 B8C5 130 LDI S&XB8C6 0D0 CON: base=R208B8C7 270 RAMSLCTB8C8 04E C=0 ALLB8C9 1E8 WRIT 7(O)B8CA 36D PORT DEP:B8CB 08C XQB8CC 3C6 ->B7C6 [LB_B7C6]B8CD 0B0 C=NB8CE 168 WRIT 5(M)B8CF 130 LDI S&X B8D0 0C0 CON: base=R192B8D1 270 RAMSLCT bottom of RAMB8D2 0AE A<>C ALLB8D3 368 WRIT 13(c )B8D4 130 LDI S&XB8D5 0D0 CON: base=R208B8D6 270 RAMSLCTB8D7 35C R= 12B8D8 04E C=0 ALLB8D9 090 LD@R 2B8DA 0A8 WRIT 2(Y)B8DB 130 LDI S&XB8DC 0DE CON:B8DD 270 RAMSLCTB8DE 038 READATAB8DF 05E C=0 MSB8E0 046 C=0 S&XB8E1 2F0 WRITDATA

LB_B8E2 B8E2 130 LDI S&X B8E3 0C0 CON: base=R192B8E4 270 RAMSLCT bottom of RAMB8E5 04E C=0 ALLB8E6 328 WRIT 12(b)B8E7 3A8 WRIT 14(d)

(c) Ángel Martin Page 40 of 72 May 2011

Page 41: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB8E8 130 LDI S&XB8E9 0D0 CON: base=R208B8EA 270 RAMSLCTB8EB 0F8 READ 3(X)B8EC 10E A=C ALLB8ED 178 READ 5(M)B8EE 2A0 SETDECB8EF 01D ?NC XQ B8F0 060 ->1807 [AD2-10]B8F1 128 WRIT 4(L)B8F2 130 LDI S&X B8F3 0C0 CON: base=R192B8F4 270 RAMSLCT bottom of RAMB8F5 3F8 READ 15(e) R207B8F6 10E A=C ALLB8F7 130 LDI S&XB8F8 0D0 CON: base=R208B8F9 270 RAMSLCTB8FA 038 READATA R208B8FB 0AE A<>C ALLB8FC 2BE C=-C-1 MSB8FD 01D ?C XQ B8FE 061 ->1807 [AD2-10]B8FF 138 READ 4(L) R212B900 13D ?NC XQ B901 060 ->184F [MP1-10]B902 0A5 ?NC XQ B903 050 ->1492 [OVFL10]B904 2F0 WRITDATAB905 35C R= 12B906 04E C=0 ALL C = 1B907 222 C=C+1 @RB908 1A8 WRIT 6(N)B909 10E A=C ALL

LB_B90A B90A 2A0 SETDECB90B 0B8 READ 2(Y)B90C 0AE A<>C ALLB90D 2BE C=-C-1 MSB90E 01D ?C XQ B90F 061 ->1807 [AD2-10]B910 2FE ?C#0 MSB911 02B JNC +05 B916B912 260 SETHEXB913 369 PORT DEP:B914 03C GOB915 155 ->B955 [LB_B955]

LB_B916 B916 0B8 READ 2(Y)B917 269 ?NC XQ B918 060 ->189A [DV1-10 ]B919 0AE A<>C ALLB91A 10E A=C ALLB91B 158 M=CB91C 0CE C=B ALLB91D 149 ?NC XQ B91E 060 ->1852 [MP2-13]B91F 0E8 WRIT 3(X)B920 0B8 READ 2(Y)

(c) Ángel Martin Page 41 of 72 May 2011

Page 42: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB921 10E A=C ALLB922 01D ?NC XQ B923 060 ->1807 [AD2-10]B924 1B8 READ 6(N)B925 025 ?NC XQ B926 060 ->1809 [AD1-10 ]B927 0F8 READ 3(X)B928 13D ?NC XQ B929 060 ->184F [MP1-10]B92A 0B8 READ 2(Y)B92B 269 ?NC XQ B92C 060 ->189A [DV1-10 ]B92D 04E C=0 ALLB92E 266 C=C-1 S&XB92F 090 LD@R 2 C = 2,5B930 150 LD@R 5B931 13D ?NC XQ B932 060 ->184F [MP1-10]B933 070 N=CB934 130 LDI S&X B935 0C0 CON: base=R192B936 270 RAMSLCT bottom of RAMB937 3F8 READ 15(e)B938 10E A=C ALLB939 260 SETHEXB93A 379 PORT DEP: A minus R208B93B 03C XQB93C 362 ->BB62 [A-R208]B93D 0B0 C=NB93E 13D ?NC XQ B93F 060 ->184F [MP1-10]B940 070 N=CB941 10E A=C ALLB942 130 LDI S&X B943 0C0 CON: base=R192B944 270 RAMSLCT bottom of RAMB945 3F8 READ 15(e)B946 01D ?NC XQ B947 060 ->1807 [AD2-10]B948 0F0 C<>NB949 10E A=C ALLB94A 260 SETHEXB94B 379 PORT DEP: A minus R208B94C 03C XQB94D 362 ->BB62 [A-R208]B94E 0E8 WRIT 3(X)B94F 006 A=0 S&X

LB_B950 B950 166 A=A+1 S&XB951 260 SETHEXB952 369 PORT DEP:B953 03C GOB954 036 ->B836 [LB_B836]

LB_B955 B955 0B8 READ 2(Y)B956 10E A=C ALLB957 2A0 SETDECB958 2BE C=-C-1 MSB959 135 ?C XQ

(c) Ángel Martin Page 42 of 72 May 2011

Page 43: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB95A 061 ->184D [MP2-10]B95B 128 WRIT 4(L)B95C 130 LDI S&X B95D 0C0 CON: base=R192B95E 270 RAMSLCT bottom of RAMB95F 3B8 READ 14(d) R206B960 10E A=C ALLB961 130 LDI S&XB962 0D0 CON: base=R208B963 270 RAMSLCTB964 0B8 READ 2(Y) R210B965 261 ?NC XQ B966 060 ->1898 [DV2-10]B967 0F0 C<>NB968 130 LDI S&X B969 0C0 CON: base=R192B96A 270 RAMSLCT bottom of RAMB96B 378 READ 13(c ) R205B96C 10E A=C ALLB96D 130 LDI S&XB96E 0D0 CON: base=R208B96F 270 RAMSLCTB970 138 READ 4(L) R212B971 261 ?NC XQ B972 060 ->1898 [DV2-10]B973 130 LDI S&X B974 0C0 CON: base=R192B975 270 RAMSLCT bottom of RAMB976 378 READ 13(c )B977 2BE C=-C-1 MSB978 025 ?C XQ B979 061 ->1809 [AD1-10]B97A 0B0 C=NB97B 025 ?NC XQ B97C 060 ->1809 [AD1-10 ]B97D 260 SETHEXB97E 379 PORT DEP: Divide by 2B97F 03C XQB980 35B ->BB5B [DIVBY2]B981 378 READ 13(c )B982 025 ?NC XQ B983 060 ->1809 [AD1-10 ]B984 368 WRIT 13(c )B985 260 SETHEXB986 36D PORT DEP:B987 08C XQB988 352 ->B752 [LB_B752]B989 130 LDI S&XB98A 0D0 CON: base=R208B98B 270 RAMSLCTB98C 1F8 READ 7(O)B98D 070 N=CB98E 0B8 READ 2(Y)B98F 2A0 SETDECB990 269 ?NC XQ B991 060 ->189A [DV1-10 ]B992 178 READ 5(M)

(c) Ángel Martin Page 43 of 72 May 2011

Page 44: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB993 2BE C=-C-1 MSB994 025 ?C XQ B995 061 ->1809 [AD1-10]B996 0B0 C=NB997 025 ?NC XQ B998 060 ->1809 [AD1-10 ]B999 260 SETHEXB99A 36D PORT DEP:B99B 08C XQB99C 31D ->B71D [LB_B71D]B99D 130 LDI S&XB99E 0D0 CON: base=R208B99F 270 RAMSLCTB9A0 178 READ 5(M)B9A1 10E A=C ALLB9A2 0F0 C<>NB9A3 2A0 SETDECB9A4 01D ?NC XQ B9A5 060 ->1807 [AD2-10]B9A6 138 READ 4(L)B9A7 269 ?NC XQ B9A8 060 ->189A [DV1-10 ]B9A9 260 SETHEXB9AA 36D PORT DEP:B9AB 08C XQB9AC 335 ->B735 [LB_B735]B9AD 2A0 SETDECB9AE 031 ?NC XQ B9AF 060 ->180C [AD2-13 ]B9B0 260 SETHEXB9B1 379 PORT DEP:B9B2 03C XQB9B3 35B ->BB5B [LB_BB5B]B9B4 0F0 C<>NB9B5 025 ?NC XQ B9B6 060 ->1809 [AD1-10 ]B9B7 260 SETHEXB9B8 36D PORT DEP:B9B9 08C XQB9BA 31D ->B71D [LB_B71D]B9BB 130 LDI S&X B9BC 0C0 CON: base=R192B9BD 270 RAMSLCT bottom of RAMB9BE 378 READ 13(c )B9BF 070 N=CB9C0 130 LDI S&XB9C1 0D0 CON: base=R208B9C2 270 RAMSLCTB9C3 0B8 READ 2(Y)B9C4 2A0 SETDECB9C5 1FA C=C+C MB9C6 023 JNC +04 B9CAB9C7 3DA RSHFC MB9C8 050 LD@R 1B9C9 226 C=C+1 S&X

LB_B9CA B9CA 10E A=C ALLB9CB 0A8 WRIT 2(Y)

(c) Ángel Martin Page 44 of 72 May 2011

Page 45: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentB9CC 135 ?NC XQ B9CD 060 ->184D [MP2-10]B9CE 009 ?NC XQ B9CF 060 ->1802 [SUBONE]B9D0 158 M=CB9D1 260 SETHEXB9D2 36D PORT DEP:B9D3 08C XQB9D4 395 ->B795 [LB_B795]B9D5 0B0 C=NB9D6 0AE A<>C ALLB9D7 2A0 SETDECB9D8 261 ?NC XQ B9D9 060 ->1898 [DV2-10]B9DA 0B0 C=NB9DB 025 ?NC XQ B9DC 060 ->1809 [AD1-10 ]B9DD 368 WRIT 13(c )B9DE 0EE B<>C ALLB9DF 046 C=0 S&XB9E0 270 RAMSLCTB9E1 0B8 READ 2(Y)B9E2 10E A=C ALLB9E3 078 READ 1(Z)B9E4 0A8 WRIT 2(Y)B9E5 046 C=0 S&XB9E6 270 RAMSLCTB9E7 038 READ 0(T)B9E8 068 WRIT 1(Z)B9E9 0EE B<>C ALLB9EA 02E B=0 ALLB9EB 07A A<>B MB9EC 260 SETHEXB9ED 36D PORT DEP:B9EE 08C XQB9EF 306 ->B706 [LB_B706]B9F0 36D PORT DEP:B9F1 08C XQB9F2 352 ->B752 [LB_B752]B9F3 2A0 SETDECB9F4 031 ?NC XQ B9F5 060 ->180C [AD2-13 ]B9F6 070 N=CB9F7 09E B=A MSB9F8 130 LDI S&X B9F9 0C0 CON: base=R192B9FA 270 RAMSLCT bottom of RAMB9FB 0CE C=B ALLB9FC 328 WRIT 12(b)B9FD 130 LDI S&XB9FE 0DE CON:B9FF 270 RAMSLCTBA00 038 READATABA01 0A6 A<>C S&XBA02 106 A=C S&XBA03 2F0 WRITDATABA04 0B0 C=N

(c) Ángel Martin Page 45 of 72 May 2011

Page 46: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentBA05 2BE C=-C-1 MSBA06 025 ?C XQ BA07 061 ->1809 [AD1-10 ]BA08 158 M=CBA09 038 READATABA0A 10E A=C ALLBA0B 130 LDI S&X BA0C 0C0 CON: base=R192BA0D 270 RAMSLCT bottom of RAMBA0E 0AE A<>C ALLBA0F 3A8 WRIT 14(d)BA10 130 LDI S&XBA11 0D0 CON: base=R208BA12 270 RAMSLCTBA13 198 C=MBA14 0E8 WRIT 3(X)BA15 178 READ 5(M)BA16 10E A=C ALLBA17 0B0 C=NBA18 0AE A<>C ALLBA19 2BE C=-C-1 MSBA1A 01D ?C XQ BA1B 061 ->1807 [AD2-10]BA1C 128 WRIT 4(L)BA1D 0B0 C=NBA1E 168 WRIT 5(M)BA1F 288 SETF 7BA20 108 SETF 8BA21 04E C=0 ALLBA22 068 WRIT 1(Z)BA23 130 LDI S&X BA24 0C0 CON: base=R192BA25 270 RAMSLCT bottom of RAMBA26 3B8 READ 14(d)BA27 04A C=0 R<-BA28 2FC RCR 13BA29 10E A=C ALLBA2A 04E C=0 ALLBA2B 31C R= 1BA2C 350 LD@R DBA2D 3A8 WRIT 14(d)BA2E 190 LD@R 6BA2F 31C R= 1BA30 102 A=C @RBA31 39C R= 0BA32 148 SETF 6BA33 302 ?A<C @RBA34 01B JNC +03 BA37BA35 0AE A<>C ALLBA36 144 CLRF 6

LB_BA37 BA37 0F0 C<>NLB_BA38 BA38 28C ?FSET 7

BA39 01F JC +03 BA3CBA3A 104 CLRF 8BA3B 013 JNC +02 BA3D

LB_BA3C BA3C 284 CLRF 7LB_BA3D BA3D 130 LDI S&X

(c) Ángel Martin Page 46 of 72 May 2011

Page 47: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentBA3E 0D0 CON: base=R208BA3F 270 RAMSLCTBA40 078 READ 1(Z)BA41 10E A=C ALLBA42 04E C=0 ALLBA43 35C R= 12BA44 110 LD@R 4BA45 2A0 SETDECBA46 135 ?NC XQ BA47 060 ->184D [MP2-10]BA48 04E C=0 ALLBA49 0D0 LD@R 3BA4A 025 ?NC XQ BA4B 060 ->1809 [AD1-10 ]BA4C 068 WRIT 1(Z)BA4D 0F8 READ 3(X)BA4E 10E A=C ALLBA4F 130 LDI S&XBA50 007 CON:BA51 0E6 B<>C S&XBA52 260 SETHEXBA53 130 LDI S&X BA54 0C0 CON: base=R192BA55 270 RAMSLCT bottom of RAMBA56 3B8 READ 14(d)BA57 0AE A<>C ALLBA58 126 A=A+B S&XBA59 0AE A<>C ALLBA5A 270 RAMSLCTBA5B 038 READATABA5C 2A0 SETDECBA5D 2BE C=-C-1 MSBA5E 01D ?C XQ BA5F 061 ->1807 [AD2-10]BA60 138 READ 4(L)BA61 025 ?NC XQ BA62 060 ->1809 [AD1-10 ]BA63 1A8 WRIT 6(N)BA64 130 LDI S&X BA65 0C0 CON: base=R192BA66 270 RAMSLCT bottom of RAMBA67 378 READ 13(c )BA68 10E A=C ALLBA69 0E0 SLCTQBA6A 2DC R= 13BA6B 0A0 SLCTPBA6C 01C R= 3BA6D 1F2 C=C+C P-QBA6E 152 A=A+C P-QBA6F 35E ?A#0 MSBA70 01B JNC +03 BA73BA71 166 A=A+1 S&XBA72 392 RSHFA P-Q

LB_BA73 BA73 130 LDI S&XBA74 0D0 CON: base=R208BA75 270 RAMSLCTBA76 1B8 READ 6(N)

(c) Ángel Martin Page 47 of 72 May 2011

Page 48: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentBA77 05E C=0 MSBA78 2BE C=-C-1 MSBA79 01D ?C XQ BA7A 061 ->1807 [AD2-10]BA7B 2FE ?C#0 MSBA7C 173 JNC +2E LB_BAAABA7D 284 CLRF 7BA7E 108 SETF 8BA7F 130 LDI S&XBA80 007 CON:BA81 0E6 B<>C S&XBA82 260 SETHEXBA83 130 LDI S&X BA84 0C0 CON: base=R192BA85 270 RAMSLCT bottom of RAMBA86 3B8 READ 14(d)BA87 10E A=C ALLBA88 0B0 C=NBA89 39C R= 0BA8A 302 ?A<C @RBA8B 0EB JNC +1D LB_BAA8BA8C 126 A=A+B S&XBA8D 0AE A<>C ALLBA8E 270 RAMSLCTBA8F 0AE A<>C ALLBA90 038 READATABA91 2A0 SETDECBA92 2BE C=-C-1 MSBA93 0AE A<>C ALLBA94 260 SETHEXBA95 226 C=C+1 S&XBA96 270 RAMSLCTBA97 038 READATABA98 2A0 SETDECBA99 01D ?NC XQ BA9A 060 ->1807 [AD2-10]BA9B 078 READ 1(Z)BA9C 13D ?NC XQ BA9D 060 ->184F [MP1-10]BA9E 1B8 READ 6(N)BA9F 269 ?NC XQ BAA0 060 ->189A [DV1-10 ]BAA1 04E C=0 ALLBAA2 090 LD@R 2BAA3 2BE C=-C-1 MSBAA4 025 ?C XQ BAA5 061 ->1809 [AD1-10]BAA6 2FE ?C#0 MSBAA7 01B JNC +03 LB_BAAA

LB_BAA8 BAA8 288 SETF 7BAA9 108 SETF 8

LB_BAAA BAAA 130 LDI S&X BAAB 007 CON:BAAC 0E6 B<>C S&XBAAD 260 SETHEXBAAE 130 LDI S&XBAAF 0D0 CON: base=R208

(c) Ángel Martin Page 48 of 72 May 2011

Page 49: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentBAB0 270 RAMSLCTBAB1 0F8 READ 3(X)BAB2 10E A=C ALLBAB3 130 LDI S&X BAB4 0C0 CON: base=R192BAB5 270 RAMSLCT bottom of RAMBAB6 3B8 READ 14(d)BAB7 0A6 A<>C S&XBAB8 126 A=A+B S&XBAB9 0A6 A<>C S&XBABA 270 RAMSLCTBABB 0AE A<>C ALLBABC 2F0 WRITDATABABD 1B8 READ 6(N)BABE 10E A=C ALLBABF 078 READ 1(Z)BAC0 2A0 SETDECBAC1 261 ?NC XQ BAC2 060 ->1898 [DV2-10]BAC3 0F8 READ 3(X)BAC4 025 ?NC XQ BAC5 060 ->1809 [AD1-10 ]BAC6 0E8 WRIT 3(X)BAC7 130 LDI S&XBAC8 007 CON:BAC9 0E6 B<>C S&XBACA 0C6 C=B S&XBACB 260 SETHEXBACC 130 LDI S&X BACD 0C0 CON: base=R192BACE 270 RAMSLCT bottom of RAMBACF 3B8 READ 14(d)BAD0 10E A=C ALLBAD1 10C ?FSET 8BAD2 133 JNC +26 LB_BAF8BAD3 0B0 C=NBAD4 0AE A<>C ALLBAD5 39C R= 0BAD6 222 C=C+1 @RBAD7 3A8 WRIT 14(d)BAD8 302 ?A<C @RBAD9 027 JC +04 LB_BADDBADA 369 PORT DEP:BADB 03C GOBADC 238 ->BA38 [LB_BA38

LB_BADD BADD 3B8 READ 14(d)BADE 10E A=C ALLBADF 14C ?FSET 6BAE0 057 JC +0A BAEABAE1 130 LDI S&XBAE2 0D0 CON: base=R208BAE3 270 RAMSLCTBAE4 0F8 READ 3(X)BAE5 126 A=A+B S&XBAE6 0AE A<>C ALLBAE7 270 RAMSLCTBAE8 0AE A<>C ALL

(c) Ángel Martin Page 49 of 72 May 2011

Page 50: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentBAE9 2F0 WRITDATA

LB_BAEA BAEA 130 LDI S&XBAEB 0DE CON:BAEC 270 RAMSLCTBAED 038 READATABAEE 2A0 SETDECBAEF 23E C=C+1 MSBAF0 013 JNC +02 BAF2BAF1 27E C=C-1 MS

LB_BAF2 BAF2 046 C=0 S&XBAF3 2F0 WRITDATABAF4 260 SETHEXBAF5 369 PORT DEP:BAF6 03C GOBAF7 0E2 ->B8E2 [LB_B8E2]

LB_BAF8 BAF8 3F8 READ 15(e)BAF9 158 M=CBAFA 260 SETHEXBAFB 36D PORT DEP:BAFC 08C XQBAFD 395 ->B795 [LB_B795]BAFE 130 LDI S&XBAFF 0D0 CON: base=R208BB00 270 RAMSLCTBB01 038 READATABB02 158 M=CBB03 36D PORT DEP: Rollup, M->YBB04 08C XQBB05 3AB ->B7AB [LB_B7AB]BB06 0AE A<>C ALLBB07 2A0 SETDECBB08 2BE C=-C-1 MSBB09 01D ?C XQ BB0A 061 ->1807 [AD2-10]BB0B 130 LDI S&XBB0C 0D0 CON: base=R208BB0D 270 RAMSLCTBB0E 178 READ 5(M)BB0F 070 N=CBB10 0F8 READ 3(X)BB11 158 M=CBB12 260 SETHEXBB13 36D PORT DEP:BB14 08C XQBB15 381 ->B781 [LB_B781]BB16 198 C=MBB17 10E A=C ALLBB18 0B0 C=NBB19 2A0 SETDECBB1A 01D ?NC XQ BB1B 060 ->1807 [AD2-10]BB1C 260 SETHEXBB1D 379 PORT DEP:BB1E 03C XQBB1F 355 ->BB55 [LB_BB55]BB20 070 N=CBB21 260 SETHEX

(c) Ángel Martin Page 50 of 72 May 2011

Page 51: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentBB22 36D PORT DEP:BB23 08C XQBB24 352 ->B752 [LB_B752]BB25 01E A=0 MSBB26 130 LDI S&X BB27 0C0 CON: base=R192BB28 270 RAMSLCT bottom of RAMBB29 378 READ 13(c )BB2A 2A0 SETDECBB2B 13D ?NC XQ BB2C 060 ->184F [MP1-10]BB2D 0B0 C=NBB2E 2FA ?C#0 MBB2F 043 JNC +08 BB37BB30 05A C=0 MBB31 05E C=0 MSBB32 150 LD@R 5

LB_BB33 BB33 266 C=C-1 S&XBB34 3D4 R=R-1BB35 314 ?R= 1BB36 3EB JNC -03 BB33

LB_BB37 BB37 025 ?NC XQ BB38 060 ->1809 [AD1-10 ]BB39 0A5 ?NC XQ BB3A 050 ->1492 [OVFL10]BB3B 2F0 WRITDATABB3C 35C R= 12BB3D 158 M=C

LB_BB3E BB3E 260 SETHEXBB3F 36D PORT DEP: Rollup, M->YBB40 08C XQBB41 3AB ->B7AB [LB_B7AB]BB42 0B0 C=NBB43 2A0 SETDECBB44 0A5 ?NC XQ BB45 050 ->1492 [OVFL10]BB46 0F0 C<>NBB47 260 SETHEXBB48 0D4 ?R= 10BB49 04B JNC +09 BB52BB4A 130 LDI S&X BB4B 0C0 CON: base=R192BB4C 270 RAMSLCT bottom of RAMBB4D 038 READATABB4E 3D8 C<>STBB4F 388 SETF 0BB50 3D8 C<>STBB51 2F0 WRITDATA

LB_BB52 BB52 341 PORT DEP:BB53 08C GOBB54 378 ->B378 [LB_378]

LB_BB55 BB55 36D PORT DEP:BB56 08C XQBB57 352 ->B752 [LB_B752]BB58 2A0 SETDECBB59 149 ?NC GO BB5A 062 ->1852 [MP2-13]

(c) Ángel Martin Page 51 of 72 May 2011

Page 52: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic CommentDIVBY2 BB5B 04E C=0 ALL

BB5C 2A0 SETDECBB5D 35C R= 12 C = 0.5BB5E 266 C=C-1 S&XBB5F 150 LD@R 5BB60 13D ?NC GO BB61 062 ->184F [MP1-10]

A-R208 BB62 130 LDI S&XBB63 0D0 CON: base=R208BB64 270 RAMSLCTBB65 038 READATABB66 0AE A<>C ALLBB67 2A0 SETDECBB68 2BE C=-C-1 MSBB69 01D ?C GO BB6A 063 ->1807 [AD2-10]

1 WRTSTK WRTSTK BB6B 166 A=A+1 S&X2 WRTSTK BB6C 130 LDI S&X3 WRTSTK BB6D 0C1 CON: base=R1934 WRTSTK BB6E 10C ?FSET 85 WRTSTK BB6F 017 JC +02 BB716 WRTSTK BB70 226 C=C+1 S&X base=R1947 WRTSTK LB_BB71 BB71 270 RAMSLCT8 WRTSTK BB72 038 READATA9 WRTSTK BB73 2FC RCR 1310 WRTSTK BB74 39C R= 011 WRTSTK BB75 0A2 A<>C @R12 WRTSTK BB76 102 A=C @R13 WRTSTK BB77 33C RCR 114 WRTSTK BB78 2F0 WRITDATA15 WRTSTK BB79 2A0 SETDEC16 WRTSTK BB7A 0B0 C=N current guess17 WRTSTK BB7B 0A5 ?NC XQ 18 WRTSTK BB7C 050 ->1492 [OVFL10]19 WRTSTK BB7D 158 M=C20 WRTSTK BB7E 046 C=0 S&X21 WRTSTK BB7F 270 RAMSLCT select Chip022 WRTSTK BB80 198 C=M current guess23 WRTSTK BB81 2F0 WRITDATA24 WRTSTK BB82 068 WRIT 1(Z)25 WRTSTK BB83 0A8 WRIT 2(Y)26 WRTSTK BB84 0E8 WRIT 3(X)27 WRTSTK BB85 070 N=C28 WRTSTK BB86 260 SETHEX29 WRTSTK BB87 3E0 RTN1 APRMSG APRMSG BB88 3DD ?NC XQ 2 APRMSG BB89 0AC ->2BF7 [LEFTJ]3 APRMSG BB8A 201 ?NC XQ 4 APRMSG BB8B 070 ->1C80 MSG1055 APRMSG BB8C 3ED ?NC GO 6 APRMSG BB8D 08A ->22FB [ERR110]1 CHRPOL Header BB8E 08C "L"2 CHRPOL Header BB8F 00F "O"3 CHRPOL Header BB90 010 "P" Characteristic Polynomial4 CHRPOL Header BB91 012 "R"5 CHRPOL Header BB92 008 "H"6 CHRPOL Header BB93 003 "C" Eugenio Úbeda

(c) Ángel Martin Page 52 of 72 May 2011

Page 53: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment7 CHRPOL CHRPOL BB94 0AE C<>A ALL8 CHRPOL BB95 3B5 PORT DEP: Run User Code9 CHRPOL BB96 08C XQ10 CHRPOL BB97 3AC ->AFAC [UCRUN]14 CHRPOL FOCAL BB98 030 LENGTH # registers required to hold prog15 CHRPOL FOCAL BB99 260 STATUS b = bytes in first register for COP16 CHRPOL CHRPOL BB9A 1A6 XROM 24.30 Order=? Message17 CHRPOL BB9B 01E A6:1E -EIGEN VCT18 CHRPOL BB9C 184 STOP19 CHRPOL BB9D 183 ENTER^ 20 CHRPOL BB9E 183 ENTER^ 21 CHRPOL BB9F 183 ENTER^ RPLX22 CHRPOL BBA0 135 STO 0523 CHRPOL BBA1 142 *24 CHRPOL BBA2 111 125 CHRPOL BBA3 011 126 CHRPOL BBA4 01A ,27 CHRPOL BBA5 014 428 CHRPOL BBA6 140 +29 CHRPOL BBA7 136 STO 0630 CHRPOL BBA8 140 +31 CHRPOL BBA9 137 STO 0732 CHRPOL BBAA 140 +33 CHRPOL BBAB 138 STO 0834 CHRPOL BBAC 171 X<>Y35 CHRPOL BBAD 151 X^236 CHRPOL BBAE 140 +37 CHRPOL BBAF 1A6 XROM 25,38 CHRPOL BBB0 06C A6:6C SIZE?39 CHRPOL BBB1 171 X<>Y40 CHRPOL BBB2 145 X>Y?41 CHRPOL BBB3 1A6 XROM 25,42 CHRPOL BBB4 05E A6:5E PSIZE43 CHRPOL BBB5 125 RCL 0544 CHRPOL BBB6 11B E45 CHRPOL BBB7 1A6 XROM 24.48 x=1,00x46 CHRPOL BBB8 030 A6:30 E3/E+47 CHRPOL BBB9 142 *48 CHRPOL BBBA 1F3 Text-349 CHRPOL BBBB 052 "R"50 CHRPOL BBBC 031 "1"51 CHRPOL BBBD 030 "0"52 CHRPOL BBBE 1A5 XROM 22,29 Create Matrix53 CHRPOL BBBF 09D A5:9D MATDIM54 CHRPOL BBC0 11A ,55 CHRPOL BBC1 1A5 XROM 22,4756 CHRPOL BBC2 0AF A5:AF MSIJA57 CHRPOL BBC3 1A6 XROM 24.06 Input Matrix by Rows58 CHRPOL BBC4 006 A6:06 "IMR"59 CHRPOL BBC5 128 RCL 0860 CHRPOL BBC6 11B E x=x-161 CHRPOL BBC7 141 - DECX62 CHRPOL BBC8 1F3 Text-363 CHRPOL BBC9 07F "|-"64 CHRPOL BBCA 02C ","65 CHRPOL BBCB 052 "R"66 CHRPOL BBCC 1A6 XROM 24.32

(c) Ángel Martin Page 53 of 72 May 2011

Page 54: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment67 CHRPOL BBCD 020 A6:20 AIP68 CHRPOL BBCE 1A6 XROM 24.08 Make Matrix Equal 69 CHRPOL BBCF 008 A6:08 "MAT="70 CHRPOL BBD0 1A5 XROM 22,13 "Running… " message71 CHRPOL BBD1 08D A5:8D -CCD MTRX72 CHRPOL BBD2 125 RCL 0573 CHRPOL BBD3 1A6 XROM 24.48 x=1,00x74 CHRPOL BBD4 030 A6:30 E3/E+75 CHRPOL BBD5 134 STO 0476 CHRPOL BBD6 105 LBL 0477 CHRPOL BBD7 11A ,78 CHRPOL BBD8 130 STO 0079 CHRPOL BBD9 125 RCL 0580 CHRPOL BBDA 131 STO 0181 CHRPOL BBDB 11B E x=x+182 CHRPOL BBDC 140 + INCX83 CHRPOL BBDD 13A STO 1084 CHRPOL BBDE 128 RCL 0885 CHRPOL BBDF 139 STO 0986 CHRPOL BBE0 106 LBL 0587 CHRPOL BBE1 190 RCL IND 0988 CHRPOL BBE2 08989 CHRPOL BBE3 192 ST+ 0090 CHRPOL BBE4 00091 CHRPOL BBE5 12A RCL 1092 CHRPOL BBE6 192 ST+ 0993 CHRPOL BBE7 00994 CHRPOL BBE8 197 DSE 0195 CHRPOL BBE9 00196 CHRPOL BBEA 1B6 GTO 0597 CHRPOL BBEB 00C <Distance>98 CHRPOL BBEC 124 RCL 0499 CHRPOL BBED 168 INT100 CHRPOL BBEE 195 ST/ 00101 CHRPOL BBEF 000102 CHRPOL BBF0 11B E x=x-1103 CHRPOL BBF1 141 - DECX104 CHRPOL BBF2 126 RCL 06105 CHRPOL BBF3 140 +106 CHRPOL BBF4 120 RCL 00107 CHRPOL BBF5 154 CHS108 CHRPOL BBF6 130 STO 00109 CHRPOL BBF7 191 STO IND Y110 CHRPOL BBF8 0F2111 CHRPOL BBF9 125 RCL 05112 CHRPOL BBFA 131 STO 01113 CHRPOL BBFB 107 LBL 06114 CHRPOL BBFC 12A RCL 10115 CHRPOL BBFD 193 ST- 09116 CHRPOL BBFE 009117 CHRPOL BBFF 120 RCL 00118 CHRPOL BC00 192 ST+ IND 09119 CHRPOL BC01 089120 CHRPOL BC02 197 DSE 01121 CHRPOL BC03 001122 CHRPOL BC04 1B7 GTO 06123 CHRPOL BC05 00B <Distance>

(c) Ángel Martin Page 54 of 72 May 2011

Page 55: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment124 CHRPOL BC06 125 RCL 05125 CHRPOL BC07 1A6 XROM 24.48 x=1,00x126 CHRPOL BC08 030 A6:30 E3/E+127 CHRPOL BC09 132 STO 02128 CHRPOL BC0A 108 LBL 07129 CHRPOL BC0B 125 RCL 05130 CHRPOL BC0C 1A6 XROM 24.48 x=1,00x131 CHRPOL BC0D 030 A6:30 E3/E+132 CHRPOL BC0E 131 STO 01133 CHRPOL BC0F 128 RCL 08134 CHRPOL BC10 139 STO 09135 CHRPOL BC11 109 LBL 08136 CHRPOL BC12 121 RCL 01137 CHRPOL BC13 127 RCL 07138 CHRPOL BC14 140 +139 CHRPOL BC15 11B E x=x-1140 CHRPOL BC16 141 - DECX141 CHRPOL BC17 190 RCL IND 09142 CHRPOL BC18 089143 CHRPOL BC19 191 STO IND Y(2)144 CHRPOL BC1A 0F2145 CHRPOL BC1B 125 RCL 05146 CHRPOL BC1C 192 ST+ 09147 CHRPOL BC1D 009148 CHRPOL BC1E 196 ISG 01149 CHRPOL BC1F 001150 CHRPOL BC20 1B9 GTO 08151 CHRPOL BC21 011 <Distance>152 CHRPOL BC22 125 RCL 05153 CHRPOL BC23 1A6 XROM 24.48 x=1,00x154 CHRPOL BC24 030 A6:30 E3/E+155 CHRPOL BC25 131 STO 01156 CHRPOL BC26 111 1157 CHRPOL BC27 011 1158 CHRPOL BC28 01A ,159 CHRPOL BC29 014 4160 CHRPOL BC2A 13A STO 10161 CHRPOL BC2B 10A LBL 09162 CHRPOL BC2C 11A ,163 CHRPOL BC2D 130 STO 00164 CHRPOL BC2E 125 RCL 05165 CHRPOL BC2F 133 STO 03166 CHRPOL BC30 127 RCL 07167 CHRPOL BC31 10B LBL 10168 CHRPOL BC32 190 RCL IND 10169 CHRPOL BC33 08A170 CHRPOL BC34 190 RCL IND y(2)171 CHRPOL BC35 0F2172 CHRPOL BC36 142 *173 CHRPOL BC37 192 ST+ 00174 CHRPOL BC38 000175 CHRPOL BC39 175 RDN176 CHRPOL BC3A 196 ISG 10177 CHRPOL BC3B 00A178 CHRPOL BC3C 196 ISG X(3)179 CHRPOL BC3D 073180 CHRPOL BC3E 197 DSE 03

(c) Ángel Martin Page 55 of 72 May 2011

Page 56: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment181 CHRPOL BC3F 003182 CHRPOL BC40 1BB GTO 10183 CHRPOL BC41 011 <Distance>184 CHRPOL BC42 121 RCL 01185 CHRPOL BC43 11B E x=x-1186 CHRPOL BC44 141 - DECX187 CHRPOL BC45 125 RCL 05188 CHRPOL BC46 142 *189 CHRPOL BC47 128 RCL 08190 CHRPOL BC48 140 +191 CHRPOL BC49 120 RCL 00192 CHRPOL BC4A 191 STO IND Y(2)193 CHRPOL BC4B 0F2194 CHRPOL BC4C 196 ISG 01195 CHRPOL BC4D 001196 CHRPOL BC4E 1BA GTO 09197 CHRPOL BC4F 025 <Distance>198 CHRPOL BC50 196 ISG 08199 CHRPOL BC51 008200 CHRPOL BC52 196 ISG 02201 CHRPOL BC53 002202 CHRPOL BC54 1B8 GTO 07203 CHRPOL BC55 04C <Distance>204 CHRPOL BC56 125 RCL 05205 CHRPOL BC57 193 ST- 08206 CHRPOL BC58 008207 CHRPOL BC59 196 ISG 04208 CHRPOL BC5A 004209 CHRPOL BC5B 1D0 GTO210 CHRPOL BC5C 086 <Distance>211 CHRPOL BC5D 004 04212 CHRPOL BC5E 127 RCL 07213 CHRPOL BC5F 11B E x=x-1214 CHRPOL BC60 141 - DECX215 CHRPOL BC61 190 RCL IND X(3)216 CHRPOL BC62 0F3217 CHRPOL BC63 125 RCL 05218 CHRPOL BC64 1A6 XROM 24.49 x=(-1)^x * y219 CHRPOL BC65 031 A6:31 CHSYX220 CHRPOL BC66 130 STO 00221 CHRPOL BC67 19F TONE 4222 CHRPOL BC68 004223 CHRPOL BC69 1F4 Text-4224 CHRPOL BC6A 044 "D"225 CHRPOL BC6B 045 "E"226 CHRPOL BC6C 054 "T"227 CHRPOL BC6D 03D "="228 CHRPOL BC6E 19B ARCL 00229 CHRPOL BC6F 000230 CHRPOL BC70 18E PROMPT231 CHRPOL BC71 1A6 XROM 24.45 " Σ (ak*X^K)" Message232 CHRPOL BC72 02D A6:2D -ADV MATH233 CHRPOL BC73 000 PSE234 CHRPOL BC74 11A ,235 CHRPOL BC75 131 STO 01236 CHRPOL BC76 125 RCL 05237 CHRPOL BC77 134 STO 04

(c) Ángel Martin Page 56 of 72 May 2011

Page 57: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment238 CHRPOL BC78 11B E x=x-1239 CHRPOL BC79 141 - DECX240 CHRPOL BC7A 126 RCL 06241 CHRPOL BC7B 140 +242 CHRPOL BC7C 133 STO 03243 CHRPOL BC7D 10E LBL 13244 CHRPOL BC7E 1F1 Text-1245 CHRPOL BC7F 062 "b"246 CHRPOL BC80 121 RCL 01247 CHRPOL BC81 1A6 XROM 24.32248 CHRPOL BC82 020 A6:20 AIP249 CHRPOL BC83 1F2 Text-2250 CHRPOL BC84 07F "|-"251 CHRPOL BC85 03D "="252 CHRPOL BC86 19B ARCL IND 03253 CHRPOL BC87 083254 CHRPOL BC88 18E PROMPT255 CHRPOL BC89 11B E256 CHRPOL BC8A 192 ST+ 01257 CHRPOL BC8B 001258 CHRPOL BC8C 193 ST- 03259 CHRPOL BC8D 003260 CHRPOL BC8E 197 DSE 04261 CHRPOL BC8F 004262 CHRPOL BC90 1BE GTO 13263 CHRPOL BC91 015 <Distance>264 CHRPOL BC92 1F1 Text-1265 CHRPOL BC93 062 "b"266 CHRPOL BC94 125 RCL 05267 CHRPOL BC95 1A6 XROM 24.32268 CHRPOL BC96 020 A6:20 AIP269 CHRPOL BC97 1F2 Text-2270 CHRPOL BC98 07F "|-"271 CHRPOL BC99 03D "="272 CHRPOL BC9A 175 RDN273 CHRPOL BC9B 19B ARCL X(3)274 CHRPOL BC9C 073275 CHRPOL BC9D 18E PROMPT276 CHRPOL BC9E 1A5 XROM 22,13 "Running… " message277 CHRPOL BC9F 08D A5:8D -CCD MTRX278 CHRPOL BCA0 11B E279 CHRPOL BCA1 133 STO 03280 CHRPOL BCA2 125 RCL 05 n 281 CHRPOL BCA3 130 STO 00282 CHRPOL BCA4 11B E283 CHRPOL BCA5 015 5284 CHRPOL BCA6 143 / 0,0000n285 CHRPOL BCA7 114 4286 CHRPOL BCA8 1A6 XROM 24.47 x=0,00x287 CHRPOL BCA9 02F A6:2F E3/288 CHRPOL BCAA 140 + 0,0040n289 CHRPOL BCAB 126 RCL 06 (n^2+11),(n+1)290 CHRPOL BCAC 168 INT291 CHRPOL BCAD 140 + (n^2+11),0040n292 CHRPOL BCAE 1A6 XROM 25,293 CHRPOL BCAF 063 A6:63 REGMOVE294 CHRPOL BCB0 1A1 XROM 06,39 Roots Nth.

(c) Ángel Martin Page 57 of 72 May 2011

Page 58: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment295 CHRPOL BCB1 0A7 A1:A7 "RTSN"296 CHRPOL BCB2 1C6 END 297 CHRPOL FOCAL BCB3 030 <Chain>298 CHRPOL FOCAL BCB4 22F End of program1 EIGEN Header BCB5 08E "N"2 EIGEN Header BCB6 005 "E"3 EIGEN Header BCB7 007 "G" Eigenvalues by SOLVE4 EIGEN Header BCB8 009 "I"5 EIGEN Header BCB9 005 "E"6 EIGEN EIGEN BCBA 0AE C<>A ALL7 EIGEN BCBB 3B5 PORT DEP: Run User Code8 EIGEN BCBC 08C XQ9 EIGEN BCBD 3AC ->AFAC [UCRUN]13 EIGEN FOCAL BCBE 011 LENGTH # registers required to hold prog14 EIGEN FOCAL BCBF 270 STATUS b = bytes in first register for COP15 EIGEN EIGEN BCC0 1AC FS? 0616 EIGEN BCC1 00617 EIGEN BCC2 1B2 GTO 0118 EIGEN BCC3 08E <Distance>19 EIGEN BCC4 1A6 XROM 24.30 Order=? Message20 EIGEN BCC5 01E A6:1E -EIGEN VCT21 EIGEN BCC6 184 STOP22 EIGEN BCC7 11B E23 EIGEN BCC8 1A6 XROM 24.48 x=1,00x24 EIGEN BCC9 030 A6:30 E3/E+25 EIGEN BCCA 142 * n,00n26 EIGEN BCCB 1F2 Text-227 EIGEN BCCC 041 "A"28 EIGEN BCCD 041 "A"29 EIGEN BCCE 1A5 XROM 22,29 Create Matrix30 EIGEN BCCF 09D A5:9D MATDIM31 EIGEN BCD0 1A6 XROM 24.06 Input Matrix by Rows32 EIGEN BCD1 006 A6:06 "IMR"33 EIGEN BCD2 102 LBL 0134 EIGEN BCD3 1A5 XROM 22,1835 EIGEN BCD4 092 A5:92 DIM?36 EIGEN BCD5 1A6 XROM 24.0437 EIGEN BCD6 004 A6:04 I#J?38 EIGEN BCD7 1A6 XROM 24.00 Not_Square message39 EIGEN BCD8 000 A6:00 -AMC MTRX40 EIGEN BCD9 1A6 XROM 24.0441 EIGEN BCDA 004 A6:04 I#J?42 EIGEN BCDB 185 RTN43 EIGEN BCDC 1F2 Text-244 EIGEN BCDD 001 "#" "little alien" chr45 EIGEN BCDE 001 "#"46 EIGEN BCDF 1A5 XROM 22,29 Create Matrix47 EIGEN BCE0 09D A5:9D MATDIM48 EIGEN BCE1 101 LBL 0049 EIGEN BCE2 1F6 Text-650 EIGEN BCE3 04C "L"51 EIGEN BCE4 04F "O"52 EIGEN BCE5 027 " "53 EIGEN BCE6 056 "V"54 EIGEN BCE7 02E "."55 EIGEN BCE8 03D "="56 EIGEN BCE9 03F "?"

(c) Ángel Martin Page 58 of 72 May 2011

Page 59: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment57 EIGEN BCEA 18E PROMPT58 EIGEN BCEB 1F6 Text-659 EIGEN BCEC 048 "H"60 EIGEN BCED 049 "I"61 EIGEN BCEE 027 " "62 EIGEN BCEF 056 "V"63 EIGEN BCF0 02E "."64 EIGEN BCF1 03D "="65 EIGEN BCF2 03F "?"66 EIGEN BCF3 18E PROMPT67 EIGEN BCF4 1A5 XROM 22,13 "Running… " message68 EIGEN BCF5 08D A5:8D -CCD MTRX69 EIGEN BCF6 1F3 Text-370 EIGEN BCF7 023 "#"71 EIGEN BCF8 045 "E"72 EIGEN BCF9 056 "V"73 EIGEN BCFA 1A6 XROM 24.5174 EIGEN BCFB 033 A6:33 SOLVE75 EIGEN BCFC 19F TONE 476 EIGEN BCFD 00477 EIGEN BCFE 1F3 Text-378 EIGEN BCFF 045 "E"79 EIGEN BD00 056 "V"80 EIGEN BD01 03D "="81 EIGEN BD02 19B ARCL X(3)82 EIGEN BD03 07383 EIGEN BD04 18E PROMPT84 EIGEN BD05 1B1 GTO 0085 EIGEN BD06 026 <Distance>86 EIGEN Header BD07 1CA LABEL87 EIGEN Header BD08 00B GLOBAL88 EIGEN Header BD09 0F4 <4-chrs>89 EIGEN Header BD0A 000 "" Equation to Solve:90 EIGEN Header BD0B 023 "#" Det [ A -(x * IDN) ]91 EIGEN Header BD0C 045 "E"92 EIGEN Header BD0D 056 "V"93 EIGEN *EV BD0E 130 STO 00 Ángel Martin94 EIGEN BD0F 1F2 Text-295 EIGEN BD10 001 "#"96 EIGEN BD11 001 "#"97 EIGEN BD12 1A6 XROM 24.14 Make Identity Matrix98 EIGEN BD13 00E A6:0E "MIDN"99 EIGEN BD14 120 RCL 00100 EIGEN BD15 1F1 Text-1101 EIGEN BD16 058 "X"102 EIGEN BD17 1A5 XROM 22,25103 EIGEN BD18 099 A5:99 MAT*104 EIGEN BD19 1F8 Text-8105 EIGEN BD1A 001 "#"106 EIGEN BD1B 001 "#"107 EIGEN BD1C 02C ","108 EIGEN BD1D 041 "A"109 EIGEN BD1E 041 "A"110 EIGEN BD1F 02C ","111 EIGEN BD20 001 "#"112 EIGEN BD21 001 "#"113 EIGEN BD22 1A5 XROM 22,27

(c) Ángel Martin Page 59 of 72 May 2011

Page 60: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment114 EIGEN BD23 09B A5:9B MAT-115 EIGEN BD24 1A5 XROM 22,32116 EIGEN BD25 0A0 A5:A0 MDET117 EIGEN BD26 1CC END 118 EIGEN FOCAL BD27 004 <Chain>119 EIGEN FOCAL BD28 22F End of program1 JACOBI Header BD29 089 "I"2 JACOBI Header BD2A 002 "B"3 JACOBI Header BD2B 00F "O" Symmetrical Matrix4 JACOBI Header BD2C 003 "C" Eigen Values5 JACOBI Header BD2D 001 "A"6 JACOBI Header BD2E 00A "J" Valentin Albillo7 JACOBI JACOBI BD2F 0AE C<>A ALL8 JACOBI BD30 3B5 PORT DEP: Run User Code9 JACOBI BD31 08C XQ10 JACOBI BD32 3AC ->AFAC [UCRUN]11 JACOBI FOCAL BD33 030 LENGTH # registers required to hold prog12 JACOBI FOCAL BD34 250 STATUS b = bytes in first register for COP13 JACOBI JACOBI BD35 1A6 XROM 24.30 Order=? Message14 JACOBI BD36 01E A6:1E -EIGEN VCT15 JACOBI BD37 184 STOP16 JACOBI BD38 183 ENTER^17 JACOBI BD39 183 ENTER^ RPLX18 JACOBI BD3A 151 X^219 JACOBI BD3B 140 +20 JACOBI BD3C 112 2 x=x/221 JACOBI BD3D 143 / HALFX22 JACOBI BD3E 117 723 JACOBI BD3F 140 +24 JACOBI BD40 130 STO 0025 JACOBI BD41 1A6 XROM 26,26 JACOBI BD42 06C A6:6C SIZE?27 JACOBI BD43 171 X<>Y28 JACOBI BD44 145 X>Y?29 JACOBI BD45 1A6 XROM 26,30 JACOBI BD46 05E A6:5E PSIZE31 JACOBI BD47 120 RCL 0032 JACOBI BD48 1A6 XROM 24.48 x=1,00x33 JACOBI BD49 030 A6:30 E3/E+34 JACOBI BD4A 132 STO 0235 JACOBI BD4B 117 736 JACOBI BD4C 134 STO 04 initial data register37 JACOBI BD4D 10D LBL 1238 JACOBI BD4E 122 RCL 0239 JACOBI BD4F 133 STO 0340 JACOBI BD50 108 LBL 0741 JACOBI BD51 1F1 Text-142 JACOBI BD52 061 "a"43 JACOBI BD53 122 RCL 0244 JACOBI BD54 1A6 XROM 24.3245 JACOBI BD55 020 A6:20 AIP46 JACOBI BD56 1F2 Text-247 JACOBI BD57 07F "|-"48 JACOBI BD58 03A ","49 JACOBI BD59 123 RCL 0350 JACOBI BD5A 1A6 XROM 24.3251 JACOBI BD5B 020 A6:20 AIP

(c) Ángel Martin Page 60 of 72 May 2011

Page 61: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment52 JACOBI BD5C 1F3 Text-353 JACOBI BD5D 07F "|-"54 JACOBI BD5E 03D "="55 JACOBI BD5F 03F "?"56 JACOBI BD60 18E PROMPT57 JACOBI BD61 191 STO IND 0458 JACOBI BD62 08459 JACOBI BD63 196 ISG 0460 JACOBI BD64 004 storage data61 JACOBI BD65 171 X<>Y62 JACOBI BD66 196 ISG 0363 JACOBI BD67 003 row index64 JACOBI BD68 1B8 GTO 0765 JACOBI BD69 01A <Distance>66 JACOBI BD6A 196 ISG 0267 JACOBI BD6B 002 column index68 JACOBI BD6C 1BD GTO 1269 JACOBI BD6D 021 <Distance>70 JACOBI BD6E 1F7 Text-771 JACOBI BD6F 050 "P"72 JACOBI BD70 052 "R"73 JACOBI BD71 045 "E"74 JACOBI BD72 043 "C"75 JACOBI BD73 02E "."76 JACOBI BD74 03D "="77 JACOBI BD75 03F "?"78 JACOBI BD76 18E PROMPT79 JACOBI BD77 19C FIX IND X(3)80 JACOBI BD78 0F381 JACOBI BD79 1A5 XROM 22,13 "Running… " message82 JACOBI BD7A 08D A5:8D -CCD MTRX83 JACOBI BD7B 1CF LBL 7084 JACOBI BD7C 04685 JACOBI BD7D 112 286 JACOBI BD7E 133 STO 0387 JACOBI BD7F 1CF LBL 8588 JACOBI BD80 05589 JACOBI BD81 11B E90 JACOBI BD82 1CF LBL 8791 JACOBI BD83 05792 JACOBI BD84 132 STO 0293 JACOBI BD85 1A9 CF 0094 JACOBI BD86 00095 JACOBI BD87 123 RCL 0396 JACOBI BD88 1E0 XE997 JACOBI BD89 0C1 <Distance>98 JACOBI BD8A 0DA 9099 JACOBI BD8B 171 X<>Y100 JACOBI BD8C 16E RND101 JACOBI BD8D 167 X=0?102 JACOBI BD8E 1D0 GTO103 JACOBI BD8F 089 <Distance>104 JACOBI BD90 0D4 84105 JACOBI BD91 1A8 SF 00106 JACOBI BD92 000107 JACOBI BD93 176 LASTX108 JACOBI BD94 193 ST- IND Z(1)

(c) Ángel Martin Page 61 of 72 May 2011

Page 62: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment109 JACOBI BD95 0F1110 JACOBI BD96 131 STO 01111 JACOBI BD97 192 ST+ 01112 JACOBI BD98 001113 JACOBI BD99 154 CHS114 JACOBI BD9A 136 STO 06115 JACOBI BD9B 122 RCL 02116 JACOBI BD9C 122 RCL 02117 JACOBI BD9D 1E0 XE9118 JACOBI BD9E 0AC <Distance>119 JACOBI BD9F 0DA 90120 JACOBI BDA0 191 STO N(6)121 JACOBI BDA1 076122 JACOBI BDA2 175 RDN123 JACOBI BDA3 123 RCL 03124 JACOBI BDA4 123 RCL 03125 JACOBI BDA5 1E0 XE9126 JACOBI BDA6 0A4 <Distance>127 JACOBI BDA7 0DA 90128 JACOBI BDA8 191 STO O(7)129 JACOBI BDA9 077130 JACOBI BDAA 175 RDN131 JACOBI BDAB 141 -132 JACOBI BDAC 191 STO M(5)133 JACOBI BDAD 075134 JACOBI BDAE 112 2135 JACOBI BDAF 143 / HALFX136 JACOBI BDB0 17A SIGN137 JACOBI BDB1 126 RCL 06138 JACOBI BDB2 176 LASTX139 JACOBI BDB3 151 X^2140 JACOBI BDB4 126 RCL 06141 JACOBI BDB5 151 X^2142 JACOBI BDB6 140 +143 JACOBI BDB7 152 SQRT144 JACOBI BDB8 143 /145 JACOBI BDB9 142 *146 JACOBI BDBA 11B E147 JACOBI BDBB 190 RCL Y(2)148 JACOBI BDBC 072149 JACOBI BDBD 151 X^2150 JACOBI BDBE 141 -151 JACOBI BDBF 152 SQRT152 JACOBI BDC0 11B E x=x+1153 JACOBI BDC1 140 + INCX154 JACOBI BDC2 192 ST+ X(3)155 JACOBI BDC3 073156 JACOBI BDC4 152 SQRT157 JACOBI BDC5 143 /158 JACOBI BDC6 136 STO 06159 JACOBI BDC7 194 ST* 01160 JACOBI BDC8 001161 JACOBI BDC9 151 X^2162 JACOBI BDCA 194 ST* M(5)163 JACOBI BDCB 075164 JACOBI BDCC 11B E165 JACOBI BDCD 134 STO 04

(c) Ángel Martin Page 62 of 72 May 2011

Page 63: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment166 JACOBI BDCE 171 X<>Y167 JACOBI BDCF 141 -168 JACOBI BDD0 152 SQRT169 JACOBI BDD1 194 ST* 01170 JACOBI BDD2 001171 JACOBI BDD3 1CE X<> M(5)172 JACOBI BDD4 075173 JACOBI BDD5 121 RCL 01174 JACOBI BDD6 140 +175 JACOBI BDD7 193 ST- IND N(6)176 JACOBI BDD8 0F6177 JACOBI BDD9 192 ST+ IND O(7)178 JACOBI BDDA 0F7179 JACOBI BDDB 102 LBL 01180 JACOBI BDDC 123 RCL 03181 JACOBI BDDD 124 RCL 04182 JACOBI BDDE 178 X=Y?183 JACOBI BDDF 1B9 GTO 08184 JACOBI BDE0 0AE <Distance>185 JACOBI BDE1 122 RCL 02186 JACOBI BDE2 178 X=Y?187 JACOBI BDE3 1B9 GTO 08188 JACOBI BDE4 0AA <Distance>189 JACOBI BDE5 1E0 XEQ190 JACOBI BDE6 064 <Distance>191 JACOBI BDE7 0DA 90192 JACOBI BDE8 135 STO 05193 JACOBI BDE9 175 RDN194 JACOBI BDEA 191 STO N(6)195 JACOBI BDEB 076196 JACOBI BDEC 190 RCL M(5)197 JACOBI BDED 075198 JACOBI BDEE 191 STO O(7)199 JACOBI BDEF 077200 JACOBI BDF0 142 *201 JACOBI BDF1 123 RCL 03202 JACOBI BDF2 124 RCL 04203 JACOBI BDF3 1E0 XEQ204 JACOBI BDF4 056 <Distance>205 JACOBI BDF5 0DA 90206 JACOBI BDF6 191 STO T(0)207 JACOBI BDF7 070208 JACOBI BDF8 175 RDN209 JACOBI BDF9 194 ST* O(7)210 JACOBI BDFA 077211 JACOBI BDFB 126 RCL 06212 JACOBI BDFC 194 ST* N(6)213 JACOBI BDFD 076214 JACOBI BDFE 142 *215 JACOBI BDFF 141 -216 JACOBI BE00 191 STO IND 05217 JACOBI BE01 085218 JACOBI BE02 190 RCL N(6)219 JACOBI BE03 076220 JACOBI BE04 190 RCL O(7)221 JACOBI BE05 077222 JACOBI BE06 140 +

(c) Ángel Martin Page 63 of 72 May 2011

Page 64: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment223 JACOBI BE07 191 STO IND Z(1)224 JACOBI BE08 0F1225 JACOBI BE09 124 RCL 04226 JACOBI BE0A 120 RCL 00227 JACOBI BE0B 146 X<=Y?228 JACOBI BE0C 1D0 GTO 229 JACOBI BE0D 00B <Distance>230 JACOBI BE0E 0D4 84231 JACOBI BE0F 109 LBL 08232 JACOBI BE10 11B E233 JACOBI BE11 192 ST+ 04234 JACOBI BE12 004235 JACOBI BE13 120 RCL 00236 JACOBI BE14 124 RCL 04237 JACOBI BE15 146 X<=Y?238 JACOBI BE16 1B2 GTO 01239 JACOBI BE17 03D <Distance>240 JACOBI BE18 1CF LBL 84241 JACOBI BE19 054242 JACOBI BE1A 123 RCL 03243 JACOBI BE1B 122 RCL 02244 JACOBI BE1C 11B E x=x+1245 JACOBI BE1D 140 + INCX246 JACOBI BE1E 179 X#Y?247 JACOBI BE1F 1D0 GTO248 JACOBI BE20 09E <Distance>249 JACOBI BE21 057 87250 JACOBI BE22 171 X<>Y251 JACOBI BE23 120 RCL 00252 JACOBI BE24 179 X#Y?253 JACOBI BE25 196 ISG 03254 JACOBI BE26 003255 JACOBI BE27 171 X<>Y256 JACOBI BE28 179 X#Y?257 JACOBI BE29 1D0 GTO258 JACOBI BE2A 0AB <Distance>259 JACOBI BE2B 055 85260 JACOBI BE2C 1AA FS?C 00261 JACOBI BE2D 000262 JACOBI BE2E 1D0 GTO263 JACOBI BE2F 0B4 <Distance>264 JACOBI BE30 046 70265 JACOBI BE31 120 RCL 00266 JACOBI BE32 1A6 XROM 24.48 x=1,00x267 JACOBI BE33 030 A6:30 E3/E+268 JACOBI BE34 136 STO 06269 JACOBI BE35 19F TONE 3270 JACOBI BE36 003271 JACOBI BE37 10E LBL 13272 JACOBI BE38 1F2 Text-2273 JACOBI BE39 058 "X"274 JACOBI BE3A 03D "="275 JACOBI BE3B 126 RCL 06276 JACOBI BE3C 168 INT277 JACOBI BE3D 183 ENTER^278 JACOBI BE3E 1E0 XEQ279 JACOBI BE3F 00B <Distance>

(c) Ángel Martin Page 64 of 72 May 2011

Page 65: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment280 JACOBI BE40 0DA 90281 JACOBI BE41 171 X<>Y282 JACOBI BE42 19B ARCL X(3)283 JACOBI BE43 073284 JACOBI BE44 18E PROMPT285 JACOBI BE45 196 ISG 06286 JACOBI BE46 006287 JACOBI BE47 1BE GTO 13288 JACOBI BE48 012 <Distance>289 JACOBI BE49 185 RTN290 JACOBI BE4A 1CF LBL 90291 JACOBI BE4B 05A292 JACOBI BE4C 145 X>Y?293 JACOBI BE4D 171 X<>Y294 JACOBI BE4E 120 RCL 00295 JACOBI BE4F 192 ST+ X(3)296 JACOBI BE50 073297 JACOBI BE51 171 X<>Y298 JACOBI BE52 141 -299 JACOBI BE53 11B E300 JACOBI BE54 193 ST- L(4)301 JACOBI BE55 074302 JACOBI BE56 1CE X<> L(4)303 JACOBI BE57 074304 JACOBI BE58 142 *305 JACOBI BE59 112 2306 JACOBI BE5A 143 / HALFX307 JACOBI BE5B 140 +308 JACOBI BE5C 116 6309 JACOBI BE5D 140 +310 JACOBI BE5E 190 RCL IND X(3)311 JACOBI BE5F 0F3312 JACOBI BE60 171 X<>Y313 JACOBI BE61 1C4 END314 JACOBI FOCAL BE62 02F <Chain>315 JACOBI FOCAL BE63 22F End of program1 ^MROW Header BE64 097 "W"2 ^MROW Header BE65 00F "O"3 ^MROW Header BE66 012 "R" Input Matrix Row4 ^MROW Header BE67 00D "M"5 ^MROW Header BE68 01E "^" Ángel Martin6 ^MROW ^MROW BE69 0C4 CLRF 10 start anew: no CHS yet7 ^MROW BE6A 184 CLRF 11 start anew: no commas yet8 ^MROW BE6B 344 CLRF 12 start anew: no digits yet9 ^MROW BE6C 0F8 READ 3(X)10 ^MROW BE6D 070 N=C ALL11 ^MROW BE6E 345 ?NC XQ Clears Alpha12 ^MROW BE6F 040 ->10D1 [CLA]13 ^MROW BE70 3C1 ?NCXQ Enable & Clear LCD14 ^MROW BE71 0B0 ->2CF0 [CLLCDE]15 ^MROW BE72 3BD ?NC XQ16 ^MROW BE73 01C ->07EF [MESSL]17 ^MROW BE74 292 "R"18 ^MROW BE75 0B0 C=N ALL19 ^MROW BE76 37C RCR 1220 ^MROW BE77 21C PT= 221 ^MROW BE78 010 LD@PT- 0

(c) Ángel Martin Page 65 of 72 May 2011

Page 66: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment22 ^MROW BE79 2D0 LD@PT- B23 ^MROW BE7A 3E8 WRIT 15(e) write it in display (9-bit)24 ^MROW BE7B 130 LDI S&X25 ^MROW BE7C 020 " " 26 ^MROW BE7D 3E8 WRIT 15(e)27 ^MROW DECNTRY BE7E 115 ?NC XQ Partial Data Entry!28 ^MROW BE7F 038 ->0E45 [NEXT1]29 ^MROW BE80 013 JNC +0230 ^MROW BE81 023 JNC +0431 ^MROW BE82 369 PORT DEP DEL char from display & Alpha32 ^MROW BE83 03C GO plus logic of other actions33 ^MROW BE84 2ED ->BEED [DELCHAR]34 ^MROW BE85 00C ?FSET 3 numeric input?35 ^MROW BE86 093 JNC +18d NO, KEEP LOOKING36 ^MROW BE87 0BE A<>C MS recall LS digit from A[13]37 ^MROW BE88 2FC RCR 13 move it over digit 038 ^MROW BE89 21C PT= 2 ensures no lower-case bits!39 ^MROW BE8A 010 LD@PT- 0 from angle chr = 10D40 ^MROW BE8B 0D0 LD@PT- 3 add a 3 on digit 141 ^MROW BE8C 3E8 WRIT 15(e) write it in display (9-bit)42 ^MROW BE8D 348 SETF 12 enable SPACE43 ^MROW BE8E 058 G=C @PT,+44 ^MROW BE8F 149 ?NC XQ Disable PER, enable RAM45 ^MROW BE90 024 ->0952 [ENCP00]46 ^MROW BE91 051 ?NC XQ47 ^MROW BE92 0B4 ->2D14 [APNDNW]48 ^MROW BE93 042 C=0 @PT49 ^MROW BE94 058 G=C @PT,+ reset PTEMP bits50 ^MROW BE95 3D9 ?NC XQ Enable Display (not cleared)51 ^MROW BE96 01C ->07F6 [ENLCD]52 ^MROW BE97 33B JNC -25d ONE PROMPT53 ^MROW BE98 28C ?FSET 7 decimal key pressed?54 ^MROW BE99 0F3 JNC +30d NO, KEEP LOOKING55 ^MROW BE9A 18C ?FSET 11 been used already?56 ^MROW BE9B 3E7 JC -04 ONE PROMPT57 ^MROW BE9C 188 SETF 11 no more radix (unless deletion)58 ^MROW BE9D 149 ?NC XQ Disable PER, enable RAM59 ^MROW BE9E 024 ->0952 [ENCP00]60 ^MROW BE9F 3B8 READ 14(d) put F28 to F961 ^MROW BEA0 2BC RCR 762 ^MROW BEA1 248 SETF 963 ^MROW BEA2 1EE C=C+C ALL comma or period ?64 ^MROW BEA3 013 JNC+02 overflows if COMMA (cf28)65 ^MROW BEA4 244 CLRF 9 comma = CF 2866 ^MROW BEA5 3D9 ?NC XQ Enable Display (not cleared)67 ^MROW BEA6 01C ->07F6 [ENLCD]68 ^MROW BEA7 3B8 READ 14(d) read right69 ^MROW BEA8 3D8 C<>ST 70 ^MROW BEA9 148 SETF 671 ^MROW BEAA 24C ?FSET 9 comma or period ?72 ^MROW BEAB 013 JNC +02 73 ^MROW BEAC 288 SETF 7 should replace the last chr 74 ^MROW BEAD 3D8 C<>ST with the same one w/ radix75 ^MROW BEAE 3E8 WRIT 15(e) 9-bit LCD write76 ^MROW BEAF 130 LDI S&X77 ^MROW BEB0 02C "," appends "," [02C]78 ^MROW BEB1 24C ?FSET 9

(c) Ángel Martin Page 66 of 72 May 2011

Page 67: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment79 ^MROW BEB2 01F JC +0380 ^MROW BEB3 226 C=C+1 S&X81 ^MROW BEB4 226 C=C+1 S&X appends "." [02E]82 ^MROW BEB5 39C PT= 083 ^MROW BEB6 2C3 JNC -40d84 ^MROW BEB7 0B0 C=N ALL PRESSED KEY CODE85 ^MROW BEB8 106 A=C S&X86 ^MROW BEB9 130 LDI S&X87 ^MROW BEBA 030 CON: ENTER^ keycode [030]88 ^MROW BEBB 366 ?A#C S&X89 ^MROW BEBC 05F JC +11d90 ^MROW BEBD 34C ?FSET 12 digits input already?91 ^MROW BEBE 2BB JNC -41d ONE PROMPT92 ^MROW BEBF 0C4 CLRF 10 clear CHS flag93 ^MROW BEC0 184 CLRF 11 allow RADIX94 ^MROW BEC1 344 CLRF 12 set SPACE flag95 ^MROW BEC2 130 LDI S&X96 ^MROW BEC3 020 " " blank space97 ^MROW BEC4 3E8 WRIT 15(e) 9-bit LCD write98 ^MROW BEC5 39C PT= 099 ^MROW BEC6 383 JNC -16d add to Alpha100 ^MROW BEC7 130 LDI S&X R/S keycode [370]101 ^MROW BEC8 370 CON:102 ^MROW BEC9 366 ?A#C S&X terminate digit entry103 ^MROW BECA 09B JNC +19d104 ^MROW BECB 130 LDI S&X105 ^MROW BECC 230 CON: CHS keycode [230]106 ^MROW BECD 366 ?A#C S&X107 ^MROW BECE 033 JNC +06108 ^MROW BECF 265 ?NC XQ Blink Display - pass #1109 ^MROW BED0 020 ->0899 [BLINK1]110 ^MROW BED1 265 ?NC XQ Blink Display - pass #2111 ^MROW BED2 020 ->0899 [BLINK1]112 ^MROW BED3 35B JNC -21d ONE PROMPT113 ^MROW BED4 0CC ?FSET 10 been used already?114 ^MROW BED5 3F7 JC -02 ONE PROMPT115 ^MROW BED6 0C8 SETF 10 first time116 ^MROW BED7 130 LDI S&X117 ^MROW BED8 02D "-" appends "-"118 ^MROW BED9 3E8 WRIT 15(e) 9-bit LCD write119 ^MROW BEDA 39C PT= 0 same code for Alpha!120 ^MROW BEDB 2DB JNC -37d121 ^MROW WAYOUT BEDC 344 CLRF 12 program not PRIVATE122 ^MROW BEDD 2CC ?FSET 13 in a PRGM?123 ^MROW BEDE 01F JC +03124 ^MROW BEDF 0C4 CLRF 10 pointer in RAM (!)125 ^MROW BEE0 013 JNC +02126 ^MROW BEE1 0C8 SETF 10 pointer in ROM (!)127 ^MROW BEE2 188 SETF 11 stack-lift enabled128 ^MROW BEE3 3D9 ?NC XQ Clear LCD129 ^MROW BEE4 0B0 ->2CF6 [CLRLCD]130 ^MROW BEE5 261 ?NC XQ Reset keyboard131 ^MROW BEE6 000 ->0098 [RSTKB]132 ^MROW BEE7 149 ?NC XQ Disable PER, enable RAM133 ^MROW BEE8 024 ->0952 [ENCP00]134 ^MROW BEE9 215 ?NC XQ Reset BIT sequence135 ^MROW BEEA 00C ->0385 [RSTSQ]

(c) Ángel Martin Page 67 of 72 May 2011

Page 68: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment136 ^MROW BEEB 3C1 ?NC GO137 ^MROW BEEC 002 ->00F0 [NFRPU]138 ^MROW DELCHAR BEED 3B8 READ 14(d) to delete rightmost chr139 ^MROW BEEE 158 M=C ALL save it for later140 ^MROW BEEF 149 ?NC XQ Disable PER, enable RAM141 ^MROW BEF0 024 ->0952 [ENCP00]142 ^MROW BEF1 178 READ 5(M)143 ^MROW BEF2 2EE ?C#0 ALL anything in Alpha?144 ^MROW BEF3 047 JC +08 yes, go on145 ^MROW BEF4 104 CLRF 8 no, abort if empty146 ^MROW BEF5 1B1 ?NC XQ Mainframe Message147 ^MROW BEF6 070 ->1C6C [MSGA]148 ^MROW BEF7 03C "NULL" from table149 ^MROW BEF8 369 PORT DEP abort if Alpha is empty150 ^MROW BEF9 03C GO Reset everything and leave151 ^MROW BEFA 2DC ->BEDC [WAYOUT]152 ^MROW BEFB 379 PORT DEP: remove Alpha's last chr153 ^MROW BEFC 03C XQ Ken Emery's book154 ^MROW BEFD 324 ->BF24 [DELCHR]155 ^MROW BEFE 198 C=M ALL recall deleted char value156 ^MROW BEFF 106 A=C S&X store in A for comparisons157 ^MROW BF00 130 LDI S&X check for SPACE158 ^MROW BF01 020 "space" <space> 159 ^MROW BF02 366 ?A#C S&X carry if different 160 ^MROW BF03 01F JC + 03161 ^MROW BF04 348 SETF 12 allow new space entry162 ^MROW BF05 0A3 JNC +20d BAIL OUT163 ^MROW BF06 130 LDI S&X check for "-" chr164 ^MROW BF07 02D "-" "-" char value165 ^MROW BF08 366 ?A#C S&X carry if not "-"166 ^MROW BF09 02F JC + 05167 ^MROW BF0A 34C ?FSET 12 is there SPACE chr?168 ^MROW BF0B 017 JC +02169 ^MROW BF0C 0C4 CLRF 10 allow new "-" entry170 ^MROW BF0D 063 JNC +12d BAIL OUT171 ^MROW BF0E 198 C=M ALL recall deleted char value172 ^MROW BF0F 3D8 C<>ST Got a radix? If so, we neet to173 ^MROW BF10 14C ?FSET 6 replace it without comma174 ^MROW BF11 043 JNC +08175 ^MROW BF12 3D9 ?NC XQ Enable Display (not cleared)176 ^MROW BF13 01C ->07F6 [ENLCD]177 ^MROW BF14 144 CLRF 6 remove the radix value178 ^MROW BF15 284 CLRF 7 (both if need be)179 ^MROW BF16 3D8 C<>ST recall deleted char value180 ^MROW BF17 3E8 WRIT 15(e) write it in display181 ^MROW BF18 184 CLRF 11 Re-allow comma writing182 ^MROW BF19 042 C=0 @PT183 ^MROW BF1A 058 G=C @PT,+ reset PTEMP bits184 ^MROW BF1B 3D9 ?NC XQ Enable Display (not cleared)185 ^MROW BF1C 01C ->07F6 [ENLCD]186 ^MROW BF1D 369 PORT DEP: display ONE prompt187 ^MROW BF1E 03C GO (too far for jumps)188 ^MROW BF1F 27E ->BE7E [DECNTRY]1 ABSP Header BF20 090 "P"2 ABSP Header BF21 013 "S"3 ABSP Header BF22 002 "B" Alpha "BackStep"4 ABSP Header BF23 001 "A" lifted from Ken Emery's book

(c) Ángel Martin Page 68 of 72 May 2011

Page 69: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment5 ABSP DELCHR BF24 238 READ 8(P)6 ABSP BF25 10E A=C ALL7 ABSP BF26 1F8 READ 7(O)8 ABSP BF27 0AA A<>C PT<-9 ABSP BF28 23C RCR 210 ABSP BF29 2F0 WRIT DATA11 ABSP BF2A 1B8 READ 6(N)12 ABSP BF2B 0AA A<>C PT<-13 ABSP BF2C 23C RCR 214 ABSP BF2D 2F0 WRIT DATA15 ABSP BF2E 178 READ 5(M)16 ABSP BF2F 04A C=0 PT<-17 ABSP BF30 0AA A<>C PT<-18 ABSP BF31 23C RCR 219 ABSP BF32 2F0 WRIT DATA20 ABSP BF33 0AE A<>C ALL21 ABSP BF34 23C RCR 222 ABSP BF35 228 WRIT 8(P)23 ABSP BF36 3E0 RTN1 VP3X3 Header BF37 0B3 "3"2 VP3X3 Header BF38 018 "X"3 VP3X3 Header BF39 033 "3" Eigen values of 3x3 Matrix4 VP3X3 Header BF3A 016 "V" SF 06 -> Matrix pre-exists5 VP3X3 Header BF3B 005 "E" CF 06 -> enters new Matrix6 VP3X3 VP3X3 BF3C 0AE C<>A ALL7 VP3X3 BF3D 3B5 PORT DEP: Run User Code8 VP3X3 BF3E 08C XQ9 VP3X3 BF3F 3AC ->AFAC [UCRUN]10 VP3X3 FOCAL BF40 013 LENGTH # registers required to hold prog11 VP3X3 FOCAL BF41 240 STATUS b = bytes in first register for COP12 VP3X3 VP3X2 BF42 1AC FS? 06 Ángel Martin13 VP3X3 BF43 00614 VP3X3 BF44 1B1 GTO 0015 VP3X3 BF45 08C <Distance> 14 bytes16 VP3X3 BF46 1F2 Text-217 VP3X3 BF47 045 "E"18 VP3X3 BF48 033 "3"19 VP3X3 BF49 11B E20 VP3X3 BF4A 1A6 XROM 24.48 x=1,00x21 VP3X3 BF4B 030 A6:30 E3/E+22 VP3X3 BF4C 113 323 VP3X3 BF4D 142 * 3,00324 VP3X3 BF4E 1A5 XROM 22,29 Create Matrix25 VP3X3 BF4F 09D A5:9D MATDIM26 VP3X3 BF50 1A6 XROM 24.06 Input Matrix by Rows27 VP3X3 BF51 006 A6:06 "IMR"28 VP3X3 BF52 101 LBL 0029 VP3X3 BF53 11B E30 VP3X3 BF54 133 STO 0331 VP3X3 BF55 1A6 XROM 24.23 Matrix Trace32 VP3X3 BF56 017 A6:17 "MTRACE"33 VP3X3 BF57 154 CHS34 VP3X3 BF58 132 STO 0235 VP3X3 BF59 1A6 XROM 24.12 Diagonal Product Sum36 VP3X3 BF5A 00C A6:0C "MDPS"37 VP3X3 BF5B 131 STO 0138 VP3X3 BF5C 1A6 XROM 24.31 Sum Crossed Products

(c) Ángel Martin Page 69 of 72 May 2011

Page 70: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment39 VP3X3 BF5D 01F A6:1F "ΣIJJI"40 VP3X3 BF5E 193 ST- 0141 VP3X3 BF5F 00142 VP3X3 BF60 1A5 XROM 22,3243 VP3X3 BF61 0A0 A5:A0 MDET44 VP3X3 BF62 154 CHS45 VP3X3 BF63 130 STO 0046 VP3X3 BF64 1A9 CF 2147 VP3X3 BF65 01548 VP3X3 BF66 1F8 Text-849 VP3X3 BF67 043 "C"50 VP3X3 BF68 046 "F"51 VP3X3 BF69 053 "S"52 VP3X3 BF6A 03F "?"53 VP3X3 BF6B 020 " "54 VP3X3 BF6C 059 "Y"55 VP3X3 BF6D 02F "/"56 VP3X3 BF6E 04E "N"57 VP3X3 BF6F 17E AVIEW58 VP3X3 BF70 102 LBL 0159 VP3X3 BF71 1A6 XROM 25,60 VP3X3 BF72 051 A6:51 GETKEY61 VP3X3 BF73 114 462 VP3X3 BF74 011 163 VP3X3 BF75 178 X=Y?64 VP3X3 BF76 1BC GTO 1165 VP3X3 BF77 09B <Distance> Don't show coefs.66 VP3X3 BF78 113 367 VP3X3 BF79 010 068 VP3X3 BF7A 140 +69 VP3X3 BF7B 179 X#Y?70 VP3X3 BF7C 1B2 GTO 01 any other key pressed71 VP3X3 BF7D 00E <Distance>72 VP3X3 BF7E 113 373 VP3X3 BF7F 106 LBL 05 Coeficients74 VP3X3 BF80 1F2 Text-275 VP3X3 BF81 062 "b"76 VP3X3 BF82 028 "("77 VP3X3 BF83 1A6 XROM 24.3278 VP3X3 BF84 020 A6:20 AIP79 VP3X3 BF85 1F3 Text-380 VP3X3 BF86 07F "|-"81 VP3X3 BF87 029 ")"82 VP3X3 BF88 03D "="83 VP3X3 BF89 19B ARCL IND X84 VP3X3 BF8A 0F385 VP3X3 BF8B 18E PROMPT86 VP3X3 BF8C 11B E x=x-187 VP3X3 BF8D 141 - DECX88 VP3X3 BF8E 166 X<0?89 VP3X3 BF8F 1BC GT0 1190 VP3X3 BF90 082 <Distance> 2 bytes91 VP3X3 BF91 1B6 GTO 0592 VP3X3 BF92 014 <Distance>93 VP3X3 BF93 10C LBL 1194 VP3X3 BF94 1A8 SF 06 skip data entry95 VP3X3 BF95 006

(c) Ángel Martin Page 70 of 72 May 2011

Page 71: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment96 VP3X3 BF96 1A1 XROM 06,28 Cardano-Vieta method97 VP3X3 BF97 09C A1:9C "CVIETA"98 VP3X3 BF98 1A9 CF 0699 VP3X3 BF99 006100 VP3X3 BF9A 1C4 END101 VP3X3 FOCAL BF9B 015 <Chain>102 VP3X3 FOCAL BF9C 22F End of program1 <GAP> BF9D 000 NOP1 X=1? Header BF9E 0BF "?"2 X=1? Header BF9F 031 "1"3 X=1? Header BFA0 03D "="4 X=1? Header BFA1 018 "X" Nelson Crowle5 X=1? X=1? BFA2 04E C=0 ALL6 X=1? BFA3 35C PT= 12 Builds "1" in C7 X=1? BFA4 050 LD@PT- 18 X=1? BFA5 055 ?NC GO9 X=1? BFA6 05A ->1615 [Unlabeled]12 CHKST CHKST2 BFA7 0B8 READ 2(Y)13 CHKST BFA8 10E A=C ALL14 CHKST BFA9 0F8 READ 3(X)15 CHKST BFAA 351 ?NC GO (includes SETDEC)16 CHKST BFAB 052 ->14D4 [CHK_NO_S1]1 [UCRUN] [UCRUN] BFAC 0AE C<>A ALL Run User Code2 [UCRUN] BFAD 03C RCR 3 Written by Doug Wilder3 [UCRUN] BFAE 10E A=C ALL4 [UCRUN] BFAF 130 LDI S&X5 [UCRUN] BFB0 006 CON: 66 [UCRUN] BFB1 146 A=A+C S&X A[(3-0] = addr of first user code w7 [UCRUN] BFB2 2F9 ?NC GO8 [UCRUN] BFB3 0BE ->2FBE [XRM20]1 AIP Header BFB4 090 "P"2 AIP Header BFB5 009 "I"3 AIP Header BFB6 001 "A"4 AIP AIP BFB7 0F8 READ 3(X)5 AIP BFB8 361 ?NC XQ 6 AIP BFB9 050 ->14D8 [CHK$S]7 AIP BFBA 2F6 ?C#0 XS8 AIP BFBB 013 JNC +02 BFBD9 AIP BFBC 04E C=0 ALL10 AIP LB_BFBD BFBD 088 SETF 511 AIP BFBE 0ED ?NC XQ 12 AIP BFBF 064 ->193B [INTFRC]13 AIP BFC0 2DC R= 1314 AIP LB_BFC1 BFC1 086 B=A S&X15 AIP BFC2 0D0 LD@R 316 AIP BFC3 058 G=C17 AIP BFC4 214 ?R= 218 AIP BFC5 03B JNC +07 BFCC19 AIP BFC6 02B JNC +05 BFCB

BFC7 100 ENROM1BFC8 3E0 RTNBFC9 180 ENROM2BFCA 3E0 RTN

24 AIP LB_BFCB BFCB 3DC R=R+125 AIP LB_BFCC BFCC 158 M=C26 AIP BFCD 0E0 SLCTQ27 AIP BFCE 051 ?NC XQ

(c) Ángel Martin Page 71 of 72 May 2011

Page 72: ROM id#24 - BANK 1 Advanced Matrix Pachp41.claughan.com/file/adv_matrix_U1.pdf · 2011. 10. 25. · ROM_id#24 - BANK_1 Advanced Matrix Pac # Function Segment Address Code Mnemonic

ROM_id#24 - BANK_1 Advanced Matrix Pac

# Function Segment Address Code Mnemonic Comment28 AIP BFCF 0B4 ->2D14 [APNDNW]29 AIP BFD0 0A0 SLCTP30 AIP BFD1 198 C=M31 AIP BFD2 066 A<>B S&X32 AIP BFD3 1A6 A=A-1 S&X33 AIP BFD4 36B JNC -13 BFC134 AIP BFD5 3E0 RTN1 <GAP> BFD6 000 NOP

LB_BFD7 BFD7 2CC ?FSET 13 PRGM mode?BFD8 0C7 JC +18 BFF0

LB_BFD9 BFD9 158 M=CBFDA 378 READ 13( c)BFDB 0AE A<>C ALLBFDC 130 LDI S&X BFDD 0C0 CON: bottom of RAMBFDE 270 RAMSLCTBFDF 0AE A<>C ALLBFE0 306 ?A<C S&XBFE1 063 JNC +0C BFEDBFE2 038 READATABFE3 37C RCR 12BFE4 106 A=C S&XBFE5 130 LDI S&XBFE6 0EE CON: BFE7 31C R= 1BFE8 36A ?A#C R<-BFE9 027 JC +04 BFEDBFEA 349 PORT DEP:BFEB 08C XQBFEC 395 ->B395 [LB_B395]

LB_BFED BFED 25D ?NC XQ BFEE 01C ->0797 [LDSST0]BFEF 198 C=M

LB_BFF0 BFF0 3CD ?NC GO BFF1 09E ->27F3 [RMCK10]

LB_BFF2 BFF2 00B JNC +01 LB_BFF3 BFF3 180 ENROM2_EN_MEMLST BFF4 000 NOP_EN_MEMLST BFF5 000 NOP

Awaken from DE _EN_MEMLST BFF6 3E3 JNC -04 BFF2Turn OFF by key _EN_MEMLST BFF7 313 JNC -1E BFD9I/O service flag se_EN_MEMLST BFF8 2FB JNC -21 BFD7Awaken by press _EN_MEMLST BFF9 3CB JNC -07 BFF2

_EN_MEMLST BFFA 000 NOP_ROMREV BFFB 032 "2"_ROMREV BFFC 016 "V"_ROMREV BFFD 204 "D"_ROMREV BFFE 201 "A"_CHKSUM BFFF 2B8 CHECKSUM

(c) Ángel Martin Page 72 of 72 May 2011