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

📄 main.lst

📁 51读写硬盘的程序模块,编译完全通过,移植方面,实用.
💻 LST
📖 第 1 页 / 共 4 页
字号:
003E 22                RET     
             ; FUNCTION GetData (END)

             ; FUNCTION IniHard (BEGIN)
                                           ; SOURCE LINE # 237
                                           ; SOURCE LINE # 238
0000         ?C0047:
                                           ; SOURCE LINE # 239
                                           ; SOURCE LINE # 240
0000 7DA0              MOV     R5,#0A0H
0002 7F06              MOV     R7,#06H
0004 120000      R     LCALL   _WriteReg
                                           ; SOURCE LINE # 241
0007 0F                INC     R7
0008 120000      R     LCALL   _ReadReg
                                           ; SOURCE LINE # 242
000B A2E7              MOV     C,BSY
000D A0E6              ORL     C,/DRDY
000F 40EF              JC      ?C0047
                                           ; SOURCE LINE # 243
0011 7D20              MOV     R5,#020H
0013 1F                DEC     R7
0014 120000      R     LCALL   _WriteReg
                                           ; SOURCE LINE # 244
0017 7D40              MOV     R5,#040H
0019 7F02              MOV     R7,#02H
001B 120000      R     LCALL   _WriteReg
                                           ; SOURCE LINE # 245
001E 7D91              MOV     R5,#091H
0020 7F07              MOV     R7,#07H
0022 120000      R     LCALL   _WriteReg
0025         ?C0050:
                                           ; SOURCE LINE # 246
0025 7F07              MOV     R7,#07H
0027 120000      R     LCALL   _ReadReg
002A 20E7F8            JB      BSY,?C0050
                                           ; SOURCE LINE # 247
C51 COMPILER V8.01   MAIN                                                                  08/07/2006 11:08:35 PAGE 16  

002D 7D10              MOV     R5,#010H
002F 120000      R     LCALL   _WriteReg
0032         ?C0053:
                                           ; SOURCE LINE # 248
0032 7F07              MOV     R7,#07H
0034 120000      R     LCALL   _ReadReg
0037 20E7F8            JB      BSY,?C0053
                                           ; SOURCE LINE # 249
003A 22                RET     
             ; FUNCTION IniHard (END)

             ; FUNCTION DriveID (BEGIN)
                                           ; SOURCE LINE # 254
                                           ; SOURCE LINE # 255
                                           ; SOURCE LINE # 256
;---- Variable 'i' assigned to Register 'R2/R3' ----
0000 7B00              MOV     R3,#00H
0002 7A02              MOV     R2,#02H
0004         ?C0057:
                                           ; SOURCE LINE # 257
0004 7F07              MOV     R7,#07H
0006 120000      R     LCALL   _ReadReg
0009 20E7F8            JB      BSY,?C0057
                                           ; SOURCE LINE # 258
000C 7DEC              MOV     R5,#0ECH
000E 120000      R     LCALL   _WriteReg
0011         ?C0060:
                                           ; SOURCE LINE # 259
0011 7F07              MOV     R7,#07H
0013 120000      R     LCALL   _ReadReg
0016 A2E7              MOV     C,BSY
0018 A0E3              ORL     C,/DRQ
001A 40F5              JC      ?C0060
001C         ?C0061:
                                           ; SOURCE LINE # 260
001C EB                MOV     A,R3
001D 4A                ORL     A,R2
001E 600D              JZ      ?C0063
0020 120000      R     LCALL   L?0076
0023 74FE              MOV     A,#0FEH
0025 2B                ADD     A,R3
0026 FB                MOV     R3,A
0027 74FF              MOV     A,#0FFH
0029 3A                ADDC    A,R2
002A FA                MOV     R2,A
002B 80EF              SJMP    ?C0061
                                           ; SOURCE LINE # 261
002D         ?C0063:
002D 22                RET     
             ; FUNCTION DriveID (END)

             ; FUNCTION HardDiskControl (BEGIN)
                                           ; SOURCE LINE # 267
                                           ; SOURCE LINE # 268
                                           ; SOURCE LINE # 270
0000 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 271
0003 758921            MOV     TMOD,#021H
                                           ; SOURCE LINE # 272
0006 758780            MOV     PCON,#080H
                                           ; SOURCE LINE # 273
0009 758851            MOV     TCON,#051H
C51 COMPILER V8.01   MAIN                                                                  08/07/2006 11:08:35 PAGE 17  

                                           ; SOURCE LINE # 274
000C D2AF              SETB    EA
                                           ; SOURCE LINE # 275
000E C2A8              CLR     EX0
                                           ; SOURCE LINE # 276
0010 758DD0            MOV     TH1,#0D0H
                                           ; SOURCE LINE # 277
0013 758BD0            MOV     TL1,#0D0H
                                           ; SOURCE LINE # 278
0016 D299              SETB    TI
                                           ; SOURCE LINE # 280
0018 C2B5              CLR     RESET
                                           ; SOURCE LINE # 281
