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

📄 kb.lst

📁 C51驱动标准PC键盘的程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
00C3 6013              JZ      ?C0034
00C5 14                DEC     A
00C6 6021              JZ      ?C0037
00C8 24AD              ADD     A,#0ADH
00CA 6008              JZ      ?C0033
00CC 2447              ADD     A,#047H
00CE 701B              JNZ     ?C0038
                                           ; SOURCE LINE # 109
                                           ; SOURCE LINE # 110
00D0         ?C0032:
                                           ; SOURCE LINE # 111
00D0 E4                CLR     A
00D1 F500        R     MOV     shift,A
                                           ; SOURCE LINE # 112
00D3 22                RET     
                                           ; SOURCE LINE # 113
00D4         ?C0033:
                                           ; SOURCE LINE # 114
00D4 E4                CLR     A
00D5 F500        R     MOV     shift,A
                                           ; SOURCE LINE # 115
00D7 22                RET     
                                           ; SOURCE LINE # 116
00D8         ?C0034:
                                           ; SOURCE LINE # 117
00D8 E500        R     MOV     A,mode
00DA B40103            CJNE    A,#01H,?C0035
                                           ; SOURCE LINE # 118
00DD 750002      R     MOV     mode,#02H
00E0         ?C0035:
                                           ; SOURCE LINE # 119
00E0 E500        R     MOV     A,mode
00E2 B40306            CJNE    A,#03H,?C0038
                                           ; SOURCE LINE # 120
00E5 E4                CLR     A
00E6 F500        R     MOV     mode,A
                                           ; SOURCE LINE # 121
00E8 22                RET     
                                           ; SOURCE LINE # 122
00E9         ?C0037:
                                           ; SOURCE LINE # 123
00E9 1100        E     ACALL   clr
                                           ; SOURCE LINE # 124
                                           ; SOURCE LINE # 125
                                           ; SOURCE LINE # 126
                                           ; SOURCE LINE # 127
00EB         ?C0038:
00EB 22                RET     
             ; FUNCTION _decode (END)

             ; FUNCTION _put_kbbuff (BEGIN)
;---- Variable 'c' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 130
                                           ; SOURCE LINE # 131
                                           ; SOURCE LINE # 132
0000 E500        R     MOV     A,buffcnt
C51 COMPILER V6.12  KB                                                                     03/03/2007 18:29:42 PAGE 16  

0002 C3                CLR     C
0003 9420              SUBB    A,#020H
0005 502D              JNC     ?C0041
                                           ; SOURCE LINE # 133
                                           ; SOURCE LINE # 134
0007 AB00        R     MOV     R3,inpt
0009 AA00        R     MOV     R2,inpt+01H
000B A900        R     MOV     R1,inpt+02H
000D EF                MOV     A,R7
000E 1100        E     ACALL   ?C?CSTPTR
                                           ; SOURCE LINE # 135
0010 7401              MOV     A,#01H
0012 2500        R     ADD     A,inpt+02H
0014 F500        R     MOV     inpt+02H,A
0016 E4                CLR     A
0017 3500        R     ADDC    A,inpt+01H
0019 F500        R     MOV     inpt+01H,A
                                           ; SOURCE LINE # 137
001B 0500        R     INC     buffcnt
                                           ; SOURCE LINE # 139
001D FA                MOV     R2,A
001E C3                CLR     C
001F 900000      R     MOV     DPTR,#kb_buffer+020H
0022 E500        R     MOV     A,inpt+02H
0024 9582              SUBB    A,DPL
0026 EA                MOV     A,R2
0027 9583              SUBB    A,DPH
0029         ?C0046:
0029 4009              JC      ?C0041
                                           ; SOURCE LINE # 140
002B 750000      R     MOV     inpt,#00H
002E 750000      R     MOV     inpt+01H,#HIGH kb_buffer
0031 750000      R     MOV     inpt+02H,#LOW kb_buffer
                                           ; SOURCE LINE # 141
                                           ; SOURCE LINE # 142
0034         ?C0041:
0034 22                RET     
             ; FUNCTION _put_kbbuff (END)

             ; FUNCTION getchar (BEGIN)
                                           ; SOURCE LINE # 145
                                           ; SOURCE LINE # 146
0000         ?C0042:
                                           ; SOURCE LINE # 149
0000 E500        R     MOV     A,buffcnt
0002 60FC              JZ      ?C0042
0004         ?C0043:
                                           ; SOURCE LINE # 150
0004 AB00        R     MOV     R3,outpt
0006 AA00        R     MOV     R2,outpt+01H
0008 A900        R     MOV     R1,outpt+02H
000A 1100        E     ACALL   ?C?CLDPTR
000C FF                MOV     R7,A
000D 7E00              MOV     R6,#00H
;---- Variable 'byte' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 152
000F 7401              MOV     A,#01H
0011 2500        R     ADD     A,outpt+02H
0013 F500        R     MOV     outpt+02H,A
0015 E4                CLR     A
0016 3500        R     ADDC    A,outpt+01H
0018 F500        R     MOV     outpt+01H,A
C51 COMPILER V6.12  KB                                                                     03/03/2007 18:29:42 PAGE 17  

                                           ; SOURCE LINE # 153
001A FA                MOV     R2,A
001B C3                CLR     C
001C 900000      R     MOV     DPTR,#kb_buffer+020H
001F E500        R     MOV     A,outpt+02H
0021 9582              SUBB    A,DPL
0023 EA                MOV     A,R2
0024 9583              SUBB    A,DPH
0026         ?C0047:
0026 4009              JC      ?C0044
                                           ; SOURCE LINE # 154
0028 750000      R     MOV     outpt,#00H
002B 750000      R     MOV     outpt+01H,#HIGH kb_buffer
002E 750000      R     MOV     outpt+02H,#LOW kb_buffer
0031         ?C0044:
                                           ; SOURCE LINE # 156
0031 1500        R     DEC     buffcnt
                                           ; SOURCE LINE # 157
                                           ; SOURCE LINE # 158
0033         ?C0045:
0033 22                RET     
             ; FUNCTION getchar (END)

C51 COMPILER V6.12  KB                                                                     03/03/2007 18:29:42 PAGE 18  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
_put_kbbuff. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  c. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
P0_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0080H  1
P1_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
P0_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0081H  1
FL . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D1H  1
P2_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
P1_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
P0_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0082H  1
P3_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
P2_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
P1_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
P0_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0083H  1
P3_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
P2_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A2H  1
P1_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
P0_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0084H  1
P3_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
P2_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A3H  1
P1_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
P0_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0085H  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
P3_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
P2_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A4H  1
P1_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
P0_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0086H  1
edge . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0004H  1
P3_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
P2_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A5H  1
P1_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
P0_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0087H  1
P3_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
P2_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A6H  1
P1_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
P3_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
P2_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A7H  1
P3_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
kb_buffer. . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0005H  32
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
C51 COMPILER V6.12  KB                                                                     03/03/2007 18:29:42 PAGE 19  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


inpt . . . . . . . . . . . . . . . . .  PUBLIC   DATA   PTR      0025H  3
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
outpt. . . . . . . . . . . . . . . . .  PUBLIC   DATA   PTR      0028H  3
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
clr. . . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
_decode. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  sc . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  is_up. . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0001H  1
  shift. . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0002H  1
  mode . . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0003H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
unshifted. . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  136
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
getchar. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  byte . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
init_kb. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
shifted. . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0088H  136
buffcnt. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   002BH  1
bitcount . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   002CH  1
_print_hexbyte . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
INT0_interrupt . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  cdata. . . . . . . . . . . . . . . .  STATIC   DATA   U_CHAR   0000H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    440    ----
   CONSTANT SIZE    =    272    ----
C51 COMPILER V6.12  KB                                                                     03/03/2007 18:29:42 PAGE 20  

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     45       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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