⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wanjtest.lst

📁 一个用嵌入c写的万年历程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
  85  0009  0080     R  MOV wr_lcd1,A
文件:WANJTEST.C   盛群编译器版本 2.86 页次7

  85  000A  2000     R  CALL _wr_lcd

;  86:   delay (80); 
  86  000B  0F50        MOV A,050h
  86  000C  0080     R  MOV delay0,A
  86  000D  2000     R  CALL _delay

;  87:   wr_lcd (comm,0x06);  /*光标的移动方向*/ 
  87  000E  0F00        MOV A,00h
  87  000F  0080     R  MOV wr_lcd0,A
  87  0010  0F06        MOV A,06h
  87  0011  0080     R  MOV wr_lcd1,A
  87  0012  2000     R  CALL _wr_lcd

;  88:   wr_lcd (comm,0x0c);  /*开显示,关游标*/ 
  88  0013  0F00        MOV A,00h
  88  0014  0080     R  MOV wr_lcd0,A
  88  0015  0F0C        MOV A,0ch
  88  0016  0080     R  MOV wr_lcd1,A
  88  0017  2000     R  CALL _wr_lcd
  88  0018              L34:
  88  0018  0003        RET
  88  0019              _init_lcd ENDP

;  92: { 
  92  0000              @chn_disp1 .SECTION 'CODE'
  92  0000              PUBLIC _chn_disp1
  92  0000              _chn_disp1 PROC

;  94:   wr_lcd (comm,0x30); 
  94  0000  0F00        MOV A,00h
  94  0001  0080     R  MOV wr_lcd0,A
  94  0002  0F30        MOV A,030h
  94  0003  0080     R  MOV wr_lcd1,A
  94  0004  2000     R  CALL _wr_lcd

;  95:   wr_lcd (comm,0x80); 
  95  0005  0F00        MOV A,00h
  95  0006  0080     R  MOV wr_lcd0,A
文件:WANJTEST.c   盛群编译器版本 2.86 页次8 

  95  0007  0F80        MOV A,080h
  95  0008  0080     R  MOV wr_lcd1,A
  95  0009  2000     R  CALL _wr_lcd

;  96:   j=0; 
  96  000A  1F00     R  CLR CR10

;  97:   for (i=0;i<20;i++) 
  97  000B  1F00     R  CLR CR9
  97  000C  2800     R  JMP L39
  97  000D              L36:

;  98:   wr_lcd (dat,msg[j*20+i]);
  98  000D  0F01        MOV A,01h
  98  000E  0080     R  MOV wr_lcd0,A
  98  000F  0700     R  MOV A,CR10
  98  0010  0080     E  MOV T2,A
  98  0011  0F14        MOV A,014h
  98  0012  2000     E  CALL MULI
  98  0013  0080     R  MOV b0_5,A
  98  0014  0700     R  MOV A,CR9
  98  0015  0380     R  ADDM A,b0_5
  98  0016  0F01        MOV A,1
  98  0017  0300     R  ADD A,b0_5
  98  0018  0B00     R  ADD A,OFFSET l_msg
  98  0019  2000     R  CALL l_msg
  98  001A  0080     R  MOV b0_5,A
  98  001B  0700     R  MOV A,b0_5
文件:WANJTEST.C   盛群编译器版本 2.86 页次8

  98  001C  0080     R  MOV wr_lcd1,A
  98  001D  2000     R  CALL _wr_lcd
  98  001E              L37:

;  97:   for (i=0;i<20;i++) 
  97  001E  1480     R  INC CR9
  97  001F              L39:
  97  001F  0700     R  MOV A,CR9
  97  0020  0A14        SUB A,014h
  97  0021  380A        SNZ [0ah].0
  97  0022  2800     R  JMP L36
  97  0023              L35:
  97  0023  0003        RET
  97  0000  0002[       LOCAL b0_5 DB 2 DUP(?)
            00
            ]
  97  0002  0002[       LOCAL b1_5 DB 2 DUP(?)
            00
            ]

;  93:   uchar i,j;
  93  0004  00          LOCAL CR9 DB ? ; i
  93  0005  00          LOCAL CR10 DB ? ; j
  93  0024              _chn_disp1 ENDP

; 102: { 
 102  0000              @chn_disp2 .SECTION 'CODE'
 102  0000              PUBLIC _chn_disp2
 102  0000              _chn_disp2 PROC

; 104:   wr_lcd (comm,0x30); 
文件:WANJTEST.c   盛群编译器版本 2.86 页次9 

 104  0000  0F00        MOV A,00h
 104  0001  0080     R  MOV wr_lcd0,A
 104  0002  0F30        MOV A,030h
 104  0003  0080     R  MOV wr_lcd1,A
 104  0004  2000     R  CALL _wr_lcd

; 105:   wr_lcd (comm,0x90); 
 105  0005  0F00        MOV A,00h
 105  0006  0080     R  MOV wr_lcd0,A
 105  0007  0F90        MOV A,090h
 105  0008  0080     R  MOV wr_lcd1,A
 105  0009  2000     R  CALL _wr_lcd

; 106:   j=1; 
 106  000A  0F01        MOV A,01h
 106  000B  0080     R  MOV CR12,A

; 107:   for (i=0;i<18;i++) 
 107  000C  1F00     R  CLR CR11
 107  000D  2800     R  JMP L44
 107  000E              L41:

; 108:   wr_lcd (dat,msg[j*20+i]);  
 108  000E  0F01        MOV A,01h
 108  000F  0080     R  MOV wr_lcd0,A
 108  0010  0700     R  MOV A,CR12
 108  0011  0080     E  MOV T2,A
 108  0012  0F14        MOV A,014h
 108  0013  2000     E  CALL MULI
 108  0014  0080     R  MOV b0_6,A
 108  0015  0700     R  MOV A,CR11
文件:WANJTEST.C   盛群编译器版本 2.86 页次9

 108  0016  0380     R  ADDM A,b0_6
 108  0017  0F01        MOV A,1
 108  0018  0300     R  ADD A,b0_6
 108  0019  0B00     R  ADD A,OFFSET l_msg
 108  001A  2000     R  CALL l_msg
 108  001B  0080     R  MOV b0_6,A
 108  001C  0700     R  MOV A,b0_6
 108  001D  0080     R  MOV wr_lcd1,A
 108  001E  2000     R  CALL _wr_lcd
 108  001F              L42:

; 107:   for (i=0;i<18;i++) 
 107  001F  1480     R  INC CR11
 107  0020              L44:
 107  0020  0700     R  MOV A,CR11
 107  0021  0A12        SUB A,012h
 107  0022  380A        SNZ [0ah].0
 107  0023  2800     R  JMP L41
 107  0024              L40:
 107  0024  0003        RET
 107  0000  0002[       LOCAL b0_6 DB 2 DUP(?)
            00
            ]
 107  0002  0002[       LOCAL b1_6 DB 2 DUP(?)
            00
            ]

; 103:    uchar i,j;
文件:WANJTEST.c   盛群编译器版本 2.86 页次10 

 103  0004  00          LOCAL CR11 DB ? ; i
 103  0005  00          LOCAL CR12 DB ? ; j
 103  0025              _chn_disp2 ENDP

; 113: { 
 113  0000              @clrram .SECTION 'CODE'
 113  0000              PUBLIC _clrram
 113  0000              _clrram PROC

; 114:   wr_lcd (comm,0x30); 
 114  0000  0F00        MOV A,00h
 114  0001  0080     R  MOV wr_lcd0,A
 114  0002  0F30        MOV A,030h
 114  0003  0080     R  MOV wr_lcd1,A
 114  0004  2000     R  CALL _wr_lcd

; 115:   wr_lcd (comm,0x01); 
 115  0005  0F00        MOV A,00h
 115  0006  0080     R  MOV wr_lcd0,A
 115  0007  0F01        MOV A,01h
 115  0008  0080     R  MOV wr_lcd1,A
 115  0009  2000     R  CALL _wr_lcd
 115  000A              L45:
 115  000A  0003        RET
 115  000B              _clrram ENDP

; 169: {_pb0=0;}
 169  0000              @showp .SECTION 'CODE'
 169  0000              PUBLIC _showp
 169  0000              _showp PROC
 169  0000  3414        CLR [014H].0
文件:WANJTEST.C   盛群编译器版本 2.86 页次10

 169  0001              L46:
 169  0001  0003        RET
 169  0002              _showp ENDP

; 171: {init_lcd ();
 171  0000              @showpn .SECTION 'CODE'
 171  0000              PUBLIC _showpn
 171  0000              _showpn PROC
 171  0000  2000     R  CALL _init_lcd

; 172:  chn_disp1 ();
 172  0001  2000     R  CALL _chn_disp1

; 173:  chn_disp2 ();}
 173  0002  2000     R  CALL _chn_disp2
 173  0003              L47:
 173  0003  0003        RET
 173  0004              _showpn ENDP

; 175: {_pb1=0;}
 175  0000              @savetesk .SECTION 'CODE'
 175  0000              PUBLIC _savetesk
 175  0000              _savetesk PROC
 175  0000  3494        CLR [014H].1
 175  0001              L48:
 175  0001  0003        RET
 175  0002              _savetesk ENDP
文件:WANJTEST.c   盛群编译器版本 2.86 页次11 


; 177: {unsigned int j=31;
 177  0000              @begdaysinm .SECTION 'CODE'
 177  0000              PUBLIC _begdaysinm
 177  0000              _begdaysinm PROC

; 176: unsigned int begdaysinm(struct wan_time curtime)
 176  0000              PUBLIC begdaysinm0
 176  0000  0007[       LOCAL begdaysinm0 DB 7 DUP (?) ; curtime
            00
            ]

; 177: {unsigned int j=31;
 177  0000  0F1F        MOV A,01fh
 177  0001  0080     R  MOV CR13,A

; 178: return j;}
 178  0002  0700     R  MOV A,CR13
 178  0003              L49:
 178  0003  0003        RET

; 177: {unsigned int j=31;
 177  0007  00          LOCAL CR13 DB ? ; j
 177  0004              _begdaysinm ENDP

; 180: {    //_intc = 0;
 180  0000              @init .SECTION 'CODE'
 180  0000              PUBLIC _init
 180  0000              _init PROC

; 187: 	_pac = 0xff; //set port a to input port exclude pa7
 187  0000  1F93        SET __pac

; 188:     _pbc = 0; //set port b to output port
 188  0001  1F15        CLR __pbc

; 189:     _pb = 0;
文件:WANJTEST.C   盛群编译器版本 2.86 页次11

 189  0002  1F14        CLR __pb

; 190:     _pa = 0xff;
 190  0003  1F92        SET __pa

; 191:     _pcc=0x00;
 191  0004  1F17        CLR __pcc

; 192:     _intc = 0x09; //enable timer1 设定Timer/Counter为Timer Mode (TM1、TM0=10H)  打开相对应中断致能旗标 (ETI和EMI)
 192  0005  0F09        MOV A,09h
 192  0006  008B        MOV __intc,A

; 193:     _tmr1c = 0x80; //timer1 mode (internal clock)  设定计数初始值 (TMR)
 193  0007  0F80        MOV A,080h
 193  0008  0091        MOV __tmr1c,A

; 194:     set_timer();
 194  0009  2000     R  CALL _set_timer

; 199: key[0]='F';key[1]='S';key[2]='D';key[3]='l';key[4]='r';key[5]='u';key[6]='d';
 199  000A  0F00     R  MOV A,BANK _key
文件:WANJTEST.c   盛群编译器版本 2.86 页次12 

 199  000B  0084        MOV [04H],A
 199  000C  0F00     R  MOV A,OFFSET _key
 199  000D  0083        MOV [03H],A
 199  000E  0F46        MOV A,046h
 199  000F  0082        MOV [02H],A
 199  0010  0F00     R  MOV A,BANK _key[1]
 199  0011  0084        MOV [04H],A
 199  0012  0F00     R  MOV A,OFFSET _key[1]
 199  0013  0083        MOV [03H],A
 199  0014  0F53        MOV A,053h
 199  0015  0082        MOV [02H],A
 199  0016  0F00     R  MOV A,BANK _key[2]
 199  0017  0084        MOV [04H],A
 199  0018  0F00     R  MOV A,OFFSET _key[2]
 199  0019  0083        MOV [03H],A
 199  001A  0F44        MOV A,044h
 199  001B  0082        MOV [02H],A
 199  001C  0F00     R  MOV A,BANK _key[3]
 199  001D  0084        MOV [04H],A
 199  001E  0F00     R  MOV A,OFFSET _key[3]
 199  001F  0083        MOV [03H],A
 199  0020  0F6C        MOV A,06ch
 199  0021  0082        MOV [02H],A
 199  0022  0F00     R  MOV A,BANK _key[4]
 199  0023  0084        MOV [04H],A
 199  0024  0F00     R  MOV A,OFFSET _key[4]
 199  0025  0083        MOV [03H],A
 199  0026  0F72        MOV A,072h
 199  0027  0082        MOV [02H],A
 199  0028  0F00     R  MOV A,BANK _key[5]
 199  0029  0084        MOV [04H],A
 199  002A  0F00     R  MOV A,OFFSET _key[5]
 199  002B  0083        MOV [03H],A
 199  002C  0F75        MOV A,075h
 199  002D  0082        MOV [02H],A
 199  002E  0F00     R  MOV A,BANK _key[6]
 199  002F  0084        MOV [04H],A
 199  0030  0F00     R  MOV A,OFFSET _key[6]
 199  0031  0083        MOV [03H],A
文件:WANJTEST.C   盛群编译器版本 2.86 页次12

 199  0032  0F64        MOV A,064h
 199  0033  0082        MOV [02H],A
 199  0034              L50:
 199  0034  0003        RET
 199  0035              _init ENDP

; 207: {
 207  0000              @set_timer .SECTION 'CODE'
 207  0000              PUBLIC _set_timer
 207  0000              _set_timer PROC

; 208:    _tmr1c4 = 0;
 208  0000  3611        CLR [011H].4

; 209:    _tmr1l = 0xb0;//to be modefined
 209  0001  0FB0        MOV A,0b0h
 209  0002  0090        MOV __tmr1l,A

; 210:    _tmr1h = 0x3c;//to be modefined
文件:WANJTEST.c   盛群编译器版本 2.86 页次13 

 210  0003  0F3C        MOV A,03ch
 210  0004  008F        MOV __tmr1h,A

; 211:    _tmr1c4 = 1; //start timer1
 211  0005  3211        SET [011H].4
 211  0006              L57:
 211  0006  0003        RET
 211  0007              _set_timer ENDP

; 214: {++wan_t;}//end of isr_c()
 214  0000              @@isr_c .SECTION AT 0cH 'CODE'
 214  0000  2800     R  JMP _isr_c
 214  0000              @isr_c .SECTION 'CODE'
 214  0000              _isr_c PROC
 214  0000  0080     E  MOV VA,A
 214  0001  070A        MOV A,[0AH]
 214  0002  0080     E  MOV VS,A
 214  0003  0703        MOV A,[03H]
 214  0004  0080     E  MOV VMP1,A
 214  0005  0704        MOV A,[04H]
 214  0006  0080     E  MOV VBP,A
 214  0007  0F00     R  MOV A,BANK _wan_t
 214  0008  0084        MOV [04H],A
 214  0009  0F00     R  MOV A,OFFSET _wan_t
 214  000A  0083        MOV [03H],A
 214  000B  1482        INC [02H]
 214  000C              L58:
 214  000C  0700     E  MOV A,VMP1
 214  000D  0083        MOV [03H],A
 214  000E  0700     E  MOV A,VBP
 214  000F  0084        MOV [04H],A
 214  0010  0700     E  MOV A,VS
 214  0011  008A        MOV [0AH],A
 214  0012  0700     E  MOV A,VA
 214  0013  0004        RETI
 214  0014              _isr_c ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -