📄 splc501sys.lst
字号:
<
< .ENDM
<
<
<
<
< //.define PC_Play_Enable_A2000 1 // Enable the PC-Play function for SACM-A2000 module
< //.define PC_Play_Enable_S480 1 // Enable the PC-Play function for SACM-S480 module
< //.define PC_Play_Enable_S240 1 // Enable the PC-Play function for SACM-S240 module
< //.define PC_Play_Enable_MS01 1 // Enable the PC-Play function for SACM-MS01 module
<
<
<
< //========================================================================================
< // End of hardware.inc
< //========================================================================================
.include splc501c_io.inc
< //========================================================
< //SPLC501C Library Pin Definition
< //==========================================================
< //6800 Control Pin
< //-----------------------------------------------------------------------------
< //User can change any of control pins at any bit, except user select the IO port
< //of control pin the same as control bus.
< //=======================================================
< // FEDCBA9876543210
< //.define C_AOP_Pin 00100000000000b; //IO AOP
< //.define C_EP_Pin 01000000000000b; //IO EP
< //.define C_RWP_Pin 10000000000000b; //IO as RWP
< // FEDCBA9876543210
< .define C_AOP_Pin 0000000000010000b; //IO AOP
< .define C_EP_Pin 0000000001000000b; //IO EP
< .define C_RWP_Pin 0000000000100000b; //IO as RWP
< //========================================================
< //Define the SPLC Data Bus Pin
< //Only Two Type Can Select
< //=====================================================
< // FEDCBA9876543210
< .define C_DataBus 1111111100000000b; //IO Data Bus
< //.define C_DataBus 0000000011111111b;
< .define C_BusHighLow 1; //Set Data High/Low Byte 1:High
< //.define C_AddressBus 0000000011111111b; //IO Data Bus
< //.define C_DataBus 0000000011111111b; //IO Data Bus
< //.define C_BusHighLow 0; //Set Data High/Low Byte 0:Low
< //=====================================================
< //================================================
< //Set Control Pins Port
< //================================================
< //Set Control Pins At Port A
< //.define P_IO_Control_Data 0x7000; //P_IOA_Data
< //.define P_IO_Control_Buffer 0x7001; //P_IOA_Buffer
< //.define P_IO_Control_Dir 0x7002; //P_IOA_Dir
< //.define P_IO_Control_Attrib 0x7003; //P_IOA_Attrib
< //=========================================================
< //Set Control Pins At Port B
< .define P_IO_Control_Data 0x7005; //P_IOB_Data
< .define P_IO_Control_Buffer 0x7006; //P_IOB_Buffer
< .define P_IO_Control_Dir 0x7007; //P_IOB_Dir
< .define P_IO_Control_Attrib 0x7008; //P_IOB_Attrib
< //========================================================
< //=========================================================
< //Set Control Bus Port
< //==========================================================
< //Set Control Bus At Port A
< .define P_IO_Data_Data 0x7000; //P_IOA_Data
< .define P_IO_Data_Buffer 0x7001; //P_IOA_Buffer
< .define P_IO_Data_Dir 0x7002; //P_IOA_Dir
< .define P_IO_Data_Attrib 0x7003; //P_IOA_Attrib
< //==========================================================
< //Set Control Bus At Port B
< //.define P_IO_Data_Data 0x7005; //P_IOB_Data
< //.define P_IO_Data_Buffer 0x7006; //P_IOB_Buffer
< //.define P_IO_Data_Dir 0x7007; //P_IOB_Dir
< //.define P_IO_Data_Attrib 0x7008; //P_IOB_Attrib
< //=========================================================
.include splc501c.inc
< //////////////////////////////////////////////////////////////////////////
< .define _public_area_x_l 0x00 //点X坐标显示范围
< .define _public_area_x_h 0x70 //点X坐标显示范围
< .define _public_area_y_l 0x00 //点y坐标显示范围
< .define _public_area_y_h 0x40 //点y坐标显示范围
< //////////////////////////////////////////////////////////////////////////
< .define sign_zk_bank 0x08
<
< .define line_mode_bit_clear 0xffc7
< .define line_mode_bit 0x0038
<
< .define DRAW_COVER 0 //(default)
< .define DRAW_ERASE 1
< .define DRAW_HOLLOW 2
< .define DRAW_DOTTED 3
< .define DRAW_HOLLOW_ERASE 4
< .define DRAW_DOTTED_COVER 5
< .define DRAW_SOLID_XOR 6
< .define DRAW_DOTTED_XOR 7
<
< .define draw_mode_COVER 0x0000
< .define draw_mode_ERASE 0x0008
< .define draw_mode_HOLLOW 0x0010
< .define draw_mode_DOTTED 0x0018
< .define draw_mode_HOLLOW_ERASE 0x0020
< .define draw_mode_DOTTED_COVER 0x0028
< .define draw_mode_SOLID_XOR 0x0030
< .define draw_mode_DOTTED_XOR 0x0038
<
<
< .define DG_LINE_COVER 0 //(default)
< .define DG_LINE_ERASE 1
< .define DG_LINE_HOLLOW 2
< .define DG_LINE_DOTTED 3
< .define DG_LINE_HOLLOW_ERASE 4
< .define DG_LINE_DOTTED_COVER 5
< .define DG_LINE_SOLID_XOR 6
< .define DG_LINE_DOTTED_XOR 7
<
< .define line_mode_COVER 0x0000
< .define line_mode_ERASE 0x0008
< .define line_mode_HOLLOW 0x0010
< .define line_mode_DOTTED 0x0018
< .define line_mode_HOLLOW_ERASE 0x0020
< .define line_mode_DOTTED_COVER 0x0028
< .define line_mode_SOLID_XOR 0x0030
< .define line_mode_DOTTED_XOR 0x0038
<
< .define DG_RECT_COVER 0 //(default)
< .define DG_RECT_ERASE 1 //
< .define DG_RECT_HOLLOW 2 //
< .define DG_RECT_DOTTED 3 //
< .define DG_RECT_HOLLOW_ERASE 4 //
< .define DG_RECT_DOTTED_COVER 5 //
< .define DG_RECT_SOLID_XOR 6 //
< .define DG_RECT_DOTTED_XOR 7
<
< .define rect_mode_COVER 0x0000
< .define rect_mode_ERASE 0x0008
< .define rect_mode_HOLLOW 0x0010
< .define rect_mode_DOTTED 0x0018
< .define rect_mode_HOLLOW_ERASE 0x0020
< .define rect_mode_DOTTED_COVER 0x0028
< .define rect_mode_SOLID_XOR 0x0030
< .define rect_mode_DOTTED_XOR 0x0038
<
< .define bmp_mode_bit_clear 0xfe3f
< .define bmp_mode_bit 0x01c0
<
< .define DG_BMP_COVER 0
< .define DG_BMP_CLEAR 1
< .define DG_BMP_XOR 2
<
< .define BMP_mode_COVER 0x0000
< .define BMP_mode_CLEAR 0x0100
< .define BMP_mode_XOR 0x00c0
<
< .define dotted_mode_bit_clear 0xffc3
< .define dotted_mode_bit 0x003c
<
< .define DG_PIXEL_COVER 0 //(default)
< .define DG_PIXEL_CLEAR 1
< .define DG_PIXEL_XOR 2
<
< .define pixel_mode_COVER 0x0000
< .define pixel_mode_CLEAR 0x0008
< .define pixel_mode_XOR 0x0030
.external F_Set_LCD_Page_No
.external F_Set_LCD_Column_Addr
.external F_Read_Lcd_data
.external _Init_LCD_501
.external F_Fill_All_LCD_Value
.external F_Send_data
.external _Read_Lcd_data
.external F_Display_point
.external _Init_IO
00000000 .RAM
00008333 .CODE
//////////////////////////////////////////////////////////////////////////////
//Filename : _Init_sys
//Function Description : initialize systemClock and Find the "zk_data" position
//Input : no
//Output : [bank1] zk_data at rom bank
//Destory : R1,R2,R3,R4
//////////////////////////////////////////////////////////////////////////////
.public _Init_sys
_Init_sys:
F_Init_sys: .proc
00008333 09 93 98 00 r1=0x0098
00008335 19 D3 13 70 [P_SystemClock]=r1
// call _F_image_bank
00008337 40 F0 3A 83 call F_zk_bank
00008339 90 9A RETF
.endp
//////////////////////////////////////////////////////////////////////////////
//Filename : F_zk_bank
//Function Description : Find the "zk_data" position
//Input : none
//Output : [bank1] zk_data at rom bank
//Destory : R1,R2,R3,R4
//////////////////////////////////////////////////////////////////////////////
.external bank1
.external tiny3 //zk_data
.public F_zk_bank
F_zk_bank:
0000833A 40 98 r4=0x00
//////
0000833B 06 95 r2=sr
0000833C 0A B5 FF 03 r2&=0x03ff
0000833E 09 93 AD 9E r1=tiny3 //zk_data //zk_data at zk.asm
F_zk_bank_loop:
00008340 02 9D sr=r2
00008341 E1 96 r3=D:[r1]
00008342 0B 47 FF 00 cmp r3,0x00ff
00008344 05 5E je F_zk_bank_0
00008345 0C 09 00 04 r4+=0x0400
00008347 0A 05 00 04 r2+=0x0400
00008349 4A EE jmp F_zk_bank_loop
F_zk_bank_0:
0000834A 1C D9 0D 06 [bank1]=r4
0000834C 90 9A retf
//////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -