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

📄 wanjt3.lst

📁 一个用嵌入c写的万年历程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 155  0025  340A        CLR [0AH].0
 155  0026  1A00     R  RLCA _v1
 155  0027  0080     R  MOV b1_4,A
 155  0028  0700     R  MOV A,b0_4
 155  0029  0300     R  ADD A,b1_4
 155  002A  0080     R  MOV b0_4,A
文件:WANJT3.C     盛群编译器版本 2.86 页次7

 155  002B  0700     R  MOV A,b0_4
 155  002C  0300     R  ADD A,img_disp0
 155  002D  0080     R  MOV b0_4,A
 155  002E  0700     R  MOV A,img_disp0[1]
 155  002F  0080     R  MOV b0_4[1],A
 155  0030  0700     R  MOV A,b0_4[1]
 155  0031  0084        MOV [04H],A
 155  0032  0700     R  MOV A,b0_4
 155  0033  0083        MOV [03H],A
 155  0034  0702        MOV A,[02H]
 155  0035  0080     R  MOV b0_4,A
 155  0036  0700     R  MOV A,b0_4
 155  0037  0080     R  MOV wr_lcd1,A
 155  0038  2000     R  CALL _wr_lcd

; 156:       wr_lcd (dat,img[v2*20+v1*2+1]); 
 156  0039  0F01        MOV A,01h
 156  003A  0080     R  MOV wr_lcd0,A
 156  003B  0700     R  MOV A,_v2
 156  003C  0080     E  MOV T2,A
 156  003D  0F14        MOV A,014h
 156  003E  2000     E  CALL MULI
 156  003F  0080     R  MOV b0_4,A
 156  0040  340A        CLR [0AH].0
 156  0041  1A00     R  RLCA _v1
 156  0042  0080     R  MOV b1_4,A
 156  0043  0700     R  MOV A,b0_4
 156  0044  0300     R  ADD A,b1_4
 156  0045  0080     R  MOV b0_4,A
 156  0046  1480     R  INC b0_4
 156  0047  0700     R  MOV A,b0_4
 156  0048  0300     R  ADD A,img_disp0
 156  0049  0080     R  MOV b0_4,A
 156  004A  0700     R  MOV A,img_disp0[1]
 156  004B  0080     R  MOV b0_4[1],A
文件:WANJT3.c     盛群编译器版本 2.86 页次8 

 156  004C  0700     R  MOV A,b0_4[1]
 156  004D  0084        MOV [04H],A
 156  004E  0700     R  MOV A,b0_4
 156  004F  0083        MOV [03H],A
 156  0050  0702        MOV A,[02H]
 156  0051  0080     R  MOV b0_4,A
 156  0052  0700     R  MOV A,b0_4
 156  0053  0080     R  MOV wr_lcd1,A
 156  0054  2000     R  CALL _wr_lcd
 156  0055              L38:

; 149:     for(v1=0;v1<10;v1++) 
 149  0055  1480     R  INC _v1
 149  0056              L40:
 149  0056  0700     R  MOV A,_v1
 149  0057  0A0A        SUB A,0ah
 149  0058  380A        SNZ [0ah].0
 149  0059  2800     R  JMP L37
 149  005A              L34:

; 147:   for(v2=0;v2<16;v2++) 
 147  005A  1480     R  INC _v2
 147  005B              L36:
 147  005B  0700     R  MOV A,_v2
文件:WANJT3.C     盛群编译器版本 2.86 页次8

 147  005C  0A10        SUB A,010h
 147  005D  380A        SNZ [0ah].0
 147  005E  2800     R  JMP L33

; 159:   wr_lcd (comm,0x36); //为啥是36而不是34呢
 159  005F  0F00        MOV A,00h
 159  0060  0080     R  MOV wr_lcd0,A
 159  0061  0F36        MOV A,036h
 159  0062  0080     R  MOV wr_lcd1,A
 159  0063  2000     R  CALL _wr_lcd
 159  0064              L32:
 159  0064  0003        RET
 159  0002  0002[       LOCAL b0_4 DB 2 DUP(?)
            00
            ]
 159  0004  00          LOCAL b1_4 DB ?
 159  0065              _img_disp ENDP

; 163: { 
 163  0000              @init_lcd .SECTION 'CODE'
 163  0000              PUBLIC _init_lcd
 163  0000              _init_lcd PROC

; 164:   rst=1; 
 164  0000  3216        SET [016H].4

; 166:   wr_lcd (comm,0x30);  /*30---基本指令动作*/    
 166  0001  0F00        MOV A,00h
 166  0002  0080     R  MOV wr_lcd0,A
 166  0003  0F30        MOV A,030h
 166  0004  0080     R  MOV wr_lcd1,A
 166  0005  2000     R  CALL _wr_lcd

; 167:   wr_lcd (comm,0x01);  /*清屏,地址指针指向00H*/ 
文件:WANJT3.c     盛群编译器版本 2.86 页次9 

 167  0006  0F00        MOV A,00h
 167  0007  0080     R  MOV wr_lcd0,A
 167  0008  0F01        MOV A,01h
 167  0009  0080     R  MOV wr_lcd1,A
 167  000A  2000     R  CALL _wr_lcd

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

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

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

; 194: { 
 194  0000              @chn_disp .SECTION 'CODE'
 194  0000              PUBLIC _chn_disp
 194  0000              _chn_disp PROC

; 193: void chn_disp (uchar *chn) 
文件:WANJT3.C     盛群编译器版本 2.86 页次9

 193  0000              PUBLIC chn_disp0
 193  0000  0002[       LOCAL chn_disp0 DB 2 DUP (?) ; chn
            00
            ]

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

; 197:   wr_lcd (comm,0x80); 
 197  0005  0F00        MOV A,00h
 197  0006  0080     R  MOV wr_lcd0,A
 197  0007  0F80        MOV A,080h
 197  0008  0080     R  MOV wr_lcd1,A
 197  0009  2000     R  CALL _wr_lcd

; 198:   v5=0; 
 198  000A  1F00     R  CLR _v5

; 199:   for (v4=0;v4<20;v4++) 
 199  000B  1F00     R  CLR _v4
文件:WANJT3.c     盛群编译器版本 2.86 页次10 

 199  000C  2800     R  JMP L46
 199  000D              L43:

; 200:   wr_lcd (dat,chn[v5*20+v4]); 
 200  000D  0F01        MOV A,01h
 200  000E  0080     R  MOV wr_lcd0,A
 200  000F  0700     R  MOV A,_v5
 200  0010  0080     E  MOV T2,A
 200  0011  0F14        MOV A,014h
 200  0012  2000     E  CALL MULI
 200  0013  0080     R  MOV b0_6,A
 200  0014  0700     R  MOV A,_v4
 200  0015  0380     R  ADDM A,b0_6
 200  0016  0700     R  MOV A,b0_6
 200  0017  0300     R  ADD A,chn_disp0
 200  0018  0080     R  MOV b0_6,A
 200  0019  0700     R  MOV A,chn_disp0[1]
 200  001A  0080     R  MOV b0_6[1],A
 200  001B  0700     R  MOV A,b0_6[1]
 200  001C  0084        MOV [04H],A
 200  001D  0700     R  MOV A,b0_6
 200  001E  0083        MOV [03H],A
 200  001F  0702        MOV A,[02H]
 200  0020  0080     R  MOV b0_6,A
 200  0021  0700     R  MOV A,b0_6
 200  0022  0080     R  MOV wr_lcd1,A
 200  0023  2000     R  CALL _wr_lcd
 200  0024              L44:

; 199:   for (v4=0;v4<20;v4++) 
 199  0024  1480     R  INC _v4
 199  0025              L46:
 199  0025  0700     R  MOV A,_v4
 199  0026  0A14        SUB A,014h
 199  0027  380A        SNZ [0ah].0
 199  0028  2800     R  JMP L43

; 201:   wr_lcd (comm,0x90); 
 201  0029  0F00        MOV A,00h
文件:WANJT3.C     盛群编译器版本 2.86 页次10

 201  002A  0080     R  MOV wr_lcd0,A
 201  002B  0F90        MOV A,090h
 201  002C  0080     R  MOV wr_lcd1,A
 201  002D  2000     R  CALL _wr_lcd

; 202:   v5=1; 
 202  002E  0F01        MOV A,01h
 202  002F  0080     R  MOV _v5,A

; 203:   for (v4=0;v4<20;v4++)
 203  0030  1F00     R  CLR _v4
 203  0031  2800     R  JMP L50
 203  0032              L47:

; 204:   { v6=v5*20+v4;
 204  0032  0700     R  MOV A,_v5
 204  0033  0080     E  MOV T2,A
 204  0034  0F14        MOV A,014h
 204  0035  2000     E  CALL MULI
文件:WANJT3.c     盛群编译器版本 2.86 页次11 

 204  0036  0080     R  MOV b0_6,A
 204  0037  0700     R  MOV A,b0_6
 204  0038  0300     R  ADD A,_v4
 204  0039  0080     R  MOV _v6,A

; 205:   wr_lcd (dat,chn[v6]); 
 205  003A  0F01        MOV A,01h
 205  003B  0080     R  MOV wr_lcd0,A
 205  003C  0700     R  MOV A,_v6
 205  003D  0300     R  ADD A,chn_disp0
 205  003E  0080     R  MOV b0_6,A
 205  003F  0700     R  MOV A,chn_disp0[1]
 205  0040  0080     R  MOV b0_6[1],A
 205  0041  0700     R  MOV A,b0_6[1]
 205  0042  0084        MOV [04H],A
 205  0043  0700     R  MOV A,b0_6
 205  0044  0083        MOV [03H],A
 205  0045  0702        MOV A,[02H]
 205  0046  0080     R  MOV b0_6,A
 205  0047  0700     R  MOV A,b0_6
 205  0048  0080     R  MOV wr_lcd1,A
 205  0049  2000     R  CALL _wr_lcd
 205  004A              L48:

; 203:   for (v4=0;v4<20;v4++)
 203  004A  1480     R  INC _v4
 203  004B              L50:
 203  004B  0700     R  MOV A,_v4
 203  004C  0A14        SUB A,014h
 203  004D  380A        SNZ [0ah].0
 203  004E  2800     R  JMP L47
 203  004F              L42:
 203  004F  0003        RET
 203  0002  0002[       LOCAL b0_6 DB 2 DUP(?)
            00
            ]
 203  0050              _chn_disp ENDP

; 210: { 
 210  0000              @clrram .SECTION 'CODE'
 210  0000              PUBLIC _clrram
 210  0000              _clrram PROC
文件:WANJT3.C     盛群编译器版本 2.86 页次11


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

; 212:   wr_lcd (comm,0x01); 
 212  0005  0F00        MOV A,00h
 212  0006  0080     R  MOV wr_lcd0,A
 212  0007  0F01        MOV A,01h
 212  0008  0080     R  MOV wr_lcd1,A
 212  0009  2000     R  CALL _wr_lcd
 212  000A              L51:
 212  000A  0003        RET
文件:WANJT3.c     盛群编译器版本 2.86 页次12 

 212  000B              _clrram ENDP

; 219: { 
 219  0000              @con_disp1 .SECTION 'CODE'
 219  0000              PUBLIC _con_disp1
 219  0000              _con_disp1 PROC

; 218: void con_disp1 (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl) 
 218  0000              PUBLIC con_disp10
 218  0000  00          LOCAL con_disp10 DB ? ; data1
 218  0000              PUBLIC con_disp11
 218  0001  00          LOCAL con_disp11 DB ? ; data2
 218  0000              PUBLIC con_disp12
 218  0002  00          LOCAL con_disp12 DB ? ; x0
 218  0000              PUBLIC con_disp13
 218  0003  00          LOCAL con_disp13 DB ? ; y0
 218  0000              PUBLIC con_disp14
 218  0004  00          LOCAL con_disp14 DB ? ; xl
 218  0000              PUBLIC con_disp15
 218  0005  00          LOCAL con_disp15 DB ? ; yl

; 221:   for(v2=0;v2<yl;v2++) 
 221  0000  1F00     R  CLR _v2
 221  0001  2800     R  JMP L56
 221  0002              L53:

; 223:     for(v1=0;v1<xl;v1++) 
 223  0002  1F00     R  CLR _v1
 223  0003  2800     R  JMP L60
 223  0004              L57:

; 225:       wr_lcd (comm,0x34); 
 225  0004  0F00        MOV A,00h
 225  0005  0080     R  MOV wr_lcd0,A
文件:WANJT3.C     盛群编译器版本 2.86 页次12

 225  0006  0F34        MOV A,034h
 225  0007  0080     R  MOV wr_lcd1,A
 225  0008  2000     R  CALL _wr_lcd

; 226:       wr_lcd (comm,y0+v2); 
 226  0009  0F00        MOV A,00h
 226  000A  0080     R  MOV wr_lcd0,A
 226  000B  0700     R  MOV A,con_disp13
 226  000C  0300     R  ADD A,_v2
 226  000D  0080     R  MOV b0_8,A
 226  000E  0700     R  MOV A,b0_8
 226  000F  0080     R  MOV wr_lcd1,A
 226  0010  2000     R  CALL _wr_lcd

; 227:       wr_lcd (comm,x0+v1); 
 227  0011  0F00        MOV A,00h
 227  0012  0080     R  MOV wr_lcd0,A
 227  0013  0700     R  MOV A,con_disp12
 227  0014  0300     R  ADD A,_v1
 227  0015  0080     R  MOV b0_8,A
 227  0016  0700     R  MOV A,b0_8
 227  0017  0080     R  MOV wr_lcd1,A
 227  0018  2000     R  CALL _wr_lcd

; 228:       wr_lcd (comm,0x30); 
文件:WANJT3.c     盛群编译器版本 2.86 页次13 

 228  0019  0F00        MOV A,00h
 228  001A  0080     R  MOV wr_lcd0,A
 228  001B  0F30        MOV A,030h
 228  001C  0080     R  MOV wr_lcd1,A
 228  001D  2000     R  CALL _wr_lcd

; 229:       wr_lcd (comm,0x0d);
 229  001E  0F00        MOV A,00h
 229  001F  0080     R  MOV wr_lcd0,A
 229  0020  0F0D        MOV A,0dh
 229  0021  0080     R  MOV wr_lcd1,A
 229  0022  2000     R  CALL _wr_lcd

; 230:       wr_lcd (dat,data1); 
 230  0023  0F01        MOV A,01h
 230  0024  0080     R  MOV wr_lcd0,A
 230  0025  0700     R  MOV A,con_disp10
 230  0026  0080     R  MOV wr_lcd1,A
 230  0027  2000     R  CALL _wr_lcd

; 231:       wr_lcd (dat,data2); 
 231  0028  0F01        MOV A,01h
 231  0029  0080     R  MOV wr_lcd0,A
 231  002A  0700     R  MOV A,con_disp11
 231  002B  0080     R  MOV wr_lcd1,A
 231  002C  2000     R  CALL _wr_lcd
 231  002D              L58:

; 223:     for(v1=0;v1<xl;v1++) 
 223  002D  1480     R  INC _v1
 223  002E              L60:
 223  002E  0700     R  MOV A,_v1
 223  002F  0200     R  SUB A,con_disp14
 223  0030  380A        SNZ [0ah].0
 223  0031  2800     R  JMP L57
 223  0032              L54:

⌨️ 快捷键说明

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