?? vectors08.lis
字號:
.module vectors08.c
.area text
; j -> 28,X
; i -> 30,X
0000 _isrTIMER1::
0000 8B pshh
0001 B600 lda *__r0
0003 87 psha
0004 B600 lda *__r1
0006 87 psha
0007 B600 lda *__r2
0009 87 psha
000A B600 lda *__r3
000C 87 psha
000D B600 lda *__rhi
000F 87 psha
0010 B600 lda *__rlo
0012 87 psha
0013 A7E1 ais #-31
0015 95 tsx
0016 ; /*-----------------------------------------------------*
0016 ; *文件名:vectors08.c *
0016 ; *功 能:用于定義中斷矢量表 *
0016 ; *-----------------------------------------------------*/
0016 ; #include "GP32C.H"
0016 ; #include "KB.h"
0016 ; #include "TIME.h"
0016 ; #include "LCD.h"
0016 ; /*[相應寄存器定義]*/
0016 ; #define TSTOPBit 5 //定時器計數停止位
0016 ; #define TOFBit 7 //定時器溢出標志位
0016 ; /*isrTIMER1:定時器溢出中斷處理函數---------------------*
0016 ; *功 能:給內存單元Time[0-2](時分秒)賦值 *
0016 ; *-----------------------------------------------------*/
0016 ; unsigned char KB_valve;
0016 ; extern unsigned char time[7]; //H M S
0016 ; extern unsigned char time1[];
0016 ; extern unsigned char val;
0016 ; extern unsigned char val1;
0016 ; extern unsigned char sign1;
0016 ; extern unsigned char sign2;
0016 ; #pragma interrupt_handler isrTIMER1
0016 ; void isrTIMER1(void)
0016 ; {
0016 ; unsigned char i;
0016 ; unsigned int j;
0016 ; val=1;
0016 A601 lda #1
0018 B700 sta *_val
001A ; asm("SEI"); //關總中斷
001A 9B SEI
001B ; //------------------------------
001B ; time[6]++; //秒數加1
001B 3C06 inc *_time+6
001D ; if (time[6]!=60) goto isrTIMER1_exit; //秒數未增加到60,轉
001D B606 lda *_time+6
001F A13C cmp #60
0021 2703 beq L3
0023 CC02AF jmp L6
0026 L3:
0026 ; time[6]=0; time[5]++; //秒數增加到60,清0,分鐘數加1
0026 3F06 clr *_time+6
0028 3C05 inc *_time+5
002A ; if (time[5]!=60) goto isrTIMER1_exit; //分鐘數未增到60,轉
002A B605 lda *_time+5
002C A13C cmp #60
002E 2703 beq L9
0030 CC02AF jmp L6
0033 L9:
0033 ; time[5]=0; time[4]++; //分鐘數增加到60,清0,小時數加1
0033 3F05 clr *_time+5
0035 3C04 inc *_time+4
0037 ; if (time[4]!=24) goto isrTIMER1_exit; //小時數未增到24,轉
0037 B604 lda *_time+4
0039 A118 cmp #24
003B 2703 beq L14
003D CC02AF jmp L6
0040 L14:
0040 ; time[4]=0; time[3]++; //時數增加到24,清0
0040 3F04 clr *_time+4
0042 3C03 inc *_time+3
0044 ; i=time[2];
0044 B602 lda *_time+2
0046 E71E sta 30,X
0048 ; if((time[2]==1)|(time[2]==3)|(time[2]==5)|(time[2]==7)|(time[2]==8)|(time[2]==10)|(time[2]==12))
0048 B602 lda *_time+2
004A A101 cmp #1
004C 2609 bne L36
004E 4F clra
004F E71A sta 26,X
0051 A601 lda #1
0053 E71B sta 27,X
0055 2004 bra L37
0057 L36:
0057 6F1B clr 27,X
0059 6F1A clr 26,X
005B L37:
005B B602 lda *_time+2
005D A103 cmp #3
005F 2609 bne L38
0061 4F clra
0062 E718 sta 24,X
0064 A601 lda #1
0066 E719 sta 25,X
0068 2004 bra L39
006A L38:
006A 6F19 clr 25,X
006C 6F18 clr 24,X
006E L39:
006E B602 lda *_time+2
0070 A105 cmp #5
0072 2609 bne L40
0074 4F clra
0075 E716 sta 22,X
0077 A601 lda #1
0079 E717 sta 23,X
007B 2004 bra L41
007D L40:
007D 6F17 clr 23,X
007F 6F16 clr 22,X
0081 L41:
0081 B602 lda *_time+2
0083 A107 cmp #7
0085 2609 bne L42
0087 4F clra
0088 E714 sta 20,X
008A A601 lda #1
008C E715 sta 21,X
008E 2004 bra L43
0090 L42:
0090 6F15 clr 21,X
0092 6F14 clr 20,X
0094 L43:
0094 B602 lda *_time+2
0096 A108 cmp #8
0098 2609 bne L44
009A 4F clra
009B E712 sta 18,X
009D A601 lda #1
009F E713 sta 19,X
00A1 2004 bra L45
00A3 L44:
00A3 6F13 clr 19,X
00A5 6F12 clr 18,X
00A7 L45:
00A7 B602 lda *_time+2
00A9 A10A cmp #10
00AB 2609 bne L46
00AD 4F clra
00AE E710 sta 16,X
00B0 A601 lda #1
00B2 E711 sta 17,X
00B4 2004 bra L47
00B6 L46:
00B6 6F11 clr 17,X
00B8 6F10 clr 16,X
00BA L47:
00BA B602 lda *_time+2
00BC A10C cmp #12
00BE 2609 bne L48
00C0 4F clra
00C1 E70E sta 14,X
00C3 A601 lda #1
00C5 E70F sta 15,X
00C7 2004 bra L49
00C9 L48:
00C9 6F0F clr 15,X
00CB 6F0E clr 14,X
00CD L49:
00CD E61B lda 27,X
00CF EA19 ora 25,X
00D1 B700 sta *__r1
00D3 E61A lda 26,X
00D5 EA18 ora 24,X
00D7 B700 sta *__r0
00D9 B600 lda *__r1
00DB EA17 ora 23,X
00DD B700 sta *__r1
00DF B600 lda *__r0
00E1 EA16 ora 22,X
00E3 B700 sta *__r0
00E5 B600 lda *__r1
00E7 EA15 ora 21,X
00E9 B700 sta *__r1
00EB B600 lda *__r0
00ED EA14 ora 20,X
00EF B700 sta *__r0
00F1 B600 lda *__r1
00F3 EA13 ora 19,X
00F5 B700 sta *__r1
00F7 B600 lda *__r0
00F9 EA12 ora 18,X
00FB B700 sta *__r0
00FD B600 lda *__r1
00FF EA11 ora 17,X
0101 B700 sta *__r1
0103 B600 lda *__r0
0105 EA10 ora 16,X
0107 B700 sta *__r0
0109 B600 lda *__r1
010B EA0F ora 15,X
010D B700 sta *__r1
010F B600 lda *__r0
0111 EA0E ora 14,X
0113 B700 sta *__r0
0115 5500 ldhx *__r0
0117 650000 cphx #0
011A 95 tsx
011B 2710 beq L20
011D ; {
011D ; if(time[3]!=31) goto isrTIMER1_exit;
011D B603 lda *_time+3
011F A11F cmp #31
0121 2703 beq L50
0123 CC02AF jmp L6
0126 L50:
0126 ; time[3]=0; time[2]++;
0126 3F03 clr *_time+3
0128 3C02 inc *_time+2
012A ; }
012A CC0297 jmp L21
012D L20:
012D ; else if((time[2]==2)|(time[2]==4)|(time[2]==6)|(time[2]==9)|(time[2]==11))
012D B602 lda *_time+2
012F A102 cmp #2
0131 2609 bne L67
0133 4F clra
0134 E70C sta 12,X
0136 A601 lda #1
0138 E70D sta 13,X
013A 2004 bra L68
013C L67:
013C 6F0D clr 13,X
013E 6F0C clr 12,X
0140 L68:
0140 B602 lda *_time+2
0142 A104 cmp #4
0144 2609 bne L69
0146 4F clra
0147 E70A sta 10,X
0149 A601 lda #1
014B E70B sta 11,X
014D 2004 bra L70
014F L69:
014F 6F0B clr 11,X
0151 6F0A clr 10,X
0153 L70:
0153 B602 lda *_time+2
0155 A106 cmp #6
0157 2609 bne L71
0159 4F clra
015A E708 sta 8,X
015C A601 lda #1
015E E709 sta 9,X
0160 2004 bra L72
0162 L71:
0162 6F09 clr 9,X
0164 6F08 clr 8,X
0166 L72:
0166 B602 lda *_time+2
0168 A109 cmp #9
016A 2609 bne L73
016C 4F clra
016D E706 sta 6,X
016F A601 lda #1
0171 E707 sta 7,X
0173 2004 bra L74
0175 L73:
0175 6F07 clr 7,X
0177 6F06 clr 6,X
0179 L74:
0179 B602 lda *_time+2
017B A10B cmp #11
017D 2609 bne L75
017F 4F clra
0180 E704 sta 4,X
0182 A601 lda #1
0184 E705 sta 5,X
0186 2004 bra L76
0188 L75:
0188 6F05 clr 5,X
018A 6F04 clr 4,X
018C L76:
018C E60D lda 13,X
018E EA0B ora 11,X
0190 B700 sta *__r1
0192 E60C lda 12,X
0194 EA0A ora 10,X
0196 B700 sta *__r0
0198 B600 lda *__r1
019A EA09 ora 9,X
019C B700 sta *__r1
019E B600 lda *__r0
01A0 EA08 ora 8,X
01A2 B700 sta *__r0
01A4 B600 lda *__r1
01A6 EA07 ora 7,X
01A8 B700 sta *__r1
01AA B600 lda *__r0
01AC EA06 ora 6,X
01AE B700 sta *__r0
01B0 B600 lda *__r1
01B2 EA05 ora 5,X
01B4 B700 sta *__r1
01B6 B600 lda *__r0
01B8 EA04 ora 4,X
01BA B700 sta *__r0
01BC 5500 ldhx *__r0
01BE 650000 cphx #0
01C1 95 tsx
01C2 2710 beq L55
01C4 ; {
01C4 ; if(time[3]!=30) goto isrTIMER1_exit;
01C4 B603 lda *_time+3
01C6 A11E cmp #30
01C8 2703 beq L77
01CA CC02AF jmp L6
01CD L77:
01CD ; time[3]=0; time[2]++;
01CD 3F03 clr *_time+3
01CF 3C02 inc *_time+2
01D1 ; }
01D1 CC0297 jmp L56
01D4 L55:
01D4 ; else
01D4 ; {
01D4 ; j=time[0]*100+time[1];
01D4 3F00 clr *__r0
01D6 B601 lda *_time+1
01D8 B700 sta *__r1
01DA 3F00 clr *__r2
01DC B600 lda *_time
01DE B700 sta *__r3
01E0 A664 lda #100
01E2 87 psha
01E3 4F clra
01E4 87 psha
01E5 B600 lda *__r3
01E7 87 psha
01E8 B600 lda *__r2
01EA 87 psha
01EB CD0000 jsr __mul16
01EE A704 ais #4
01F0 4E0000 mov *__rlo,*__r3
01F3 4E0000 mov *__rhi,*__r2
01F6 B600 lda *__r3
01F8 BB00 add *__r1
01FA B700 sta *__r1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -