Mac65 Toolbox Assemblercode


Mac65 Toolbox Assemblercode

von Bernd » So 13. Aug 2006, 17:03
Hallo,

was ich von den Programmierer der Mac65 Toolbox selbst heute noch lernen kann ist echt Klasse. Im File Kernel.M65 befindet sich eine aussergewöhliche zwei Bytes Vergleichsfunktion. Aufgerufen wird wie folgt:

50 DEQCMP QQPASS,QQPASS+2
60 Bne DaEntlang

Hier die Makros dazu. Der Vergleich von low und high Bytes über STA QQCFLG, PLA, AND QQCFLG, PHA, PLP müsste jedem Programmiererherz höher schlagen lassen.

1108 .MACRO DEQCMP
1109 DPOKE QQCMP,%1
1110 DPOKE QQCMP+2,%2
1111 LDA QQCMP
1112 CMP QQCMP+2
1113 PHP
1114 LDA QQCMP+1
1115 CMP QQCMP+3
1116 PHP
1117 PLA
1118 STA QQCFLG
1119 PLA
1120 AND QQCFLG
1121 PHA
1122 PLP
1123 .ENDM

6028 .MACRO DPOKE
6029 .IF [%2]>256
6030 LDA %2
6031 STA %1
6032 LDA %2+1
6033 STA %1+1
6034 .ELSE
6035 LDA #%2
6036 STA %1
6037 LDA #0
6038 STA %1+1
6039 .ENDIF
6040 .ENDM

Die Jungs hatten was drauf,
Bernd