Subversion Repositories ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ; LAST UPDATE: 10.01.2024 savelij
  3.  
  4.                 include macros.a80
  5.                 include basic_tokens.a80
  6.  
  7. ADR_LOADING     EQU ADR_START                   ;адрес загрузки и компиляции
  8. START_CODE      EQU ADR_LOADING
  9.  
  10.                 ORG ADR_LOADING-0x117           ;(END_HEADER-START_SCL)
  11. ;ЗАГОЛОВОК SCL ФАЙЛА
  12. START_SCL       DB "SINCLAIR",1,"NPL     B"
  13.                 DW BASIC_FULL,BASIC_FULL
  14. FULL_SIZE       DB SIZE_SECTORS+1
  15.  
  16.                 include basic4monoloader.a80
  17.  
  18. ;END_HEADER
  19.        
  20.                 ORG ADR_LOADING
  21.                 LD HL,$
  22.                 PUSH HL
  23.                 LD HL,START_UNPACK
  24.                 LD DE,0x5B00
  25.                 LD BC,END_UNPACK-START_UNPACK
  26.                 PUSH DE
  27.                 LDIR
  28.                 LD HL,END_COD-1
  29.                 LD DE,0xFFFF
  30.                 LD BC,END_COD-END_UNPACK
  31.                 LDDR
  32.                 LD HL,ADR_LOADING
  33.                 EX DE,HL
  34.                 INC HL
  35.                 RET
  36.                
  37. START_UNPACK    include dec40.a80
  38. END_UNPACK      binclude ../tmp/npl.pack        ;имя пакованной проги
  39. END_COD
  40.  
  41.                 DUPL LOW (ADR_LOADING)+0x100-LOW ($),0
  42.  
  43.                 IF (END_COD-ADR_LOADING)&0xFF
  44. SIZE_SECTORS    EQU ((END_COD-ADR_LOADING)>>8)+1
  45.                 ELSE
  46. SIZE_SECTORS    EQU ((END_COD-ADR_LOADING)>>8)
  47.                 ENDIF
  48.  
  49.