[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]