From 6014f72dbf70b1555c997508fb65cf3939cc6ba7 Mon Sep 17 00:00:00 2001 From: ian Date: Fri, 23 Dec 2005 00:08:22 +0000 Subject: [PATCH] shuffle sections and files so it compiles without out of range branches --- detpic/Makefile | 2 +- detpic/mascan.asm | 32 ++++++++++++++++++-------------- detpic/panic.asm | 9 +++++---- detpic/points.asm | 16 ++++++++++------ detpic/program.asm | 4 ++-- detpic/reverse.asm | 5 +++-- 6 files changed, 39 insertions(+), 29 deletions(-) diff --git a/detpic/Makefile b/detpic/Makefile index 1d8b12c..a6dfd84 100644 --- a/detpic/Makefile +++ b/detpic/Makefile @@ -5,7 +5,7 @@ PICNOS= 0 1 2 PROGRAMS= program OBJS_program= vectors.o panic.o routines-led.o i2clib.o \ misc.o detect.o variables.o points.o serout.o \ - syncwrite.o reverse.o nmra-stream.o mascan.o + syncwrite.o mascan.o reverse.o nmra-stream.o XCODEN_program= morse XCODE1_program= ours+pindata diff --git a/detpic/mascan.asm b/detpic/mascan.asm index 4dfb201..8cf7eaa 100644 --- a/detpic/mascan.asm +++ b/detpic/mascan.asm @@ -53,7 +53,7 @@ i2cmu_write_next_byte panic morse_UI ;====================================================================== -; PROCESSING OF INCOMING BYTES +; PROCESSING OF INCOMING BYTES - CORE AND DETECTION ;---------------------------------------- i2cmu_read_got_byte @@ -157,21 +157,9 @@ read_got_notfirst bt_f_if0 b, 7 ; any more ? bc_f cbyte, 7 bc_f b, 7 - rcall process_got_extra + call process_got_extra bra i2c_arrange_next_byte -;---------------------------------------- -process_got_extra - mov_fw b -loopback_read_byte -;... -; W message - xor_lw 0x00 ^ 0x20 - bra_z got_pointed - xor_lw 0x20 ^ 0xb0 - bra_z got_aargh - panic morse_MX - ;---------- read_got_detectbyte_prep ; @@ -215,6 +203,22 @@ i2c_arrange_something ; figure out what to do next - which pic to address, etc. panic morse_UG +;====================================================================== +; PROCESSING OF INCOMING BYTES - EXTRA (NON-DETECTION) + +near_gots code +;---------------------------------------- +process_got_extra + mov_fw b +loopback_read_byte +;... +; W message + xor_lw 0x00 ^ 0x20 + bra_z got_pointed + xor_lw 0x20 ^ 0xb0 + bra_z got_aargh + panic morse_MX + ;====================================================================== ; GENERATION OF DETECTION MESSAGES FOR HOST - MAD BT_F_IF1 TABLES diff --git a/detpic/panic.asm b/detpic/panic.asm index 151e0d2..4908b29 100644 --- a/detpic/panic.asm +++ b/detpic/panic.asm @@ -392,10 +392,6 @@ panic_crashread_commanded bs_f panicst, panicst_acked ; since we were asked to panic morse_E -;---------- -got_aargh - panic morse_T - ;---------- i2csu_read_begin_panicd mov_lw 0x80 ; M0000000 @@ -414,5 +410,10 @@ i2csu_read_another_panicd mov_lw 0x0b ; AARGH goto i2cs_read_data +near_gots code +;---------- +got_aargh + panic morse_T + ;*************************************************************************** include final.inc diff --git a/detpic/points.asm b/detpic/points.asm index 4a08751..7ca27a4 100644 --- a/detpic/points.asm +++ b/detpic/points.asm @@ -19,7 +19,6 @@ ptix2latbit_section udata ptix2latbit pointmsg res 1 ;====================================================================== - code ;====================================================================== ; LOCAL POINTS @@ -28,6 +27,7 @@ pointmsg res 1 ;---------------------------------------------------------------------- ; LOCAL POINTS - ACTUALLY DOING +near_local_do code ;---------------------------------------- point_local_do ; On slave, called during i2c receive, ie High ISR @@ -39,13 +39,18 @@ point_local_do mov_wf pointmsg ; pointmsg = SS zz zz pp pp pp pp pp intrh_fsr0_save ; point_set_pin uses FSR0, see below - rcall point_set_pin + call point_set_pin intrh_fsr0_restore clr_f TMR3L ; also copies TMR3H into actual timer register bs_f T3CON, TMR3ON return +;---------- +point_clash + panic morse_PB + + code ;---------------------------------------- points_local_intrl bt_f_if0 PIR2, TMR3IF @@ -93,13 +98,10 @@ point_set_pin xor_wff INDF0 ; pin = !pin return +;---------- point_nonexistent panic morse_PU -;---------- -point_clash - panic morse_PB - ;---------------------------------------------------------------------- ; LOCAL POINTS - INITIALISATION @@ -231,6 +233,8 @@ point_timer_init_endif_masterslave ;====================================================================== +near_gots code + cdu_init panic morse_UCI ; For master pic only. Sorts out the CDU's pin. diff --git a/detpic/program.asm b/detpic/program.asm index a5ef99d..c4a436d 100644 --- a/detpic/program.asm +++ b/detpic/program.asm @@ -165,8 +165,6 @@ command_point command_crashed panic morse_UC -code2 code - ;====================================================================== ; SLAVE @@ -192,6 +190,7 @@ slave_interrupt_low i2csu_write_begin return +near_local_do code ;---------------------------------------- i2csu_write_data call led_green @@ -214,6 +213,7 @@ i2csu_write_if_special bra i2csu_write_if_bad goto panic_crashread_commanded +code2 code ;====================================================================== ; MASTER/SLAVE deviations diff --git a/detpic/reverse.asm b/detpic/reverse.asm index b49454d..c6829dd 100644 --- a/detpic/reverse.asm +++ b/detpic/reverse.asm @@ -21,11 +21,11 @@ polarities_commanded_buffer res maxpics+1 ; 000000000 we have written any relevant command ; 000000002 sentinel - code ;====================================================================== ; LOCAL REVERSERS ; on slave, or master's own +near_local_do code ;---------- polarity_local_do ; On slave, called during i2c receive, ie High ISR @@ -66,6 +66,7 @@ polarity_local_do ; v is new reverse bit return + code ;---------- polarity_local_init load_perpic_tblptr picno2revmasks, 2 @@ -79,7 +80,7 @@ polarity_local_init mov_wf maske clr_w - rcall polarity_local_do + call polarity_local_do com_fw maska and_wff TRISA -- 2.30.2