001A 7F32              MOV     R7,#032H
001C 7E00              MOV     R6,#00H
001E 120000      R     LCALL   _delay
                                           ; SOURCE LINE # 282
0021 D2B5              SETB    RESET
                                           ; SOURCE LINE # 283
0023 7FFF              MOV     R7,#0FFH
0025 120000      R     LCALL   _delay
                                           ; SOURCE LINE # 285
0028 120000      R     LCALL   IniHard
                                           ; SOURCE LINE # 287
002B E4                CLR     A
002C FB                MOV     R3,A
002D FD                MOV     R5,A
002E FC                MOV     R4,A
002F FF                MOV     R7,A
0030 120000      R     LCALL   _WriteCHS
                                           ; SOURCE LINE # 288
0033 7F20              MOV     R7,#020H
0035 7E00              MOV     R6,#00H
0037 120000      R     LCALL   _WriteCommand
                                           ; SOURCE LINE # 289
003A 120000      R     LCALL   GetData
                                           ; SOURCE LINE # 291
003D 120000      R     LCALL   IniLcd
                                           ; SOURCE LINE # 292
0040 E4                CLR     A
0041 F500        R     MOV     ?_LcdDis?BYTE+04H,A
0043 7500FF      R     MOV     ?_LcdDis?BYTE+05H,#0FFH
0046 750000      R     MOV     ?_LcdDis?BYTE+06H,#HIGH LCD2
0049 750000      R     MOV     ?_LcdDis?BYTE+07H,#LOW LCD2
004C 7BFF              MOV     R3,#0FFH
004E 7A00        R     MOV     R2,#HIGH LCD1
0050 7900        R     MOV     R1,#LOW LCD1
0052 FF                MOV     R7,A
0053 120000      R     LCALL   _LcdDis
                                           ; SOURCE LINE # 294
;---- Variable 'i' assigned to Register 'DPTR' ----
0056 900000            MOV     DPTR,#00H
0059         ?C0064:
                                           ; SOURCE LINE # 295
0059 AF82              MOV     R7,DPL
005B 120000      R     LCALL   _putch
                                           ; SOURCE LINE # 296
005E 7FFF              MOV     R7,#0FFH
0060 7E00              MOV     R6,#00H
0062 120000      R     LCALL   _delay
                                           ; SOURCE LINE # 297
0065 A3                INC     DPTR
C51 COMPILER V8.01   MAIN                                                                  08/07/2006 11:08:35 PAGE 18  

0066 E4                CLR     A
0067 B582EF            CJNE    A,DPL,?C0064
006A E583              MOV     A,DPH
006C B402EA            CJNE    A,#02H,?C0064
006F         ?C0067:
                                           ; SOURCE LINE # 298
006F 80FE              SJMP    ?C0067
             ; FUNCTION HardDiskControl (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 301
                                           ; SOURCE LINE # 302
0000 120000      R     LCALL   HardDiskControl
                                           ; SOURCE LINE # 303
0003 120000      R     LCALL   DriveID
                                           ; SOURCE LINE # 304
0006 7D01              MOV     R5,#01H
0008 E4                CLR     A
0009 FF                MOV     R7,A
000A 120000      R     LCALL   _WriteData
                                           ; SOURCE LINE # 305
000D 020000      R     LJMP    getch
             ; FUNCTION main (END)

C51 COMPILER V8.01   MAIN                                                                  08/07/2006 11:08:35 PAGE 19  

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


P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
RESET. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
LCD1 . . . . . . . . . . . . . . . . .  STATIC   CODE   ARRAY    0000H  16
LCD2 . . . . . . . . . . . . . . . . .  STATIC   CODE   ARRAY    0010H  16
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
_putch . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     000AH  -----
  ch . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
DriveID. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
ERROR. . . . . . . . . . . . . . . . .  STATIC   CODE   ARRAY    0020H  16
WRITE. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_WriteReg. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ADD. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  DATA . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
getch. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  temp . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
_LcdDis. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  FL . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0007H  1
  Lcd1 . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0001H  3
  SL . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  Lcd2 . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0005H  3
  k. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
READ . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
GetData. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
IniHard. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
buffer0. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
buffer1. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
_WriteCommand. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  command. . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
DRDY . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00E6H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
IniLcd . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
wait . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0004H  -----
PASS . . . . . . . . . . . . . . . . .  STATIC   CODE   ARRAY    0030H  16
ACC. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00E0H  1
_WriteCHS. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  head . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  cylinder . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  sector . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0003H  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
BFLAG. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00E7H  1
STATUS . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0002H  1
DRQ. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00E3H  1
ERR. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00E0H  1
_WriteData . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  Data0. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  Data1. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
C51 COMPILER V8.01   MAIN                                                                  08/07/2006 11:08:35 PAGE 20  

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


BSY. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00E7H  1
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  time . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  j. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
HardDiskControl. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0082H  2
ReadData . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_ReadReg . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ADD. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
buffer . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0003H  16


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    633    ----
   CONSTANT SIZE    =     64    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19      10
   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 + -