📄 main.lis
字号:
0000 cpu LMM
.module main.c
.area data(ram, con, rel)
0000 _NUM::
0000 039F .byte 3,159
0002 250D .byte 37,13
0004 9949 .byte 153,'I
0006 411F .byte 'A,31
0008 0109 .byte 1,9
000A 11C1 .byte 17,193
000C 6385 .byte 'c,133
000E 6171 .byte 'a,'q
0010 FF .byte 255
0011 .dbfile ./main.c
0011 .dbsym e NUM _NUM A[17:17]c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _weishu::
0000 0001 .word 1
0002 .dbsym e weishu _weishu i
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _gewei::
0000 0000 .word 0
0002 .dbsym e gewei _gewei i
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _shiwei::
0000 0000 .word 0
0002 .dbsym e shiwei _shiwei i
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _baiwei::
0000 0000 .word 0
0002 .dbsym e baiwei _baiwei i
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _qianwei::
0000 0000 .word 0
0002 .dbsym e qianwei _qianwei i
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _count::
0000 0000 .word 0
0002 .dbsym e count _count i
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _key::
0000 00 .byte 0
0001 .dbsym e key _key c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _key1::
0000 00 .byte 0
0001 .dbsym e key1 _key1 c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _key2::
0000 00 .byte 0
0001 .dbsym e key2 _key2 c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _key3::
0000 00 .byte 0
0001 .dbsym e key3 _key3 c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _key4::
0000 00 .byte 0
0001 .dbsym e key4 _key4 c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _temp::
0000 00 .byte 0
0001 .dbsym e temp _temp c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _times::
0000 00 .byte 0
0001 .dbsym e times _times c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area data(ram, con, rel)
0000 .dbfile ./main.c
0000 _time::
0000 00 .byte 0
0001 .dbsym e time _time c
.area data(ram, con, rel)
0000 .dbfile ./main.c
.area text(rom, con, rel)
0000 .dbfile ./main.c
0000 .dbfunc e Display _Display fV
0000 _Display::
0000 .dbline -1
0000 .dbline 27
0000 ; //----------------------------------------------------------------------------
0000 ; // C main line
0000 ; //----------------------------------------------------------------------------
0000 ;
0000 ; #include <m8c.h> // part specific constants and macros
0000 ; #include "PSoCAPI.h" // PSoC API definitions for all User Modules
0000 ; #pragma interrupt_handler Timer8
0000 ; #pragma interrupt_handler Keyscan
0000 ; #pragma interrupt_handler Timer16
0000 ;
0000 ; #define LED1 0B11111110
0000 ; #define LED2 0B11111101
0000 ; #define LED3 0B11111011
0000 ; #define LED4 0B11110111
0000 ;
0000 ; #define SELECT PRT4DR
0000 ; #define DATA PRT3DR
0000 ;
0000 ; BYTE NUM[17] = {0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0x11,0xc1,0x63,0x85,0x61,0x71,0xff};
0000 ;
0000 ; WORD weishu = 1 , gewei = 0 , shiwei = 0 , baiwei = 0 , qianwei = 0 , count = 0 ;
0000 ; BYTE key = 0 , key1 = 0 , key2 = 0 , key3 = 0 , key4 = 0 , temp = 0 ;
0000 ; BYTE times = 0 ;
0000 ; BYTE time = 0 ;
0000 ;
0000 ; void Display()
0000 ; {
0000 .dbline 28
0000 ; switch( weishu )
0000 62D000 mov REG[0xd0],>_weishu
0003 3C0000 cmp [_weishu],0
0006 B006 jnz X1
0008 3C0101 cmp [_weishu+1],1
000B A02A jz L4
000D X1:
000D 62D000 mov REG[0xd0],>_weishu
0010 3C0000 cmp [_weishu],0
0013 B006 jnz X2
0015 3C0102 cmp [_weishu+1],2
0018 A06B jz L7
001A X2:
001A 62D000 mov REG[0xd0],>_weishu
001D 3C0000 cmp [_weishu],0
0020 B006 jnz X3
0022 3C0103 cmp [_weishu+1],3
0025 A07F jz L8
0027 X3:
0027 62D000 mov REG[0xd0],>_weishu
002A 3C0000 cmp [_weishu],0
002D B006 jnz X4
002F 3C0104 cmp [_weishu+1],4
0032 A09A jz L9
0034 X4:
0034 80B7 xjmp L3
0036 X0:
0036 .dbline 29
0036 ; {
0036 L4:
0036 .dbline 31
0036 ; case 1 :
0036 ; if( (count/200) % 2 == 0 )
0036 62D000 mov REG[0xd0],>_count
0039 5000 mov A,0
003B 08 push A
003C 50C8 mov A,-56
003E 08 push A
003F 5100 mov A,[_count]
0041 08 push A
0042 5101 mov A,[_count+1]
0044 08 push A
0045 62D000 mov REG[0xd0],>__r0
0048 7C0000 xcall __divmodu_16X16_16
004B 18 pop A
004C 5300 mov [__r1],A
004E 18 pop A
004F 5300 mov [__r0],A
0051 38FE add SP,-2
0053 260001 and [__r1],1
0056 260000 and [__r0],0
0059 3C0000 cmp [__r0],0
005C B027 jnz L5
005E 3C0000 cmp [__r1],0
0061 B022 jnz L5
0063 X5:
0063 .dbline 32
0063 ; {
0063 .dbline 33
0063 ; SELECT = LED4 ;
0063 6210F7 mov REG[0x10],-9
0066 .dbline 34
0066 ; DATA = NUM[gewei] ;
0066 62D000 mov REG[0xd0],>_gewei
0069 5101 mov A,[_gewei+1]
006B 0100 add A,<_NUM
006D 62D000 mov REG[0xd0],>__r0
0070 5300 mov [__r1],A
0072 62D000 mov REG[0xd0],>_gewei
0075 5100 mov A,[_gewei]
0077 0900 adc A,>_NUM
0079 62D000 mov REG[0xd0],>__r0
007C 60D4 mov REG[0xd4],A
007E 3E00 mvi A,[__r1]
0080 600C mov REG[0xc],A
0082 .dbline 35
0082 ; break ;
0082 8069 xjmp L3
0084 L5:
0084 L7:
0084 .dbline 38
0084 ; }
0084 ; case 2 :
0084 ; SELECT = LED3 ;
0084 6210FB mov REG[0x10],-5
0087 .dbline 39
0087 ; DATA = NUM[shiwei] ;
0087 62D000 mov REG[0xd0],>_shiwei
008A 5101 mov A,[_shiwei+1]
008C 0100 add A,<_NUM
008E 62D000 mov REG[0xd0],>__r0
0091 5300 mov [__r1],A
0093 62D000 mov REG[0xd0],>_shiwei
0096 5100 mov A,[_shiwei]
0098 0900 adc A,>_NUM
009A 62D000 mov REG[0xd0],>__r0
009D 60D4 mov REG[0xd4],A
009F 3E00 mvi A,[__r1]
00A1 600C mov REG[0xc],A
00A3 .dbline 40
00A3 ; break ;
00A3 8048 xjmp L3
00A5 L8:
00A5 .dbline 42
00A5 ; case 3 :
00A5 ; SELECT = LED2 ;
00A5 6210FD mov REG[0x10],-3
00A8 .dbline 43
00A8 ; DATA = NUM[baiwei] & 0B11111110 ;
00A8 62D000 mov REG[0xd0],>_baiwei
00AB 5101 mov A,[_baiwei+1]
00AD 0100 add A,<_NUM
00AF 62D000 mov REG[0xd0],>__r0
00B2 5300 mov [__r1],A
00B4 62D000 mov REG[0xd0],>_baiwei
00B7 5100 mov A,[_baiwei]
00B9 0900 adc A,>_NUM
00BB 62D000 mov REG[0xd0],>__r0
00BE 60D4 mov REG[0xd4],A
00C0 3E00 mvi A,[__r1]
00C2 5300 mov [__r0],A
00C4 2600FE and [__r0],-2
00C7 5100 mov A,[__r0]
00C9 600C mov REG[0xc],A
00CB .dbline 44
00CB ; break ;
00CB 8020 xjmp L3
00CD L9:
00CD .dbline 46
00CD ; case 4 :
00CD ; SELECT = LED1 ;
00CD 6210FE mov REG[0x10],-2
00D0 .dbline 47
00D0 ; DATA = NUM[qianwei] ;
00D0 62D000 mov REG[0xd0],>_qianwei
00D3 5101 mov A,[_qianwei+1]
00D5 0100 add A,<_NUM
00D7 62D000 mov REG[0xd0],>__r0
00DA 5300 mov [__r1],A
00DC 62D000 mov REG[0xd0],>_qianwei
00DF 5100 mov A,[_qianwei]
00E1 0900 adc A,>_NUM
00E3 62D000 mov REG[0xd0],>__r0
00E6 60D4 mov REG[0xd4],A
00E8 3E00 mvi A,[__r1]
00EA 600C mov REG[0xc],A
00EC .dbline 48
00EC ; break ;
00EC .dbline 50
00EC ; default :
00EC ; break ;
00EC L3:
00EC .dbline 52
00EC 62D000 mov REG[0xd0],>_weishu
00EF 7601 inc [_weishu+1]
00F1 0E0000 adc [_weishu],0
00F4 .dbline 53
00F4 3C0000 cmp [_weishu],0
00F7 B00F jnz L10
00F9 3C0105 cmp [_weishu+1],5
00FC B00A jnz L10
00FE X6:
00FE .dbline 54
00FE 62D000 mov REG[0xd0],>_weishu
0101 550100 mov [_weishu+1],0
0104 550000 mov [_weishu],0
0107 L10:
0107 .dbline -2
0107 .dbline 55
0107 ; }
0107 ; weishu ++ ;
0107 ; if( weishu == 5 )
0107 ; weishu = 0 ;
0107 ; }
0107 L1:
0107 .dbline 0 ; func end
0107 7F ret
0108 .dbend
0108 .dbfunc e Display_Key _Display_Key fV
0108 _Display_Key::
0108 .dbline -1
0108 .dbline 58
0108 ;
0108 ; void Display_Key()
0108 ; {
0108 .dbline 59
0108 ; count ++ ;
0108 62D000 mov REG[0xd0],>_count
010B 7601 inc [_count+1]
010D 0E0000 adc [_count],0
0110 .dbline 60
0110 ; if( (count/200) % 2 == 0 && times != 0 )
0110 5000 mov A,0
0112 08 push A
0113 50C8 mov A,-56
0115 08 push A
0116 5100 mov A,[_count]
0118 08 push A
0119 5101 mov A,[_count+1]
011B 08 push A
011C 62D000 mov REG[0xd0],>__r0
011F 7C0000 xcall __divmodu_16X16_16
0122 18 pop A
0123 5300 mov [__r1],A
0125 18 pop A
0126 5300 mov [__r0],A
0128 38FE add SP,-2
012A 260001 and [__r1],1
012D 260000 and [__r0],0
0130 3C0000 cmp [__r0],0
0133 B0CB jnz L13
0135 3C0000 cmp [__r1],0
0138 B0C6 jnz L13
013A X8:
013A 62D000 mov REG[0xd0],>_times
013D 3C0000 cmp [_times],0
0140 A0BE jz L13
0142 .dbline 61
0142 ; {
0142 .dbline 62
0142 ; switch( weishu )
0142 62D000 mov REG[0xd0],>_weishu
0145 3C0000 cmp [_weishu],0
0148 B006 jnz X9
014A 3C0101 cmp [_weishu+1],1
014D A02A jz L17
014F X9:
014F 62D000 mov REG[0xd0],>_weishu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -