Subversion Repositories Kolibri OS

Rev

Rev 848 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 848 Rev 2971
Line 42... Line 42...
42
;;  20.5.2002  Hd status check - VT                                ;;
42
;;  20.5.2002  Hd status check - VT                                ;;
43
;;  29.6.2002  Improved fat32 verification - VT                    ;;
43
;;  29.6.2002  Improved fat32 verification - VT                    ;;
44
;;                                                                 ;;
44
;;                                                                 ;;
45
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
45
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 46... Line 46...
46
 
46
 
Line 47... Line 47...
47
$Revision: 848 $
47
$Revision: 2971 $
Line 48... Line 48...
48
 
48
 
Line 1067... Line 1067...
1067
.noaccess_2:
1067
.noaccess_2:
1068
    or    ebx, -1
1068
    or    ebx, -1
1069
    mov    eax, ERROR_ACCESS_DENIED
1069
    mov    eax, ERROR_ACCESS_DENIED
1070
    ret
1070
    ret
Line 1071... Line -...
1071
 
-
 
1072
.noaccess_3:
-
 
1073
    add esp,4
-
 
1074
.noaccess_1:
-
 
1075
    add esp,4
-
 
1076
.noaccess_4:
-
 
1077
    add esp,4*5
-
 
1078
    jmp  .noaccess_2
-
 
1079
 
1071
 
1080
@@:
1072
@@:
1081
    call    hd_find_lfn
1073
    call    hd_find_lfn
1082
    jnc    .found
1074
    jnc    .found
1083
    pop    edi
1075
    pop    edi
Line 1138... Line 1130...
1138
    jb    .force_buf
1130
    jb    .force_buf
1139
; we may read directly to given buffer
1131
; we may read directly to given buffer
1140
    push    ebx
1132
    push    ebx
1141
    mov    ebx, edx
1133
    mov    ebx, edx
1142
    call    hd_read
1134
    call    hd_read
-
 
1135
    pop    ebx
1143
    cmp  [hd_error],0
1136
    cmp  [hd_error],0
1144
    jne  .noaccess_1
1137
    jne  .noaccess_1
1145
    pop    ebx
-
 
1146
    add    edx, 512
1138
    add    edx, 512
1147
    sub    ecx, 512
1139
    sub    ecx, 512
1148
    jmp    .skip
1140
    jmp    .skip
1149
.force_buf:
1141
.force_buf:
1150
; we must read sector to temporary buffer and then copy it to destination
1142
; we must read sector to temporary buffer and then copy it to destination
1151
    push    eax ebx
1143
    push    eax ebx
1152
    mov    ebx, buffer
1144
    mov    ebx, buffer
1153
    call    hd_read
1145
    call    hd_read
1154
    cmp  [hd_error],0
-
 
1155
    jne  .noaccess_3
-
 
Line 1156... Line 1146...
1156
 
1146
 
1157
    mov    eax, ebx
1147
    mov    eax, ebx
-
 
1148
    pop    ebx
-
 
1149
    cmp  [hd_error],0
1158
    pop    ebx
1150
    jne  .noaccess_3
1159
    add    eax, ebx
1151
    add    eax, ebx
1160
    push    ecx
1152
    push    ecx
1161
    add    ecx, ebx
1153
    add    ecx, ebx
1162
    cmp    ecx, 512
1154
    cmp    ecx, 512
Line 1176... Line 1168...
1176
    dec    edi
1168
    dec    edi
1177
    jnz    .new_sector
1169
    jnz    .new_sector
1178
    mov    eax, [cluster_tmp]
1170
    mov    eax, [cluster_tmp]
1179
    call    get_FAT
1171
    call    get_FAT
1180
    cmp   [hd_error],0
1172
    cmp   [hd_error],0
1181
    jne   .noaccess_4
1173
    jne   .noaccess_1
Line 1182... Line 1174...
1182
 
1174
 
-
 
1175
    jmp    .new_cluster
-
 
1176
.noaccess_3:
-
 
1177
        pop     eax
-
 
1178
.noaccess_1:
-
 
1179
        pop     eax
1183
    jmp    .new_cluster
1180
        push    11
1184
.done:
1181
.done:
1185
        mov     ebx, edx
1182
        mov     ebx, edx
1186
        pop     eax edx ecx edi
1183
        pop     eax edx ecx edi
1187
        sub     ebx, edx
1184
        sub     ebx, edx