Вот кусочек моей старой проги на асме (AStudio) c условной компиляцией табличных данных (во FLASH-памяти)
CODE
.org $1000
Table_Altera:
;*******************************************************************************
.equ TYPE_BLOCK = 6 ; или 0,1,2,3,4,5
;*******************************************************************************
.IF TYPE_BLOCK == 0
.include "mv01_old39.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 1
.include "mv01_new1.inc"
.equ OUT_PORT = PORTE
.Equ UR_C = PE2
.Equ UR_B = PE3
.ELIF TYPE_BLOCK == 2 ; Very OLD OTS
.include "mv01_old_rl1.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 3 ; Very OLD OTS Test
.include "mv01_old_rl1_test.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 4
.include "mv01_p4b3t.inc" ; for oldOTS
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 5
.include "mv01_testrl.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 6
.include "mv01f_000501.inc"
.equ OUT_PORT = PORTE
.Equ UR_C = PE2
.Equ UR_B = PE3 ; B_NApr
.ENDIF
;*******************************************************************************
Структура *.inc-файлов :
Код
.db 0x17,0x1F,0x27,0x2E,0x2F,0x33,0x37,0x3A,0x3B,0x3E
.db 0xFF,0xFF,0xFF,0x01,0x7E,0xE7,0x1F,0x62,0x7B,0x3C
.db 0x33,0xFF,0x47,0xA0,0x09,0x30,0x01,0x26,0xD0,0x04
.db 0xC0,0x80,0x13,0x33,0x03,0x60,0x33,0x64,0x35,0x81
.db 0x26,0x40,0x06,0x9A,0x33,0x18,0x68,0x02,0x64,0xC0
.db 0x0C,0x80,0x01,0x00,0x10,0x0C,0x34,0x01,0x30,0x33
.db 0x06,0xC0,0x33,0x13,0x60,0x02,0x64,0xA0,0x09,0x90
Причина редактирования: Оформление цитирования исходников.