; ; HANDLE ASSEMBLER DIRECTIVES ; ASSDIR DEC LEN AND #$3F BEQ ASSORG TAX DEX BEQ ASSEQU DEX BEQ ASSEND DEX BEQ ASSDEFS DEX BEQ ASSLIST DEX BEQ ASSINCL JMP DSGRP ; ASSORG JSR EVALAB LDA VALUE LDX PC STA PC STX VALUE LDA VALUE+1 LDX PC+1 STA PC+1 STX VALUE+1 INC ISVAL RTS ; ASSEQU JSR EVALAB INC ISVAL RTS ; ASSEND LDA (TEXTP),Y CMP #';' BEQ NOENDV CMP #EOL BEQ NOENDV JSR EVALAB DEY LDA (TEXTP),Y INY CMP #',' BNE RUNEND LDA VALUE STA INIPT LDA VALUE+1 STA INIPT+1 DEC INIFLG BNE ASSEND ; RUNEND LDA VALUE STA ENTPT LDA VALUE+1 STA ENTPT+1 DEC ENTPTF NOENDV DEC ENDFLG RTS ; ASSDEFS JSR EVALAB LDA VALUE STA LEN LDA VALUE+1 STA LEN+1 LDA #$FF STA MODE RTS ; BMPFIL STX FILE CMTXIT JMP COMMNT ; ASSINCL LDA (TEXTP),Y CMP #'z'+1 BCS ICLXIT CMP #'.' BCC ICLXIT STA FNBUF,X INY INX CPX #FNSIZE BNE ASSINCL ; ICLXIT LDA #EOL STA FNBUF,X JSR BLDFNB CLC LDA FILE ADC #$10 BMI TMINCF TAX LDA #LOW[FNBUF] LDY #HIGH[FNBUF] JSR OPENIN BPL BMPFIL ; TMINCF LDA #'I' STA ADRERR BNE CMTXIT ; ASSLIST EQU CMTXIT ;NOT IMPLEMENTED YET