AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 1 ;________________________ GLOBAL LABELS _______________________________________ 0000 _P1DDR EQU $0000 ;Port 1 data direction register. 0002 _P1DR EQU $0002 ;Port 1 data register. 0008 _TCSR EQU $0008 ;Timer: control & status register. 0009 _FRC EQU $0009 ;Timer: 16 bit free running counter. 000B _OCR EQU $000B ;Timer: 16 bit output compare register. 000D _ICR EQU $000D ;Timer: 16 bit input capture register. 0010 _RMCR EQU $0010 ;SCI: rate & mode control register. 0011 _TRCSR EQU $0011 ;SCI: transmit/receive control & status register. 0012 _RDR EQU $0012 ;SCI: receive data register. 0013 _TDR EQU $0013 ;SCI: transmit data register. 0080 _IRAM EQU $0080 ;Internal RAM $0080..$00FF (128byte). 2000 _XRAM EQU $2000 ;External RAM $2000..$3FFF (8192byte). 6000 _DDRA EQU $6000 ;PIA: Data direction / Periferial register A. 6001 _CRA EQU $6001 ;PIA: Control register A. 6002 _DPRB EQU $6002 ;PIA: Data direction / Periferial register B. 6003 _CRB EQU $6003 ;PIA: Control register B. 6010 _WAD12 EQU $6010 ;A/D converter: trigger 12bit conversion. 6010 _RMS EQU $6010 ;A/D converter: read MSB bit7..bit0 6011 _WAD8 EQU $6011 ;A/D converter: trigger 8bit conversion. 6011 _RLS EQU $6011 ;A/D converter: read LSB bit7..bit4 6012 _RSF EQU $6012 ;A/D converter: read status flag. 6012 _MUX EQU $6012 ;Multiplexer: write select channel. 6020 _LSA EQU $6020 ;D/A converter A: input register LSB bit7..bit0. 6021 _MSA EQU $6021 ;D/A converter A: input register MSB bit3..bit0. 6022 _LSB EQU $6022 ;D/A converter B: input register LSB bit7..bit0. 6023 _MSB EQU $6023 ;D/A converter B: input register MSB bit3..bit0. 6030 _WDA12 EQU $6030 ;D/A converter: trigger 12bit conversion. 8000 _KBDD EQU $8000 ;Keyboard data (Read only). A000 _LEDD EQU $A000 ;LED display (Write only). C000 _SYROM EQU $C000 ;System EPROM $C000..$DFFF (8192byte). E000 _EPROM EQU $E000 ;User EPROM $E000..$FFFF (8192byte). ;======================== EPROM $E000..$FFFF ================================== E000 ORG _EPROM ;________________________ TASK SCHEDULE _______________________________________ E000 E1EA SCHTAB FDB ST_IMP E002 E0B8 FDB SCI E004 E0B8 FDB SCI E006 E0B8 FDB SCI E008 E1EA FDB ST_IMP E00A E0B8 FDB SCI E00C E0B8 FDB SCI E00E E0B8 FDB SCI E010 E1EA FDB ST_IMP E012 E0B8 FDB SCI E014 E0B8 FDB SCI E016 E0B8 FDB SCI AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 2 E018 E1EA FDB ST_IMP E01A E0B8 FDB SCI E01C E0B8 FDB SCI E01E E0B8 FDB SCI E020 39 SCHRTS rts E021 ;________________________ THE SCHEDULER INTERRUPT RUTINE (~=86) _______________ E021 ;12 cycles between interrupt and _OCF! E021 B62002 _OCF ldaa SCHTST ; 4 Get test byte. E024 2702 beq SCHOK ; 3 Branch if previous interrupt completed, E026 20FE SCHERR bra SCHERR ; Fatal error, can't continue! E028 7C2002 SCHOK inc SCHTST ; 6 Set test byte to indicate running interrupt. E02B 9608 ldaa _TCSR ; 3 Clear TOF by reading TCSR. E02D DC0B ldd _OCR ; 4 Load output compare register, E02F C304B0 addd #1200 ; 4 increment it by time slice E032 DD0B std _OCR ; 4 and restore it to OCR. E034 FE2000 ldx SCHPTR ; 5 Get pointer to current 1/64s period task. E037 EE00 ldx 0,X ; 5 Get the task's entry address. E039 0E cli ; 2 Allow interrupts. E03A AD00 jsr 0,X ; 6 EXECUTE THE TASK. E03C B62001 ldaa SCHPTR+1 ; 4 Get high byte of SCHPTR, E03F 8B02 adda #2 ; 2 increment it, E041 841E anda #%00011110 ; 2 overlay 0's E043 B72001 staa SCHPTR+1 ; 4 and restore it to SCHPTR. E046 7F2002 clr SCHTST ; 6 Reset test byte to indicate end of interrupt. E049 3B rti ;10 Return from OCF interrupt ;________________________ ENABLE THE SCHEDULER ________________________________ E04A 7F2002 SCHON clr SCHTST ;6 Reset time slice exceeding test E04D CEE000 ldx #SCHTAB ;3 Initialize pointer E050 FF2000 stx SCHPTR ;5 to first 1/64s period tasks. E053 8608 ldaa #%00001000 ;2 Set EOCI flag bit E055 9708 staa _TCSR ;3 to enable output compare interrupt. E057 DC09 ldd _FRC ;4 Load free running counter E059 C304B0 addd #1200 ;4 increment it by time slice E05C DD0B std _OCR ;4 and restore it to output compare register. E05E 0E cli ;2 Clear interrupt mask. E05F 39 rts ;5 Return(Scheduler running). ;________________________ TIMER TASK (~<=77) __________________________________ ; This is a real-time clock driver. TIM should be placed into the task ; schedule at a 1/256 second duty cycle. TIM updates four global variables ; TIMH (Hours 0..23), TIMM (minutes 0..59), TIMS (seconds 0..59) and ; TIMF (second fractions 0..255). ;------------------------------------------------------------------------------ E060 7C2006 TIM inc TIMF ;6 Increment fraction counter, E063 2627 bne TIMRTS ;3 Branch down if no overflow E065 7C2005 inc TIMS ;6 Increment second counter, E068 B62005 ldaa TIMS ;4 load it to A AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 3 E06B 813C cmpa #60 ;2 and compare with 60. E06D 251D bcs TIMRTS ;3 Branch down if no overflow E06F 7F2005 clr TIMS ;6 and reset second counter otherwise. E072 7C2004 inc TIMM ;6 Increment minute counter, E075 B62004 ldaa TIMM ;4 load it to A E078 813C cmpa #60 ;2 and compare with 60. E07A 2510 bcs TIMRTS ;3 Branch down if no overflow E07C 7F2004 clr TIMM ;6 and reset minute counter otherwise. E07F 7C2003 inc TIMH ;6 Increment hour counter, E082 B62003 ldaa TIMH ;4 load it to A E085 8118 cmpa #24 ;2 and compare with 24. E087 2503 bcs TIMRTS ;3 Branch down if no overflow E089 7F2003 clr TIMH ;6 and reset hour counter otherwise. E08C 39 TIMRTS rts ;5 Return(). ;________________________ SYNCHRONIZE WITH SCHEDULER __________________________ ; Call this subroutine from any non-realtime routine to request D<1100 ; uninterrupted subsequent maschine cycles. Upon return, you have the ; requested number of uninterrupted cycles, plus D extra cycles. Use D=0 to ; find out the number of cycles left until next scheduler interrupt. ;------------------------------------------------------------------------------ E08D 3C SCHSYN pshx ;4 Push X. E08E C30020 addd #$0020 ;4 Add the system overhead of 32 machine cycles. E091 37 pshb ;3 Push number of machine cycles E092 36 psha ;3 from D to stack E093 30 tsx ;3 and make X point to it. E094 DC0B SCHWAI ldd _OCR ;4 Load output compare register, E096 9309 subd _FRC ;5 subtract free running counter E098 A300 subd 0,X ;6 and number of cycles. E09A 2BF8 bmi SCHWAI ;3 Loop back if not enough cycles until interrupt. E09C 38 pulx ;5 Dummy pull X to clear D from stack. E09D 38 pulx ;5 Restore X. E09E 39 rts ;5 Return(D=extra cycles left). ;________________________ TRANSMIT CHARACTER (~<=51) __________________________ ; Place binary in A to the SCI transmitting buffer TRAB-TRAE. In case of a ; full buffer, the procedure returns Z=1, otherwise Z=0. The contents of all ; registers are preserved. This procedure must never be interrupted by another ; call to TRACHR! ;------------------------------------------------------------------------------ E09F TRACHR E09F 3C pshx E0A0 FE2081 ldx TRAE E0A3 A700 staa 0,X E0A5 08 inx E0A6 8C2081 cpx #TRAE E0A9 2603 bne TRA1 E0AB CE201C ldx #TRAB+2 E0AE BC201A TRA1 cpx TRAB AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 4 E0B1 2703 beq TRAERR E0B3 FF2081 stx TRAE E0B6 38 TRAERR pulx E0B7 39 rts ;________________________ SERIAL COMMUNICATION TASK (~<=106) __________________ ; This is a real-time serial communication driver. SCI should be placed into ; the task schedule. In each cycle, SCI checks the serial communication ; hardware to see if a new byte has been received. If so, the byte is ; transferred into the receiveing buffer RECB-RECE. The transmission register ; is also checked. If it is empty and the transmission buffer TRAB-TRAE is not ; empty, then the first byte from the fifo buffer is transferred to the ; transmission hardware. ;------------------------------------------------------------------------------ E0B8 SCI E0B8 3C pshx E0B9 9611 ldaa _TRCSR E0BB 84C0 anda #%11000000 E0BD 2702 beq SCI_TR E0BF 38 pulx E0C0 39 rts E0C1 SCI_TR E0C1 9611 ldaa _TRCSR E0C3 8420 anda #%00100000 E0C5 2718 beq SKONEC E0C7 FE201A ldx TRAB E0CA BC2081 cpx TRAE E0CD 2710 beq SKONEC E0CF A600 ldaa 0,X E0D1 9713 staa _TDR E0D3 08 inx E0D4 8C2081 cpx #TRAE E0D7 2603 bne SKON E0D9 CE201C ldx #TRAB+2 E0DC FF201A SKON stx TRAB E0DF 38 SKONEC pulx E0E0 39 rts ;________________________ RECEIVE CHARACTER (~<=51) ___________________________ ; Read one character from the SCI receiveing buffer RECB-RECE to A. In case ; of an empty buffer, the procedure returns Z=1. A successful read is ; indicated by Z=0. The contents of all registers are preserved. This ; procedure must never be interrupted by another call to RECCHR!! ;------------------------------------------------------------------------------ E0E1 RECCHR E0E1 39 rts ;________________________ DIVIDE D BY X (~<=981) ______________________________ AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 5 ; This is a 16bit multi-purpose division routine. The unsigned integer in D ; is divided by the unsigned integer in X. The unsigned integer portion of ; the quotient is returned in D, the modulus is passed in X respectively ; (in pascal syntax this would be D:=D div X; X:=D mod X;). WARNING, it is ; the caller's responsibility to guarantee a non-zero divisor in X! ;------------------------------------------------------------------------------ E0E2 37 DIV pshb ;3 Push dividend from D E0E3 36 psha ;3 to quotient. E0E4 4F clra ;2 Clear modulus E0E5 36 psha ;3 and push it E0E6 36 psha ;3 on top of quotient. E0E7 3C pshx ;4 Push divisor from X on top of modulus. E0E8 8610 ldaa #16 ;2 Initialize E0EA 36 psha ;3 and push shift counter. E0EB 30 tsx ;3 Make X point to top of stack. E0EC 6806 DIV1 asl 6,X ;6 Arithmetic shift E0EE 6905 rol 5,X ;6 left quotient E0F0 6904 rol 4,X ;6 into the E0F2 6903 rol 3,X ;6 modulus. E0F4 EC03 ldd 3,X ;5 Load current 16-bit modulus E0F6 A301 subd 1,X ;6 and try to subtract the divisor. E0F8 2504 bcs DIV2 ;3 Jump down if divisor higher, E0FA ED03 std 3,X ;5 restore new modulus otherwise. E0FC 6C06 inc 6,X ;6 Set LSbit of quotient. E0FE 6A00 DIV2 dec 0,X ;6 Decrement shift counter E100 26EA bne DIV1 ;3 and loop back if not zero. E102 32 pula ;4 Dummy pull E103 38 pulx ;5 3 bytes from stack. E104 38 pulx ;5 Get modulus from stack to X. E105 32 pula ;4 Get quotient from E106 33 pulb ;4 stack to D. E107 39 rts ;5 Return(D:=D div X, X:=D mod X). E108 V_ASCII E108 7F20A5 clr ASC_STEV E10B 8303E8 ASC_Z1 subd #1000 E10E 2B05 bmi ASC_K1 E110 7C20A5 inc ASC_STEV E113 20F6 bra ASC_Z1 E115 ASC_K1 E115 C303E8 addd #1000 E118 36 psha E119 B620A5 ldaa ASC_STEV E11C 8B30 adda #$30 E11E A700 staa 0,X E120 32 pula E121 7F20A5 clr ASC_STEV AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 6 E124 830064 ASC_Z2 subd #100 E127 2B05 bmi ASC_K2 E129 7C20A5 inc ASC_STEV E12C 20F6 bra ASC_Z2 E12E ASC_K2 E12E C30064 addd #100 E131 B620A5 ldaa ASC_STEV E134 8B30 adda #$30 E136 A701 staa 1,X E138 4F clra E139 C00A ASC_Z3 subb #10 E13B 2B03 bmi ASC_K3 E13D 4C inca E13E 20F9 bra ASC_Z3 E140 ASC_K3 E140 CB0A addb #10 E142 CB30 addb #$30 E144 E703 stab 3,X E146 8B30 adda #$30 E148 A702 staa 2,X E14A 39 rts ;________________________ TRANSMIT STRING (~<=32+x*73) ________________________ ; Transmit string staring with the character at X. TRASTR copies characters ; from string to the transmision buffer TRAB-TRAE until the null-character ; is encountered or until the tranmision buffer is full. In the later case ; the transmision is interrupted and Z=1 is returned. Z=0 on the other hand ; indicates a successfull transmission. ;------------------------------------------------------------------------------ E14B TRASTR E14B A600 ldaa 0,X E14D 2706 beq TKONC E14F BDE09F jsr TRACHR E152 08 inx E153 20F6 bra TRASTR E155 39 TKONC rts E156 ;________________________ RECEIVE STRING FROM SCI _____________________________ ; Get a CR-terminated string from the SCI receiveing buffer using RECCHR. ; As they are read, the characters are echoed back via TRACHR. Backspace ; characters ($08) cause the deletion of the leftmost character. The resulting ; null-terminated string is stored in memory at X. The string length will not ; exceed A characters excluding the termination byte. The final string length ; is returned in B. ;------------------------------------------------------------------------------ E156 RECSTR E156 39 rts ;-----------------------RMP--------------------------------------------------- AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 7 ;INICIALIZACIJA PIE E157 INITPIA E157 3C pshx E158 B66001 ldaa _CRA E15B 84FB anda #%11111011 E15D B76001 staa _CRA E160 8602 ldaa #%00000010 E162 B76000 staa _DDRA E165 8604 ldaa #%00000100 E167 BA6001 oraa _CRA E16A B76001 staa _CRA E16D 8602 ldaa #%00000010 E16F B76000 staa _DDRA E172 7F209E clr IZR_ZAST E175 CE0A00 ldx #2560 E178 FF2095 stx STETJE E17B 7F209B clr STEJ E17E 7F209C clr STEJ+1 E181 CEE1BF ldx #SPOROCH1 E184 BDE14B jsr TRASTR E187 CEE195 ldx #SPOROCH2 E18A BDE14B jsr TRASTR E18D 7F20A6 clr SK_OBR E190 7F20A7 clr SK_OBR+1 E193 38 pulx E194 39 rts E195 0C0D SPOROCH2 FCB $0C,$0D E197 486974726F FCC 'Hitrost [km/h]: ' E1BE 00 FCB $00 E1BF 0C0D SPOROCH1 FCB $0C,$0D E1C1 434954414C FCC 'CITALEC HITROSTI IN POTI (VERZIJA no.1) ' E1E9 00 FCB $00 ;STETJE IMPULZOV E1EA ST_IMP E1EA 36 psha E1EB 37 pshb E1EC BDE214 jsr VRTENJE E1EF FC2095 ldd STETJE E1F2 830001 subd #1 E1F5 FD2095 std STETJE E1F8 2703 beq ST_NOVO E1FA ST_IMP_K E1FA 33 pulb E1FB 32 pula E1FC 39 rts E1FD ST_NOVO E1FD CC0A00 ldd #2560 AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 8 E200 FD2095 std STETJE E203 7C209E inc IZR_ZAST E206 FC209B ldd STEJ E209 FD209F std IZR_STEJ E20C 7F209B clr STEJ E20F 7F209C clr STEJ+1 E212 20E6 bra ST_IMP_K E214 VRTENJE E214 7D209D tst PREJPOZ E217 2709 beq VRT_N E219 B66000 ldaa _DDRA E21C VRT_K E21C 8401 anda #%00000001 E21E B7209D staa PREJPOZ E221 39 rts E222 B66000 VRT_N ldaa _DDRA E225 8401 anda #%00000001 E227 27F3 beq VRT_K E229 36 psha E22A FC209B ldd STEJ E22D C30001 addd #1 E230 FD209B std STEJ E233 32 pula E234 20E6 bra VRT_K E236 IZRACUN E236 FC209F ldd IZR_STEJ E239 05 asld E23A CE20A1 ldx #HITROST E23D BDE108 jsr V_ASCII E240 CEE29A ldx #BRISI ; Brisi prejsnjo hitrost in pot E243 BDE14B jsr TRASTR E246 CE20A1 ldx #HITROST E249 BDE272 jsr PRIKAZI ; E24C FC209F ldd IZR_STEJ E24F 04 lsrd E250 F320A6 addd SK_OBR E253 FD20A6 std SK_OBR E256 CE0054 ldx #84 E259 BDE0E2 jsr DIV E25C CE2097 ldx #POT E25F BDE108 jsr V_ASCII E262 CEE28C ldx #SPR_POT AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 9 E265 BDE14B jsr TRASTR E268 CE2097 ldx #POT E26B BDE272 jsr PRIKAZI E26E 7F209E clr IZR_ZAST E271 39 rts E272 PRIKAZI E272 A600 ldaa 0,X E274 BDE09F jsr TRACHR E277 A601 ldaa 1,X E279 BDE09F jsr TRACHR E27C A602 ldaa 2,X E27E BDE09F jsr TRACHR E281 862E ldaa #'.' E283 BDE09F jsr TRACHR E286 A603 ldaa 3,X E288 BDE09F jsr TRACHR E28B 39 rts E28C 203B20506FSPR_POT FCC ' ; Pot [km]: ' E299 00 FCB $00 E29A 0808080808BRISI FCB $08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08 E2A6 0808080808 FCB $08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$00 E2B2 AUX ;======================== EXTERNAL RAM $2000..$3FFF =========================== 2000 ORG _XRAM 2000 ;________________________ KERNEL VARIABLES (7 bytes) __________________________ 2000 SCHPTR RMB 2 ;16 bit pointer to current task in SCHTAH. 2002 SCHTST RMB 1 ;Test task on exceeding time slice. 2003 TIMH RMB 1 ;Hours (0..23), 2004 TIMM RMB 1 ;minutes (0..59), 2005 TIMS RMB 1 ;seconds (0..59), 2006 TIMF RMB 1 ;and fractions (0..255). 2007 ;________________________ DRIVER VARIABLES (101 bytes) ________________________ 2007 KBDB RMB 3+8 ;KBD buffer 2012 KBDE RMB 2 ;with a capacity of 8 characters. 2014 KBDKEY RMB 1 ;KBD status variable: keypressed? 2015 MOTCUR RMB 2 ;Currrent rotor position, written by MOT. 2017 MOTEND RMB 2 ;Final rotor position, read by MOT. 2019 BEEDUR RMB 1 ;The beeping duration in 1/64s. 201A TRAB RMB 3+100 ;SCI transmitting buffer 2081 TRAE RMB 2 ;with a capacity of 64 characters. 2083 RECB RMB 3+8 ;SCI receiveing buffer 208E RECE RMB 2 ;with a capacity of 8 characters. 2090 AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 10 ;________________________ USER VARIABLES ______________________________________ ; ; Place global application variables here! 2090 TEMP RMB 1 2091 KBDPOINT RMB 1 2092 KBDRCNT RMB 1 2093 KBDVAL RMB 1 2094 KBDBUF RMB 1 2095 STETJE RMB 2 2097 POT RMB 4 209B STEJ RMB 2 209D PREJPOZ RMB 1 209E IZR_ZAST RMB 1 209F IZR_STEJ RMB 2 20A1 HITROST RMB 4 20A5 ASC_STEV RMB 1 20A6 SK_OBR RMB 2 ;________________________ VARIABLE HEAP _______________________________________ 20A8 HEAP RMB 1 ;First byte of variable heap. E2B2 ORG AUX ;________________________ INITIALIZE RAM VARIABLES ____________________________ E2B2 CE0000 INIT ldx #$0000 ;Clear E2B5 FF2003 stx TIMH ;hours, minutes, E2B8 FF2005 stx TIMS ;seconds and fractions. E2BB FF2015 stx MOTCUR ;Reset current E2BE FF2017 stx MOTEND ;and final motor position. E2C1 860C ldaa #%00001100 ;Set the motors initial E2C3 9702 staa _P1DR ;stepping sequence. E2C5 CE2009 ldx #KBDB+2 ;Clear the E2C8 FF2007 stx KBDB ;keyboard E2CB FF2012 stx KBDE ;buffer. E2CE 7F2019 clr BEEDUR ;Shut up the beeper. E2D1 7FA000 clr _LEDD ;Clear the LED display. E2D4 CE201C ldx #TRAB+2 ;Clear the E2D7 FF201A stx TRAB ;SCI transmitting E2DA FF2081 stx TRAE ;buffer. E2DD CE2085 ldx #RECB+2 ;Clear the E2E0 FF2083 stx RECB ;SCI receiveing E2E3 FF208E stx RECE ;buffer. E2E6 8605 ldaa #$05 E2E8 9710 staa _RMCR E2EA 860A ldaa #$0A E2EC 9711 staa _TRCSR E2EE 39 rts ;Return(). E2EF ;________________________ RESET _______________________________________________ E2EF 8E3FFF _RES lds #$3FFF ;Define stack segment. E2F2 BDE2B2 jsr INIT ;Initialize RAM variables. E2F5 BDE04A jsr SCHON ;Start schedule AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 11 E2F8 BDE157 jsr INITPIA E2FB BDE300 jsr MAIN ;Call MAIN -- there should be no return. E2FE 20FE HALT bra HALT ;Dead loop! E300 ;________________________ MAIN PROGRAM ________________________________________ E300 MAIN ;Application user code ; ... ; including user subroutines. E300 7D209E tst IZR_ZAST E303 2703 beq MAIN_K E305 BDE236 jsr IZRACUN E308 7EE300 MAIN_K jmp MAIN E30B 39 rts E30C ;________________________ INTERRUPT VECTOR TABLE ______________________________ FFF0 ORG $FFF0 FFF0 E2FE FDB HALT ;Serial communication interrupt vector. FFF2 E2FE FDB HALT ;Timer overflow flag interrupt vector. FFF4 E021 FDB _OCF ;Output compare flag interrupt vector. FFF6 E2FE FDB HALT ;Input capture flag interrupt vector. FFF8 E2FE FDB HALT ;Interrupt request vector. FFFA E2FE FDB HALT ;Software interrupt vector. FFFC E2FE FDB HALT ;Non-maskable interrupt vector. FFFE E2EF FDB _RES ;Processor reset vector. 0000 END AVOCET SYSTEMS 6801/6301 ASSEMBLER - VERSION 2.20M SERIAL #00413 SOURCE FILE NAME: VETER2.ASM PAGE 12 ---- SYMBOL TABLE ---- ASC_K1 E115 KBDE 2012 SCHTST 2002 TRA1 E0AE _MSB 6023 ASC_K2 E12E KBDKEY 2014 SCHWAI E094 TRAB 201A _MUX 6012 ASC_K3 E140 KBDPOINT 2091 SCI E0B8 TRACHR E09F _OCF E021 ASC_STEV 20A5 KBDRCNT 2092 SCI_TR E0C1 TRAE 2081 _OCR 000B ASC_Z1 E10B KBDVAL 2093 SKON E0DC TRAERR E0B6 _P1DDR 0000 ASC_Z2 E124 MAIN E300 SKONEC E0DF TRASTR E14B _P1DR 0002 ASC_Z3 E139 MAIN_K E308 SK_OBR 20A6 VRTENJE E214 _RDR 0012 AUX E2B2 MOTCUR 2015 SPOROCH1 E1BF VRT_K E21C _RES E2EF BEEDUR 2019 MOTEND 2017 SPOROCH2 E195 VRT_N E222 _RLS 6011 BRISI E29A POT 2097 SPR_POT E28C V_ASCII E108 _RMCR 0010 DIV E0E2 PREJPOZ 209D STEJ 209B _CRA 6001 _RMS 6010 DIV1 E0EC PRIKAZI E272 STETJE 2095 _CRB 6003 _RSF 6012 DIV2 E0FE RECB 2083 ST_IMP E1EA _DDRA 6000 _SYROM C000 HALT E2FE RECCHR E0E1 ST_IMP_K E1FA _DPRB 6002 _TCSR 0008 HEAP 20A8 RECE 208E ST_NOVO E1FD _EPROM E000 _TDR 0013 HITROST 20A1 RECSTR E156 TEMP 2090 _FRC 0009 _TRCSR 0011 INIT E2B2 SCHERR E026 TIM E060 _ICR 000D _WAD12 6010 INITPIA E157 SCHOK E028 TIMF 2006 _IRAM 0080 _WAD8 6011 IZRACUN E236 SCHON E04A TIMH 2003 _KBDD 8000 _WDA12 6030 IZR_STEJ 209F SCHPTR 2000 TIMM 2004 _LEDD A000 _XRAM 2000 IZR_ZAST 209E SCHRTS E020 TIMRTS E08C _LSA 6020 KBDB 2007 SCHSYN E08D TIMS 2005 _LSB 6022 KBDBUF 2094 SCHTAB E000 TKONC E155 _MSA 6021 ***** NO ERRORS DETECTED *****  _DPRB 6002 _TCSR 000