📄 atareset.lst
字号:
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
000C L?0055:
000C L?0056:
000C 7DA0 MOV R5,#0A0H
000E 7C00 MOV R4,#00H
0010 7F2C MOV R7,#02CH
0012 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
C51 COMPILER V7.10 ATARESET 05/28/2007 19:12:26 PAGE 7
0031 E500 R MOV A,count
0033 64C8 XRL A,#0C8H
0035 60CB JZ ?C0001
; SOURCE LINE # 52
0037 ?C0007:
; SOURCE LINE # 55
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)
C51 COMPILER V7.10 ATARESET 05/28/2007 19:12:26 PAGE 8
; FUNCTION ATAPIIdDevice (BEGIN)
; SOURCE LINE # 85
; SOURCE LINE # 86
0000 ?C0016:
; SOURCE LINE # 92
; SOURCE LINE # 93
0000 120000 R LCALL L?0055
0003 120000 E LCALL _writePIO8
; SOURCE LINE # 94
0006 120000 E LCALL readATAPI_STATUS_REG
0009 8F00 R MOV driveStatus,R7
; SOURCE LINE # 95
000B E500 R MOV A,driveStatus
000D 54C0 ANL A,#0C0H
000F FF MOV R7,A
0010 BF40ED CJNE R7,#040H,?C0016
; SOURCE LINE # 97
0013 7F22 MOV R7,#022H
0015 120000 R LCALL L?0057
; SOURCE LINE # 98
0018 7D01 MOV R5,#01H
001A 7C00 MOV R4,#00H
001C 7F24 MOV R7,#024H
001E 120000 E LCALL _writePIO8
; SOURCE LINE # 99
0021 7DFF MOV R5,#0FFH
0023 7C00 MOV R4,#00H
0025 7F26 MOV R7,#026H
0027 120000 E LCALL _writePIO8
; SOURCE LINE # 100
002A 7DFF MOV R5,#0FFH
002C 7C00 MOV R4,#00H
002E 7F28 MOV R7,#028H
0030 120000 E LCALL _writePIO8
; SOURCE LINE # 101
0033 7F2A MOV R7,#02AH
0035 120000 R LCALL L?0057
; SOURCE LINE # 102
0038 120000 R LCALL L?0055
003B 120000 E LCALL _writePIO8
; SOURCE LINE # 103
003E E4 CLR A
003F FD MOV R5,A
0040 FC MOV R4,A
0041 7F1C MOV R7,#01CH
0043 120000 E LCALL _writePIO8
; SOURCE LINE # 107
0046 300004 E JNB scsi,?C0017
; SOURCE LINE # 108
0049 7DA1 MOV R5,#0A1H
004B 8002 SJMP ?C0049
004D ?C0017:
; SOURCE LINE # 110
004D 7DEC MOV R5,#0ECH
004F ?C0049:
004F 7C00 MOV R4,#00H
0051 7F2E MOV R7,#02EH
0053 120000 E LCALL _writePIO8
0056 ?C0018:
; SOURCE LINE # 112
0056 120000 E LCALL waitForIntrq
0059 ?C0021:
C51 COMPILER V7.10 ATARESET 05/28/2007 19:12:26 PAGE 9
; SOURCE LINE # 116
; SOURCE LINE # 117
0059 120000 E LCALL readATAPI_STATUS_REG
005C 8F00 R MOV driveStatus,R7
; SOURCE LINE # 118
005E E500 R MOV A,driveStatus
0060 30E002 JNB ACC.0,$ + 5H
0063 0100 R AJMP ?C0023
; SOURCE LINE # 120
0065 ?C0019:
0065 E500 R MOV A,driveStatus
0067 5488 ANL A,#088H
0069 FF MOV R7,A
006A BF08EC CJNE R7,#08H,?C0021
; SOURCE LINE # 123
; SOURCE LINE # 124
006D 75000A R MOV timeout,#0AH
0070 ?C0024:
; SOURCE LINE # 126
0070 7C00 R MOV R4,#HIGH halfKBuffer
0072 7D00 R MOV R5,#LOW halfKBuffer
0074 D200 E SETB ?_readPIO16toXdata?BIT
0076 7B00 MOV R3,#00H
0078 7A02 MOV R2,#02H
007A 7F20 MOV R7,#020H
007C 120000 E LCALL _readPIO16toXdata
007F EF MOV A,R7
0080 4E ORL A,R6
0081 7007 JNZ ?C0025
; SOURCE LINE # 127
0083 AF00 R MOV R7,timeout
0085 1500 R DEC timeout
0087 EF MOV A,R7
0088 70E6 JNZ ?C0024
; SOURCE LINE # 128
008A ?C0025:
; SOURCE LINE # 129
; SOURCE LINE # 132
;---- Variable 'i' assigned to Register 'R7' ----
008A E4 CLR A
008B FF MOV R7,A
008C ?C0027:
; SOURCE LINE # 133
; SOURCE LINE # 135
008C EF MOV A,R7
008D 6401 XRL A,#01H
008F 2400 R ADD A,#LOW halfKBuffer+036H
0091 F582 MOV DPL,A
0093 E4 CLR A
0094 3400 R ADDC A,#HIGH halfKBuffer+036H
0096 F583 MOV DPH,A
0098 E0 MOVX A,@DPTR
0099 FE MOV R6,A
009A 7400 E MOV A,#LOW SCSIInquiryData+08H
009C 2F ADD A,R7
009D F582 MOV DPL,A
009F E4 CLR A
00A0 3400 E ADDC A,#HIGH SCSIInquiryData+08H
00A2 F583 MOV DPH,A
00A4 EE MOV A,R6
00A5 F0 MOVX @DPTR,A
; SOURCE LINE # 136
C51 COMPILER V7.10 ATARESET 05/28/2007 19:12:26 PAGE 10
00A6 0F INC R7
00A7 BF18E2 CJNE R7,#018H,?C0027
00AA ?C0028:
; SOURCE LINE # 138
00AA 900000 R MOV DPTR,#halfKBuffer+092H
00AD E0 MOVX A,@DPTR
00AE 2430 ADD A,#030H
00B0 900000 E MOV DPTR,#SCSIInquiryData+021H
00B3 F0 MOVX @DPTR,A
; SOURCE LINE # 139
00B4 900000 R MOV DPTR,#halfKBuffer+094H
00B7 E0 MOVX A,@DPTR
00B8 2430 ADD A,#030H
00BA 900000 E MOV DPTR,#SCSIInquiryData+023H
00BD F0 MOVX @DPTR,A
; SOURCE LINE # 140
00BE 900000 E MOV DPTR,#SCSIInquiryData+01H
00C1 C083 PUSH DPH
00C3 C082 PUSH DPL
00C5 E0 MOVX A,@DPTR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -