📄 lcd1602_8_test.lst
字号:
43 1 delay2000ms();
44 1 lcd_pos(0,1);
45 1 prints("HaHa...I love it");
46 1 delay2000ms();
47 1 lcd_pos(0,0);
48 1 prints("My love for you.");
49 1 delay2000ms();
50 1 lcd_pos(0,1);
51 1 prints("is endless. and ");
52 1 delay2000ms();
C51 COMPILER V7.06 LCD1602_8_TEST 08/10/2008 09:56:50 PAGE 6
53 1 lcd_pos(0,0);
54 1 prints("Never Give It Up");
55 1
56 1 while(1);
57 1 }
58
C51 COMPILER V7.06 LCD1602_8_TEST 08/10/2008 09:56:50 PAGE 7
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION lcd_busy (BEGIN)
; SOURCE LINE # 44
; SOURCE LINE # 45
0000 ?C0003:
; SOURCE LINE # 46
; SOURCE LINE # 47
0000 C2A2 CLR ep
; SOURCE LINE # 48
0002 C2A0 CLR rs
; SOURCE LINE # 49
0004 D2A1 SETB rw
; SOURCE LINE # 50
0006 7580FF MOV io,#0FFH
; SOURCE LINE # 51
0009 D2A2 SETB ep
; SOURCE LINE # 52
000B 00 NOP
; SOURCE LINE # 53
000C 2087F1 JB bz,?C0003
; SOURCE LINE # 54
000F C2A2 CLR ep
; SOURCE LINE # 55
0011 22 RET
; FUNCTION lcd_busy (END)
; FUNCTION _lcd_wcmd (BEGIN)
; SOURCE LINE # 62
;---- Variable 'cmd' assigned to Register 'R7' ----
; SOURCE LINE # 63
; SOURCE LINE # 64
0000 120000 R LCALL lcd_busy
; SOURCE LINE # 65
0003 C2A0 CLR rs
; SOURCE LINE # 66
0005 C2A1 CLR rw
; SOURCE LINE # 67
0007 D2A2 SETB ep
; SOURCE LINE # 68
0009 8F80 MOV io,R7
; SOURCE LINE # 69
000B C2A2 CLR ep
; SOURCE LINE # 70
000D 22 RET
; FUNCTION _lcd_wcmd (END)
; FUNCTION _lcd_wdat (BEGIN)
; SOURCE LINE # 77
;---- Variable 'Data' assigned to Register 'R7' ----
; SOURCE LINE # 78
; SOURCE LINE # 79
0000 120000 R LCALL lcd_busy
; SOURCE LINE # 80
0003 D2A0 SETB rs
; SOURCE LINE # 81
0005 C2A1 CLR rw
; SOURCE LINE # 82
0007 D2A2 SETB ep
; SOURCE LINE # 83
0009 8F80 MOV io,R7
C51 COMPILER V7.06 LCD1602_8_TEST 08/10/2008 09:56:50 PAGE 8
; SOURCE LINE # 84
000B C2A2 CLR ep
; SOURCE LINE # 85
000D 22 RET
; FUNCTION _lcd_wdat (END)
; FUNCTION L?0031 (BEGIN)
0000 120000 R LCALL _prints
0003 120000 R LCALL delay2000ms
0006 L?0032:
0006 D200 R SETB ?_lcd_pos?BIT
0008 E4 CLR A
0009 FF MOV R7,A
; FUNCTION _lcd_pos (BEGIN)
; SOURCE LINE # 92
;---- Variable 'x' assigned to Register 'R6' ----
000A AE07 MOV R6,AR7
; SOURCE LINE # 93
; SOURCE LINE # 94
000C EE MOV A,R6
000D 300004 R JNB y,?C0007
0010 44C0 ORL A,#0C0H
0012 8002 SJMP ?C0030
0014 ?C0007:
; SOURCE LINE # 95
0014 4480 ORL A,#080H
0016 ?C0030:
0016 FF MOV R7,A
0017 120000 R LCALL _lcd_wcmd
; SOURCE LINE # 96
001A ?C0009:
001A 22 RET
; FUNCTION _lcd_pos (END)
; FUNCTION lcd_init (BEGIN)
; SOURCE LINE # 104
; SOURCE LINE # 105
; SOURCE LINE # 106
0000 7F38 MOV R7,#038H
0002 120000 R LCALL _lcd_wcmd
; SOURCE LINE # 107
0005 7F06 MOV R7,#06H
0007 120000 R LCALL _lcd_wcmd
; SOURCE LINE # 108
000A 7F0C MOV R7,#0CH
000C 120000 R LCALL _lcd_wcmd
; SOURCE LINE # 109
000F 7F01 MOV R7,#01H
0011 020000 R LJMP _lcd_wcmd
; FUNCTION lcd_init (END)
; FUNCTION _prints (BEGIN)
; SOURCE LINE # 15
;---- Variable 's' assigned to Register 'R1/R2/R3' ----
; SOURCE LINE # 16
0000 ?C0011:
; SOURCE LINE # 17
0000 120000 E LCALL ?C?CLDPTR
0003 FF MOV R7,A
0004 600C JZ ?C0013
; SOURCE LINE # 18
; SOURCE LINE # 19
C51 COMPILER V7.06 LCD1602_8_TEST 08/10/2008 09:56:50 PAGE 9
0006 120000 R LCALL _lcd_wdat
; SOURCE LINE # 20
0009 7401 MOV A,#01H
000B 29 ADD A,R1
000C F9 MOV R1,A
000D E4 CLR A
000E 3A ADDC A,R2
000F FA MOV R2,A
; SOURCE LINE # 21
0010 80EE SJMP ?C0011
; SOURCE LINE # 22
0012 ?C0013:
0012 22 RET
; FUNCTION _prints (END)
; FUNCTION delay2000ms (BEGIN)
; SOURCE LINE # 25
; SOURCE LINE # 26
; SOURCE LINE # 28
;---- Variable 'i' assigned to Register 'R7' ----
0000 7FFE MOV R7,#0FEH
0002 ?C0014:
; SOURCE LINE # 29
;---- Variable 'j' assigned to Register 'R6' ----
0002 7E11 MOV R6,#011H
0004 ?C0017:
; SOURCE LINE # 30
;---- Variable 'k' assigned to Register 'R5' ----
0004 7DE6 MOV R5,#0E6H
0006 ?C0020:
0006 DDFE DJNZ R5,?C0020
0008 ?C0019:
0008 DEFA DJNZ R6,?C0017
000A ?C0016:
000A DFF6 DJNZ R7,?C0014
; SOURCE LINE # 31
000C ?C0023:
000C 22 RET
; FUNCTION delay2000ms (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 34
; SOURCE LINE # 35
; SOURCE LINE # 36
;---- Variable 'i' assigned to Register 'R5' ----
0000 7D30 MOV R5,#030H
; SOURCE LINE # 37
0002 120000 R LCALL lcd_init
; SOURCE LINE # 38
0005 C200 R CLR ?_lcd_pos?BIT
0007 E4 CLR A
0008 FF MOV R7,A
0009 120000 R LCALL _lcd_pos
000C ?C0026:
; SOURCE LINE # 39
000C AF05 MOV R7,AR5
000E 120000 R LCALL _lcd_wdat
0011 0D INC R5
0012 ED MOV A,R5
0013 C3 CLR C
0014 9440 SUBB A,#040H
0016 40F4 JC ?C0026
C51 COMPILER V7.06 LCD1602_8_TEST 08/10/2008 09:56:50 PAGE 10
; SOURCE LINE # 41
0018 120000 R LCALL L?0032
; SOURCE LINE # 42
001B 7BFF MOV R3,#0FFH
001D 7A00 R MOV R2,#HIGH ?SC_0
001F 7900 R MOV R1,#LOW ?SC_0
; SOURCE LINE # 43
; SOURCE LINE # 44
0021 120000 R LCALL L?0031
; SOURCE LINE # 45
0024 7A00 R MOV R2,#HIGH ?SC_16
0026 7900 R MOV R1,#LOW ?SC_16
0028 120000 R LCALL _prints
; SOURCE LINE # 46
002B 120000 R LCALL delay2000ms
; SOURCE LINE # 47
002E C200 R CLR ?_lcd_pos?BIT
0030 E4 CLR A
0031 FF MOV R7,A
0032 120000 R LCALL _lcd_pos
; SOURCE LINE # 48
0035 7A00 R MOV R2,#HIGH ?SC_33
0037 7900 R MOV R1,#LOW ?SC_33
; SOURCE LINE # 49
; SOURCE LINE # 50
0039 120000 R LCALL L?0031
; SOURCE LINE # 51
003C 7A00 R MOV R2,#HIGH ?SC_50
003E 7900 R MOV R1,#LOW ?SC_50
0040 120000 R LCALL _prints
; SOURCE LINE # 52
0043 120000 R LCALL delay2000ms
; SOURCE LINE # 53
0046 C200 R CLR ?_lcd_pos?BIT
0048 E4 CLR A
0049 FF MOV R7,A
004A 120000 R LCALL _lcd_pos
; SOURCE LINE # 54
004D 7A00 R MOV R2,#HIGH ?SC_67
004F 7900 R MOV R1,#LOW ?SC_67
0051 120000 R LCALL _prints
0054 ?C0027:
; SOURCE LINE # 56
0054 80FE SJMP ?C0027
; FUNCTION main (END)
C51 COMPILER V7.06 LCD1602_8_TEST 08/10/2008 09:56:50 PAGE 11
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
_prints. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
s. . . . . . . . . . . . . . . . . . * REG * DATA PTR 0001H 3
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
_lcd_wcmd. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
cmd. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
_lcd_wdat. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Data . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
delay2000ms. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
k. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
_lcd_pos . . . . . . . . . . . . . . . PUBLIC CODE PROC 000AH -----
x. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
y. . . . . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
lcd_init . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ep . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 1
io . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
lcd_busy . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
bz . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0087H 1
rs . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
rw . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 211 ----
CONSTANT SIZE = 84 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -