📄 atareset.lst
字号:
; FUNCTION Com0035 (BEGIN)
0000 L?0054:
0000 7400 R MOV A,#LOW halfKBuffer+014H
0002 2F ADD A,R7
0003 F582 MOV DPL,A
0005 E4 CLR A
0006 3400 R ADDC A,#HIGH halfKBuffer+014H
0008 F583 MOV DPH,A
000A E0 MOVX A,@DPTR
000B 22 RET
; FUNCTION Com0035 (END)
; FUNCTION resetATAPIDevice (BEGIN)
; SOURCE LINE # 26
; SOURCE LINE # 27
; SOURCE LINE # 29
0000 C200 R CLR done
0002 ?C0001:
; SOURCE LINE # 35
0002 20006C R JB done,?C0002
; SOURCE LINE # 36
; SOURCE LINE # 38
0005 120000 E LCALL hardwareReset
; SOURCE LINE # 40
0008 7F84 MOV R7,#084H
000A 7E03 MOV R6,#03H
000C 120000 E LCALL _EZUSB_Delay
; SOURCE LINE # 46
000F E4 CLR A
0010 F500 R MOV count,A
0012 120000 E LCALL readATAPI_STATUS_REG
;---- Variable 'driveStatus' assigned to Register 'R7' ----
0015 ?C0003:
0015 E500 R MOV A,count
0017 C3 CLR C
0018 94C8 SUBB A,#0C8H
001A 5015 JNC ?C0004
001C EF MOV A,R7
001D 20E703 JB ACC.7,?C0006
0020 BF7F0E CJNE R7,#07FH,?C0004
0023 ?C0006:
; SOURCE LINE # 47
; SOURCE LINE # 48
0023 7F32 MOV R7,#032H
0025 7E00 MOV R6,#00H
0027 120000 E LCALL _EZUSB_Delay
; SOURCE LINE # 49
; SOURCE LINE # 46
002A 120000 E LCALL readATAPI_STATUS_REG
002D 0500 R INC count
002F 80E4 SJMP ?C0003
0031 ?C0004:
; SOURCE LINE # 51
0031 E500 R MOV A,count
0033 64C8 XRL A,#0C8H
0035 60CB JZ ?C0001
; SOURCE LINE # 52
0037 ?C0007:
; SOURCE LINE # 55
C51 COMPILER V7.50 ATARESET 11/07/2006 14:52:07 PAGE 7
0037 7F2A MOV R7,#02AH
0039 120000 E LCALL _readPIO8
003C BFEB0E CJNE R7,#0EBH,?C0008
003F 7F28 MOV R7,#028H
0041 120000 E LCALL _readPIO8
0044 BF1406 CJNE R7,#014H,?C0008
; SOURCE LINE # 56
; SOURCE LINE # 57
0047 D200 R SETB done
; SOURCE LINE # 58
0049 D200 E SETB scsi
; SOURCE LINE # 59
004B 80B5 SJMP ?C0001
004D ?C0008:
; SOURCE LINE # 62
; SOURCE LINE # 63
004D 7DFF MOV R5,#0FFH
004F 7C00 MOV R4,#00H
0051 7F3E MOV R7,#03EH
0053 120000 E LCALL _writePIO8
; SOURCE LINE # 64
0056 7F22 MOV R7,#022H
0058 120000 E LCALL _readPIO8
005B EF MOV A,R7
005C 547F ANL A,#07FH
005E FF MOV R7,A
005F BF0106 CJNE R7,#01H,?C0010
; SOURCE LINE # 65
; SOURCE LINE # 66
0062 D200 R SETB done
; SOURCE LINE # 67
0064 C200 E CLR scsi
; SOURCE LINE # 68
0066 809A SJMP ?C0001
0068 ?C0010:
; SOURCE LINE # 70
0068 7FF4 MOV R7,#0F4H
006A 7E01 MOV R6,#01H
006C 120000 E LCALL _EZUSB_Delay
; SOURCE LINE # 71
; SOURCE LINE # 73
006F 8091 SJMP ?C0001
0071 ?C0002:
; SOURCE LINE # 75
0071 7FF4 MOV R7,#0F4H
0073 7E01 MOV R6,#01H
0075 120000 E LCALL _EZUSB_Delay
; SOURCE LINE # 78
0078 300003 E JNB scsi,?C0013
; SOURCE LINE # 79
007B 120000 E LCALL SCSITestUnitReady
; SOURCE LINE # 81
007E ?C0013:
007E 22 RET
; FUNCTION resetATAPIDevice (END)
; FUNCTION ATAPIIdDevice (BEGIN)
; SOURCE LINE # 85
; SOURCE LINE # 86
0000 ?C0016:
; SOURCE LINE # 92
; SOURCE LINE # 93
C51 COMPILER V7.50 ATARESET 11/07/2006 14:52:07 PAGE 8
0000 7DA0 MOV R5,#0A0H
0002 7C00 MOV R4,#00H
0004 7F2C MOV R7,#02CH
0006 120000 E LCALL _writePIO8
; SOURCE LINE # 94
0009 120000 E LCALL readATAPI_STATUS_REG
000C 8F00 R MOV driveStatus,R7
; SOURCE LINE # 95
000E E500 R MOV A,driveStatus
0010 54C0 ANL A,#0C0H
0012 FF MOV R7,A
0013 BF40EA CJNE R7,#040H,?C0016
; SOURCE LINE # 97
0016 E4 CLR A
0017 FD MOV R5,A
0018 FC MOV R4,A
0019 7F22 MOV R7,#022H
001B 120000 E LCALL _writePIO8
; SOURCE LINE # 98
001E 0D INC R5
001F 7F24 MOV R7,#024H
0021 120000 E LCALL _writePIO8
; SOURCE LINE # 99
0024 7DFF MOV R5,#0FFH
0026 7F26 MOV R7,#026H
0028 120000 E LCALL _writePIO8
; SOURCE LINE # 100
002B 7F28 MOV R7,#028H
002D 120000 E LCALL _writePIO8
; SOURCE LINE # 101
0030 E4 CLR A
0031 FD MOV R5,A
0032 7F2A MOV R7,#02AH
0034 120000 E LCALL _writePIO8
; SOURCE LINE # 102
0037 7DA0 MOV R5,#0A0H
0039 7F2C MOV R7,#02CH
003B 120000 E LCALL _writePIO8
; SOURCE LINE # 103
003E E4 CLR A
003F FD MOV R5,A
0040 7F1C MOV R7,#01CH
0042 120000 E LCALL _writePIO8
; SOURCE LINE # 107
0045 300004 E JNB scsi,?C0017
; SOURCE LINE # 108
0048 7DA1 MOV R5,#0A1H
004A 8004 SJMP ?C0049
004C ?C0017:
; SOURCE LINE # 110
004C 7DEC MOV R5,#0ECH
004E 7C00 MOV R4,#00H
0050 ?C0049:
0050 7F2E MOV R7,#02EH
0052 120000 E LCALL _writePIO8
0055 ?C0018:
; SOURCE LINE # 112
0055 120000 E LCALL waitForIntrq
0058 ?C0021:
; SOURCE LINE # 116
; SOURCE LINE # 117
0058 120000 E LCALL readATAPI_STATUS_REG
C51 COMPILER V7.50 ATARESET 11/07/2006 14:52:07 PAGE 9
005B 8F00 R MOV driveStatus,R7
; SOURCE LINE # 118
005D E500 R MOV A,driveStatus
005F 30E002 JNB ACC.0,$ + 5H
0062 0100 R AJMP ?C0023
; SOURCE LINE # 120
0064 ?C0019:
0064 E500 R MOV A,driveStatus
0066 5488 ANL A,#088H
0068 FF MOV R7,A
0069 BF08EC CJNE R7,#08H,?C0021
; SOURCE LINE # 123
; SOURCE LINE # 124
006C 75000A R MOV timeout,#0AH
006F ?C0024:
; SOURCE LINE # 126
006F 7C00 R MOV R4,#HIGH halfKBuffer
0071 7D00 R MOV R5,#LOW halfKBuffer
0073 D200 E SETB ?_readPIO16toXdata?BIT
0075 7B00 MOV R3,#00H
0077 7A02 MOV R2,#02H
0079 7F20 MOV R7,#020H
007B 120000 E LCALL _readPIO16toXdata
007E EF MOV A,R7
007F 4E ORL A,R6
0080 7007 JNZ ?C0025
; SOURCE LINE # 127
0082 AF00 R MOV R7,timeout
0084 1500 R DEC timeout
0086 EF MOV A,R7
0087 70E6 JNZ ?C0024
; SOURCE LINE # 128
0089 ?C0025:
; SOURCE LINE # 129
; SOURCE LINE # 132
;---- Variable 'i' assigned to Register 'R7' ----
0089 E4 CLR A
008A FF MOV R7,A
008B ?C0027:
; SOURCE LINE # 133
; SOURCE LINE # 135
008B EF MOV A,R7
008C 6401 XRL A,#01H
008E 2400 R ADD A,#LOW halfKBuffer+036H
0090 F582 MOV DPL,A
0092 E4 CLR A
0093 3400 R ADDC A,#HIGH halfKBuffer+036H
0095 F583 MOV DPH,A
0097 E0 MOVX A,@DPTR
0098 FE MOV R6,A
0099 7400 E MOV A,#LOW SCSIInquiryData+08H
009B 2F ADD A,R7
009C F582 MOV DPL,A
009E E4 CLR A
009F 3400 E ADDC A,#HIGH SCSIInquiryData+08H
00A1 F583 MOV DPH,A
00A3 EE MOV A,R6
00A4 F0 MOVX @DPTR,A
; SOURCE LINE # 136
00A5 0F INC R7
00A6 BF18E2 CJNE R7,#018H,?C0027
00A9 ?C0028:
C51 COMPILER V7.50 ATARESET 11/07/2006 14:52:07 PAGE 10
; SOURCE LINE # 138
00A9 900000 R MOV DPTR,#halfKBuffer+092H
00AC E0 MOVX A,@DPTR
00AD 2430 ADD A,#030H
00AF 900000 E MOV DPTR,#SCSIInquiryData+021H
00B2 F0 MOVX @DPTR,A
; SOURCE LINE # 139
00B3 900000 R MOV DPTR,#halfKBuffer+094H
00B6 E0 MOVX A,@DPTR
00B7 2430 ADD A,#030H
00B9 900000 E MOV DPTR,#SCSIInquiryData+023H
00BC F0 MOVX @DPTR,A
; SOURCE LINE # 140
00BD 900000 E MOV DPTR,#SCSIInquiryData+01H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -