📄 wanjtest.lst
字号:
349 0006 0F01 MOV A,01H
349 0007 0080 E MOV RH,A
349 0008 0FF2 MOV A,0f2H
349 0009 2000 E CALL __DELAYY1
; 352: if (~_pa)
352 000A 0112 CPLA __pa
352 000B 0080 R MOV b0_17,A
352 000C 1080 R SZ b0_17
352 000D 2800 R JMP L155
352 000E 2800 R JMP L138
352 000F L155:
; 356: if((~_pa)&(unsigned char)0x40){keyvalue=0x06;}
356 000F 0112 CPLA __pa
356 0010 0080 R MOV b0_17,A
356 0011 3800 R SNZ b0_17.6
356 0012 2800 R JMP L140
356 0013 0F00 R MOV A,BANK _keyvalue
356 0014 0084 MOV [04H],A
356 0015 0F00 R MOV A,OFFSET _keyvalue
356 0016 0083 MOV [03H],A
356 0017 0F06 MOV A,06h
356 0018 0082 MOV [02H],A
356 0019 2800 R JMP L141
356 001A L140:
; 357: else if((~_pa)&(unsigned char)0x20){keyvalue=0x05;}
357 001A 0112 CPLA __pa
357 001B 0080 R MOV b0_17,A
357 001C 3800 R SNZ b0_17.5
357 001D 2800 R JMP L142
文件:WANJTEST.C 盛群编译器版本 2.86 页次25
357 001E 0F00 R MOV A,BANK _keyvalue
357 001F 0084 MOV [04H],A
357 0020 0F00 R MOV A,OFFSET _keyvalue
357 0021 0083 MOV [03H],A
357 0022 0F05 MOV A,05h
357 0023 0082 MOV [02H],A
357 0024 2800 R JMP L143
357 0025 L142:
; 358: else if((~_pa)&(unsigned char)0x10){keyvalue=0x04;}
358 0025 0112 CPLA __pa
358 0026 0080 R MOV b0_17,A
358 0027 3800 R SNZ b0_17.4
文件:WANJTEST.c 盛群编译器版本 2.86 页次27
358 0028 2800 R JMP L144
358 0029 0F00 R MOV A,BANK _keyvalue
358 002A 0084 MOV [04H],A
358 002B 0F00 R MOV A,OFFSET _keyvalue
358 002C 0083 MOV [03H],A
358 002D 0F04 MOV A,04h
358 002E 0082 MOV [02H],A
358 002F 2800 R JMP L145
358 0030 L144:
; 359: else if((~_pa)&(unsigned char)0x08){keyvalue=0x03;}
359 0030 0112 CPLA __pa
359 0031 0080 R MOV b0_17,A
359 0032 3800 R SNZ b0_17.3
359 0033 2800 R JMP L146
359 0034 0F00 R MOV A,BANK _keyvalue
359 0035 0084 MOV [04H],A
359 0036 0F00 R MOV A,OFFSET _keyvalue
359 0037 0083 MOV [03H],A
359 0038 0F03 MOV A,03h
359 0039 0082 MOV [02H],A
359 003A 2800 R JMP L147
359 003B L146:
; 360: else if((~_pa)&(unsigned char)0x04){keyvalue=0x02;}
360 003B 0112 CPLA __pa
360 003C 0080 R MOV b0_17,A
360 003D 3800 R SNZ b0_17.2
360 003E 2800 R JMP L148
360 003F 0F00 R MOV A,BANK _keyvalue
360 0040 0084 MOV [04H],A
360 0041 0F00 R MOV A,OFFSET _keyvalue
360 0042 0083 MOV [03H],A
360 0043 0F02 MOV A,02h
360 0044 0082 MOV [02H],A
文件:WANJTEST.C 盛群编译器版本 2.86 页次26
360 0045 2800 R JMP L149
360 0046 L148:
; 361: else if((~_pa)&(unsigned char)0x02){keyvalue=0x01;}
361 0046 0112 CPLA __pa
361 0047 0080 R MOV b0_17,A
361 0048 3800 R SNZ b0_17.1
361 0049 2800 R JMP L150
361 004A 0F00 R MOV A,BANK _keyvalue
361 004B 0084 MOV [04H],A
361 004C 0F00 R MOV A,OFFSET _keyvalue
361 004D 0083 MOV [03H],A
361 004E 0F01 MOV A,01h
361 004F 0082 MOV [02H],A
361 0050 2800 R JMP L151
361 0051 L150:
; 362: else if((~_pa)&(unsigned char)0x01){keyvalue=0x00;}
362 0051 0112 CPLA __pa
362 0052 0080 R MOV b0_17,A
362 0053 3800 R SNZ b0_17.0
362 0054 2800 R JMP L152
362 0055 0F00 R MOV A,BANK _keyvalue
文件:WANJTEST.c 盛群编译器版本 2.86 页次28
362 0056 0084 MOV [04H],A
362 0057 0F00 R MOV A,OFFSET _keyvalue
362 0058 0083 MOV [03H],A
362 0059 1F02 CLR [02H]
362 005A L152:
362 005A L151:
362 005A L149:
362 005A L147:
362 005A L145:
362 005A L143:
362 005A L141:
; 363: j=1;
363 005A 0F01 MOV A,01h
363 005B 0080 R MOV CR28,A
363 005C L138:
363 005C L136:
; 366: return(j);
366 005C 0700 R MOV A,CR28
366 005D L135:
366 005D 0003 RET
366 0000 00 LOCAL b0_17 DB ?
; 343: unsigned int j=0;
343 0001 00 LOCAL CR28 DB ? ; j
343 005E _getkey ENDP
; 371: {
371 0000 @key_adjust .SECTION 'CODE'
371 0000 PUBLIC _key_adjust
371 0000 _key_adjust PROC
; 373: unsigned int held_long_time = 0;//whether long press
文件:WANJTEST.C 盛群编译器版本 2.86 页次27
373 0000 1F00 R CLR CR29
373 0001 L157:
; 375: if(upflag==1)
375 0001 0F00 R MOV A,BANK _upflag
375 0002 0084 MOV [04H],A
375 0003 0F00 R MOV A,OFFSET _upflag
375 0004 0083 MOV [03H],A
375 0005 0702 MOV A,[02H]
375 0006 0C01 XOR A,01h
375 0007 390A SNZ [0AH].2
375 0008 2800 R JMP L158
; 377: focvalue++;//需要让curtime同时加一 以让下面的showpic函数显示出最新值
377 0009 0F00 R MOV A,BANK _focvalue
377 000A 0084 MOV [04H],A
377 000B 0F00 R MOV A,OFFSET _focvalue
377 000C 0083 MOV [03H],A
377 000D 1482 INC [02H]
; 378: focvalue=focvalue%focvmax;//又有了一个工作
378 000E 0F00 R MOV A,BANK _focvalue
378 000F 0084 MOV [04H],A
378 0010 0F00 R MOV A,OFFSET _focvalue
文件:WANJTEST.c 盛群编译器版本 2.86 页次29
378 0011 0083 MOV [03H],A
378 0012 0702 MOV A,[02H]
378 0013 0080 R MOV b0_18,A
378 0014 0F00 R MOV A,BANK _focvmax
378 0015 0084 MOV [04H],A
378 0016 0F00 R MOV A,OFFSET _focvmax
378 0017 0083 MOV [03H],A
378 0018 0702 MOV A,[02H]
378 0019 0080 R MOV b1_18,A
378 001A 0700 R MOV A,b1_18
378 001B 0080 E MOV RH,A
378 001C 0700 R MOV A,b0_18
378 001D 2000 E CALL DIVUI
378 001E 0700 E MOV A,T3
378 001F 0080 R MOV b0_18,A
378 0020 0F00 R MOV A,BANK _focvalue
378 0021 0084 MOV [04H],A
378 0022 0F00 R MOV A,OFFSET _focvalue
378 0023 0083 MOV [03H],A
378 0024 0700 R MOV A,b0_18
378 0025 0082 MOV [02H],A
; 379: }
379 0026 2800 R JMP L159
379 0027 L158:
; 383: focvalue=(focvalue==0)?focvmax:--focvalue;//又有了一个工作
383 0027 0F00 R MOV A,BANK _focvalue
383 0028 0084 MOV [04H],A
383 0029 0F00 R MOV A,OFFSET _focvalue
383 002A 0083 MOV [03H],A
383 002B 1082 SZ [02H]
383 002C 2800 R JMP L161
383 002D 0F00 R MOV A,BANK _focvmax
383 002E 0084 MOV [04H],A
383 002F 0F00 R MOV A,OFFSET _focvmax
383 0030 0083 MOV [03H],A
383 0031 0702 MOV A,[02H]
文件:WANJTEST.C 盛群编译器版本 2.86 页次28
383 0032 0080 R MOV CR31,A
383 0033 2800 R JMP L162
383 0034 L161:
383 0034 0F00 R MOV A,BANK _focvalue
383 0035 0084 MOV [04H],A
383 0036 0F00 R MOV A,OFFSET _focvalue
383 0037 0083 MOV [03H],A
383 0038 1502 DECA [02H]
383 0039 0080 R MOV b0_18,A
383 003A 0F00 R MOV A,BANK _focvalue
383 003B 0084 MOV [04H],A
383 003C 0F00 R MOV A,OFFSET _focvalue
383 003D 0083 MOV [03H],A
383 003E 0700 R MOV A,b0_18
383 003F 0082 MOV [02H],A
383 0040 0700 R MOV A,b0_18
383 0041 0080 R MOV CR31,A
383 0042 L162:
383 0042 0F00 R MOV A,BANK _focvalue
383 0043 0084 MOV [04H],A
文件:WANJTEST.c 盛群编译器版本 2.86 页次30
383 0044 0F00 R MOV A,OFFSET _focvalue
383 0045 0083 MOV [03H],A
383 0046 0700 R MOV A,CR31
383 0047 0082 MOV [02H],A
383 0048 L159:
; 385: hfconsec = hfcursec;
385 0048 0F00 R MOV A,BANK _curtime[6]
385 0049 0084 MOV [04H],A
385 004A 0F00 R MOV A,OFFSET _curtime[6]
385 004B 0083 MOV [03H],A
385 004C 0702 MOV A,[02H]
385 004D 0080 R MOV b0_18,A
385 004E 0700 R MOV A,b0_18
385 004F 0080 R MOV CR30,A
385 0050 2800 R JMP L166
385 0051 L165:
; 388: showp();
388 0051 2000 R CALL _showp
; 389: if (!held_long_time)
389 0052 1080 R SZ CR29
389 0053 2800 R JMP L168
; 391: if (((hfcursec+120-hfconsec)%120)>2)
391 0054 0F00 R MOV A,BANK _curtime[6]
391 0055 0084 MOV [04H],A
391 0056 0F00 R MOV A,OFFSET _curtime[6]
391 0057 0083 MOV [03H],A
391 0058 0702 MOV A,[02H]
391 0059 0B78 ADD A,078h
391 005A 0080 R MOV b0_18,A
391 005B 0700 R MOV A,b0_18
391 005C 0200 R SUB A,CR30
391 005D 0080 R MOV b0_18,A
391 005E 0F78 MOV A,078h
391 005F 0080 E MOV RH,A
391 0060 0700 R MOV A,b0_18
391 0061 2000 E CALL DIVUI
文件:WANJTEST.C 盛群编译器版本 2.86 页次29
391 0062 0700 E MOV A,T3
391 0063 0080 R MOV b0_18,A
391 0064 0F02 MOV A,02h
391 0065 0200 R SUB A,b0_18
391 0066 3C0A SZ [0ah].0
391 0067 2800 R JMP L169
; 393: held_long_time = 1; //set flag
393 0068 0F01 MOV A,01h
393 0069 0080 R MOV CR29,A
; 394: goto repeat_inc;//increase hour
394 006A 2800 R JMP L157
394 006B L168:
; 399: if (hfcursec!=hfconsec)
399 006B 0F00 R MOV A,BANK _curtime[6]
399 006C 0084 MOV [04H],A
文件:WANJTEST.c 盛群编译器版本 2.86 页次31
399 006D 0F00 R MOV A,OFFSET _curtime[6]
399 006E 0083 MOV [03H],A
399 006F 0702 MOV A,[02H]
399 0070 0400 R XOR A,CR30
399 0071 3D0A SZ [0AH].2
399 0072 2800 R JMP L174
; 400: goto repeat_inc;//inc 1, 0.5 sec
400 0073 2800 R JMP L157
400 0074 L174:
400 0074 L169:
400 0074 L166:
; 386: while(_pa == 0)
386 0074 1092 SZ __pa
386 0075 2800 R JMP L178
386 0076 2800 R JMP L165
386 0077 L178:
; 405: set_timer();//dont understand why call the subroutine
405 0077 2000 R CALL _set_timer
405 0078 L156:
405 0078 0003 RET
405 0000 00 LOCAL b0_18 DB ?
405 0001 00 LOCAL b1_18 DB ?
; 373: unsigned int held_long_time = 0;//whether long press
373 0002 00 LOCAL CR29 DB ? ; held_long_time
; 372: unsigned int hfconsec;
372 0003 00 LOCAL CR30 DB ? ; hfconsec
372 0004 00 LOCAL CR31 DB ? ; 160
372 0079 _key_adjust ENDP
; 410: {unsigned int flag=0;
410 0000 @ftiequal .SECTION 'CODE'
410 0000 PUBLIC _ftiequal
410 0000 _ftiequal PROC
; 409: unsigned int ftiequal(struct wan_time one,struct wan_time twe)
409 0000 PUBLIC ftiequal0
409 0000 0007[ LOCAL ftiequal0 DB 7 DUP (?) ; one
00
]
文件:WANJTEST.C 盛群编译器版本 2.86 页次30
409 0000 PUBLIC ftiequal1
409 0007 0007[ LOCAL ftiequal1 DB 7 DUP (?) ; twe
00
]
; 410: {unsigned int flag=0;
410 0000 1F00 R CLR CR34
; 413: if((one.wan_year==twe.wan_year)&&(one.wan_month==twe.wan_month)&&(one.wan_week==twe.wan_week)&&(one.wan_day==twe.wan_day))
413 0001 0700 R MOV A,ftiequal0
413 0002 0400 R XOR A,ftiequal1
413 0003 390A SNZ [0ah].2
413 0004 2800 R JMP L180
413 0005 0700 R MOV A,ftiequal0[1]
文件:WANJTEST.c 盛群编译器版本 2.86 页次32
413 0006 0400 R XOR A,ftiequal1[1]
413 0007 390A SNZ [0ah].2
413 0008 2800 R JMP L180
413 0009 0700 R MOV A,ftiequal0[2]
413 000A 0400 R XOR A,ftiequal1[2]
413 000B 390A SNZ [0ah].2
413 000C 2800 R JMP L180
413 000D 0700 R MOV A,ftiequal0[3]
413 000E 0400 R XOR A,ftiequal1[3]
413 000F 390A SNZ [0ah].2
413 0010 2800 R JMP L180
; 414: if((one.hms.wan_hour==twe.hms.wan_hour)&&(one.hms.wan_minite==twe.hms.wan_minite)&&(one.hms.wan_hfsec==twe.hms.wan_hfsec))
414 0011 0700 R MOV A,ftiequal0[4]
414 0012 0400 R XOR A,ftiequal1[4]
414 0013 390A SNZ [0ah].2
414 0014 2800 R JMP L188
414 0015 0700 R MOV A,ftiequal0[5]
414 0016 0400 R XOR A,ftiequal1[5]
414 0017 390A SNZ [0ah].2
414 0018 2800 R JMP L188
414 0019 0700 R MOV A,ftiequal0[6]
414 001A 0400 R XOR A,ftiequal1[6]
414 001B 390A SNZ [0ah].2
414 001C 2800 R JMP L188
; 415: {flag=1;}
415 001D 0F01 MOV A,01h
415 001E 0080 R MOV CR34,A
415 001F L188:
415 001F L180:
; 416: return flag
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -