[an error occurred while processing this directive]
****************************************
* ------------------------------------ *
* НАСТРОЙЩИК ПСЕВДОПЕРЕМЕЩАЕМЫХ ФАЙЛОВ *
* ------------------------------------ *
* by Serkov S.V. version 15.08.94 *
****************************************
; перемещает 3 и 2 байтовые команды, а также псевдокоманды
; DFB и DW. Из-за ошибки разработчиков ассемблера
; нельзя использовать в псевдоперемещаемой программе
; выражения DDB.
ORG ¤4000
; ОБ'ЯВЛЕНИЕ МЕТОК
; ячеики ZERO PAGE
RADR EQU ¤06
NAS EQU ¤08
SERO EQU ¤2A
ADR EQU ¤4E
HRAN EQU ¤01
LIR EQU ¤C9
KOM EQU ¤15
STEK EQU ¤100
; константа
REBDLL EQU ¤C4
REBDLH EQU ¤00
; подпрограммы
RTSPZU EQU ¤FFCB
JSR ¤FF4B сохранить регистры
BEGIN JSR RTSPZU установка RADR
TSX
DEX
LDA #REBDLL
CLC
ADC STEK,X
STA RADR
INX
LDA #REBDLH
ADC STEK,X
STA RADR+1
LDA#6 установка NAS
CLC
ADC RADR
STA NAS
LDA#0
TAY
ADC RADR+1
STA NAS+1
LDA (RADR),Y установить LIR
STA LIR
INY
LDA (RADR),Y
STA LIR+1
LDY#4 установка ADR и SERO
LDA (RADR),Y
CLC
ADC NAS
STA ADR
INY
LDA (RADR),Y
ADC NAS+1
STA ADR+1
LDA #4
CLC
ADC ADR
STA ADR
STA SERO
LDA #0
TAY
ADC ADR+1
STA ADR+1
STA SERO+1
CSICL LDA (ADR),Y Y=0
BNE RETURN
TYA A=0
STA (SERO),Y
JSR ¤FF40 восстановить регистры
START JMP (NAS)
RETURN INY Y=1
LDA (ADR),Y
CLC
ADC NAS
STA HRAN
INY Y=2
LDA (ADR),Y
ADC NAS+1
STA HRAN+1
LDY#0
LDA (HRAN),Y
TAX
LDA (ADR),Y Y=0
PHA
BMI CS1 3 BYTES
ASL A
BMI CS2 2 BYTES
PLA
TXA
SEC
SBC LIR
CLC
ADC NAS
CS7 STA (HRAN),Y
CS6 LDA#4
CLC
ADC ADR
STA ADR
LDA#0
TAY Y=0
ADC ADR+1
STA ADR+1
TYA A=0
BEQ CSICL (JMP)
CS1 INY Y=1
LDA (HRAN),Y
TAX
DEY Y=0
LDA (HRAN),Y
SEC
BCS CS4 (JMP)
CS2 LDY#3
LDA (ADR),Y 2 BYTES LOW
SEC
CS4 SBC LIR
STA KOM
TXA
SBC LIR+1
STA KOM+1
LDA NAS
CLC
ADC KOM
TAX X=LOW
LDA NAS+1
ADC KOM+1
TAY Y=HIGH
PLA
BMI CS5 3 BYTES
TYA
LDY#0
BEQ CS7
CS5 TYA
LDY#1
STA (HRAN),Y
TXA
DEY Y=0
BEQ CS7 (JMP)
.ст Раздел I:Приложение 6
[an error occurred while processing this directive]