📄 main.lst
字号:
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 + -