Translate russian comments to english #2 , no code changes
git-svn-id: svn://kolibrios.org@8051 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
4689014eb5
commit
5b284466d4
@ -129,7 +129,7 @@ exc_c: ; exceptions (all but 7th - #NM)
|
|||||||
mov ax, app_data ; exception
|
mov ax, app_data ; exception
|
||||||
mov ds, ax ; load proper values
|
mov ds, ax ; load proper values
|
||||||
mov es, ax ; to registers
|
mov es, ax ; to registers
|
||||||
cld ; clear the destination flag
|
cld ; clear the direction flag
|
||||||
movzx ebx, bl
|
movzx ebx, bl
|
||||||
; redirect to V86 manager? (EFLAGS & 0x20000) != 0?
|
; redirect to V86 manager? (EFLAGS & 0x20000) != 0?
|
||||||
test byte[reg_eflags+2], 2
|
test byte[reg_eflags+2], 2
|
||||||
|
@ -9,9 +9,9 @@ $Revision$
|
|||||||
|
|
||||||
|
|
||||||
;***************************************************
|
;***************************************************
|
||||||
; предварительная очистка области таблицы
|
; clear the DRIVE_DATA table,
|
||||||
; поиск и занесение в таблицу приводов FDD
|
; search for FDDs and add them into the table
|
||||||
; автор Mario79
|
; author - Mario79
|
||||||
;***************************************************
|
;***************************************************
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov edi, DRIVE_DATA
|
mov edi, DRIVE_DATA
|
||||||
|
@ -163,7 +163,7 @@ convert_Sector512_value:
|
|||||||
.end:
|
.end:
|
||||||
ret
|
ret
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
; Адрес считываемого сектора в режиме LBA
|
; Address of reading sector in LBA mode
|
||||||
uglobal
|
uglobal
|
||||||
SectorAddress dd ?
|
SectorAddress dd ?
|
||||||
dev_name:
|
dev_name:
|
||||||
@ -171,49 +171,49 @@ dev_name:
|
|||||||
endg
|
endg
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
;*************************************************
|
;*************************************************
|
||||||
;* ЧТЕНИЕ ИДЕНТИФИКАТОРА ЖЕСТКОГО ДИСКА *
|
;* READING THE HARD DISK IDENTIFIER *
|
||||||
;* Входные параметры передаются через глобальные *
|
;* Input parameters are passed through the global*
|
||||||
;* переменные: *
|
;* variables: *
|
||||||
;* ChannelNumber - номер канала (1 или 2); *
|
;* ChannelNumber - channel number (1 or 2); *
|
||||||
;* DiskNumber - номер диска на канале (0 или 1). *
|
;* DiskNumber - disk number on channel (0 or 1) *
|
||||||
;* Идентификационный блок данных считывается *
|
;* Block of identificational data is reading *
|
||||||
;* в массив Sector512. *
|
;* to Sector512 array. *
|
||||||
;*************************************************
|
;*************************************************
|
||||||
ReadHDD_ID:
|
ReadHDD_ID:
|
||||||
; Задать режим CHS
|
; set up CHS mode
|
||||||
mov [ATAAddressMode], 0
|
mov [ATAAddressMode], 0
|
||||||
; Послать команду идентификации устройства
|
; send device identification command
|
||||||
mov [ATAFeatures], 0
|
mov [ATAFeatures], 0
|
||||||
mov [ATAHead], 0
|
mov [ATAHead], 0
|
||||||
mov [ATACommand], 0xEC
|
mov [ATACommand], 0xEC
|
||||||
call SendCommandToHDD
|
call SendCommandToHDD
|
||||||
cmp [DevErrorCode], 0 ;проверить код ошибки
|
cmp [DevErrorCode], 0 ; check the error code
|
||||||
jne @@End ;закончить, сохранив код ошибки
|
jne @@End ; finish, saving the error code
|
||||||
|
|
||||||
mov dx, [ATABasePortAddr]
|
mov dx, [ATABasePortAddr]
|
||||||
add dx, 7 ;адрес регистра состояни
|
add dx, 7 ; address of state register
|
||||||
mov ecx, 0xffff
|
mov ecx, 0xffff
|
||||||
@@WaitCompleet:
|
@@WaitCompleet:
|
||||||
; Проверить время выполнения команды
|
; Check command execution time
|
||||||
dec ecx
|
dec ecx
|
||||||
jz @@Error1 ;ошибка тайм-аута
|
jz @@Error1 ; timeout error
|
||||||
; Проверить готовность
|
; Check if ready or not
|
||||||
in al, dx
|
in al, dx
|
||||||
test al, 80h ;состояние сигнала BSY
|
test al, 80h ; BSY signal state
|
||||||
jnz @@WaitCompleet
|
jnz @@WaitCompleet
|
||||||
|
|
||||||
test al, 1 ;состояние сигнала ERR
|
test al, 1 ; ERR signal state
|
||||||
jnz @@Error6
|
jnz @@Error6
|
||||||
|
|
||||||
test al, 08h ;состояние сигнала DRQ
|
test al, 08h ; DRQ signal state
|
||||||
jz @@WaitCompleet
|
jz @@WaitCompleet
|
||||||
; Принять блок данных от контроллера
|
; Receive data block from controller
|
||||||
mov edi, Sector512
|
mov edi, Sector512
|
||||||
mov dx, [ATABasePortAddr];регистр данных
|
mov dx, [ATABasePortAddr]; data register
|
||||||
mov cx, 256 ;число считываемых слов
|
mov cx, 256 ; number of word to receive
|
||||||
rep insw ;принять блок данных
|
rep insw ; receive data block
|
||||||
ret
|
ret
|
||||||
; Записать код ошибки
|
; write the error code
|
||||||
@@Error1:
|
@@Error1:
|
||||||
mov [DevErrorCode], 1
|
mov [DevErrorCode], 1
|
||||||
ret
|
ret
|
||||||
@ -223,111 +223,111 @@ ReadHDD_ID:
|
|||||||
ret
|
ret
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
uglobal
|
uglobal
|
||||||
; Стандартные базовые адреса каналов 1 и 2
|
; Standart base addresses of channels 1 or 2
|
||||||
StandardATABases dw ?, ? ; 1F0h, 170h
|
StandardATABases dw ?, ? ; 1F0h, 170h
|
||||||
; Номер канала
|
; Channel number
|
||||||
ChannelNumber db ?
|
ChannelNumber db ?
|
||||||
; Номер диска
|
; Disk number
|
||||||
DiskNumber db ?
|
DiskNumber db ?
|
||||||
DeviceNumber db ?
|
DeviceNumber db ?
|
||||||
; Базовый адрес группы портов контроллера ATA
|
; Base address of ATA controller's port group
|
||||||
ATABasePortAddr dw ?
|
ATABasePortAddr dw ?
|
||||||
; Параметры ATA-команды
|
; ATA-command parameters
|
||||||
ATAFeatures db ? ;особенности
|
ATAFeatures db ? ; features
|
||||||
ATASectorCount db ? ;количество обрабатываемых секторов
|
ATASectorCount db ? ; count of processing sectors
|
||||||
ATASectorNumber db ? ;номер начального сектора
|
ATASectorNumber db ? ; initial sector number
|
||||||
ATACylinder dw ? ;номер начального цилиндра
|
ATACylinder dw ? ; initial cylinder number
|
||||||
ATAHead db ? ;номер начальной головки
|
ATAHead db ? ; initial head number
|
||||||
ATAAddressMode db ? ;режим адресации (0 - CHS, 1 - LBA)
|
ATAAddressMode db ? ; addressing mode (0 - CHS, 1 - LBA)
|
||||||
ATACommand db ? ;код команды, подлежащей выполнению
|
ATACommand db ? ; executing command number
|
||||||
; Код ошибки (0 - нет ошибок, 1 - превышен допустимый
|
; Error code (0 - no errors, 1 - waiting time limit exceed
|
||||||
; интервал ожидания, 2 - неверный код режима адресации,
|
; 2 - incorrect code of addressing mode,
|
||||||
; 3 - неверный номер канала, 4 - неверный номер диска,
|
; 3 - incorrect channel number, 4 - incorrect disk number,
|
||||||
; 5 - неверный номер головки, 6 - ошибка при выполнении
|
; 5 - incorrect head number, 6 - command execution error,
|
||||||
; команды, 7 - таймаут при выборе канала)
|
; 7 - time out when choosing channel)
|
||||||
DevErrorCode dd ?
|
DevErrorCode dd ?
|
||||||
endg
|
endg
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
;****************************************************
|
;****************************************************
|
||||||
;* ПОСЛАТЬ КОМАНДУ ЗАДАННОМУ ДИСКУ *
|
;* SEND COMMAND TO GIVEN DISK *
|
||||||
;* Входные параметры передаются через глобальные *
|
;* Input parameters are passed through the global *
|
||||||
;* переменные: *
|
;* variables: *
|
||||||
;* ChannelNumber - номер канала (1 или 2); *
|
;* ChannelNumber - channel number (1 or 2); *
|
||||||
;* DiskNumber - номер диска (0 или 1); *
|
;* DiskNumber - disk number (0 or 1); *
|
||||||
;* ATAFeatures - "особенности"; *
|
;* ATAFeatures - "features"; *
|
||||||
;* ATASectorCount - количество секторов; *
|
;* ATASectorCount - sector count; *
|
||||||
;* ATASectorNumber - номер начального сектора; *
|
;* ATASectorNumber - initial sector number; *
|
||||||
;* ATACylinder - номер начального цилиндра; *
|
;* ATACylinder - initial cylinder number; *
|
||||||
;* ATAHead - номер начальной головки; *
|
;* ATAHead - initial head number; *
|
||||||
;* ATAAddressMode - режим адресации (0-CHS, 1-LBA); *
|
;* ATAAddressMode - addressing mode (0-CHS, 1-LBA); *
|
||||||
;* ATACommand - код команды. *
|
;* ATACommand - command code. *
|
||||||
;* После успешного выполнения функции: *
|
;* If the function finished successfully: *
|
||||||
;* в ATABasePortAddr - базовый адрес HDD; *
|
;* in ATABasePortAddr - base address of HDD; *
|
||||||
;* в DevErrorCode - ноль. *
|
;* in DevErrorCode - zero. *
|
||||||
;* При возникновении ошибки в DevErrorCode будет *
|
;* If error has occured then in DevErrorCode will *
|
||||||
;* возвращен код ошибки. *
|
;* be the error code. *
|
||||||
;****************************************************
|
;****************************************************
|
||||||
SendCommandToHDD:
|
SendCommandToHDD:
|
||||||
; Проверить значение кода режима
|
; Check the addressing mode code
|
||||||
cmp [ATAAddressMode], 1
|
cmp [ATAAddressMode], 1
|
||||||
ja @@Err2
|
ja @@Err2
|
||||||
; Проверить корректность номера канала
|
; Check the channel number correctness
|
||||||
movzx ebx, [ChannelNumber]
|
movzx ebx, [ChannelNumber]
|
||||||
dec ebx
|
dec ebx
|
||||||
cmp ebx, 1
|
cmp ebx, 1
|
||||||
ja @@Err3
|
ja @@Err3
|
||||||
; Установить базовый адрес
|
; Set the base address
|
||||||
shl ebx, 1
|
shl ebx, 1
|
||||||
mov ax, [ebx+StandardATABases]
|
mov ax, [ebx+StandardATABases]
|
||||||
mov [ATABasePortAddr], ax
|
mov [ATABasePortAddr], ax
|
||||||
; Ожидание готовности HDD к приему команды
|
; Waiting for HDD ready to receive a command
|
||||||
; Выбрать нужный диск
|
; Choose desired disk
|
||||||
mov dx, [ATABasePortAddr]
|
mov dx, [ATABasePortAddr]
|
||||||
add dx, 6 ;адрес регистра головок
|
add dx, 6 ; address of the heads register
|
||||||
mov al, [DiskNumber]
|
mov al, [DiskNumber]
|
||||||
cmp al, 1 ;проверить номера диска
|
cmp al, 1 ; check the disk number
|
||||||
ja @@Err4
|
ja @@Err4
|
||||||
|
|
||||||
shl al, 4
|
shl al, 4
|
||||||
or al, 10100000b
|
or al, 10100000b
|
||||||
out dx, al
|
out dx, al
|
||||||
; Ожидать, пока диск не будет готов
|
; Waiting for disk ready
|
||||||
inc dx
|
inc dx
|
||||||
mov ecx, 0xfff
|
mov ecx, 0xfff
|
||||||
@@WaitHDReady:
|
@@WaitHDReady:
|
||||||
; Проверить время ожидани
|
; Check waiting time
|
||||||
dec ecx
|
dec ecx
|
||||||
jz @@Err1
|
jz @@Err1
|
||||||
; Прочитать регистр состояни
|
; Read the state register
|
||||||
in al, dx
|
in al, dx
|
||||||
; Проверить состояние сигнала BSY
|
; Check the state of BSY signal
|
||||||
test al, 80h
|
test al, 80h
|
||||||
jnz @@WaitHDReady
|
jnz @@WaitHDReady
|
||||||
; Проверить состояние сигнала DRQ
|
; Check the state of DRQ signal
|
||||||
test al, 08h
|
test al, 08h
|
||||||
jnz @@WaitHDReady
|
jnz @@WaitHDReady
|
||||||
; Загрузить команду в регистры контроллера
|
; load command to controller's registers
|
||||||
cli
|
cli
|
||||||
mov dx, [ATABasePortAddr]
|
mov dx, [ATABasePortAddr]
|
||||||
inc dx ;регистр "особенностей"
|
inc dx ; "features" register
|
||||||
mov al, [ATAFeatures]
|
mov al, [ATAFeatures]
|
||||||
out dx, AL
|
out dx, AL
|
||||||
inc dx ;счетчик секторов
|
inc dx ; sector counter
|
||||||
mov al, [ATASectorCount]
|
mov al, [ATASectorCount]
|
||||||
out dx, AL
|
out dx, AL
|
||||||
inc dx ;регистр номера сектора
|
inc dx ; sector number register
|
||||||
mov al, [ATASectorNumber]
|
mov al, [ATASectorNumber]
|
||||||
out dx, AL
|
out dx, AL
|
||||||
inc dx ;номер цилиндра (младший байт)
|
inc dx ; cylinder number (low byte)
|
||||||
mov ax, [ATACylinder]
|
mov ax, [ATACylinder]
|
||||||
out dx, AL
|
out dx, AL
|
||||||
inc dx ;номер цилиндра (старший байт)
|
inc dx ; cylinder number (high byte)
|
||||||
mov al, AH
|
mov al, AH
|
||||||
out dx, AL
|
out dx, AL
|
||||||
inc dx ;номер головки/номер диска
|
inc dx ; head number / disk number
|
||||||
mov al, [DiskNumber]
|
mov al, [DiskNumber]
|
||||||
shl al, 4
|
shl al, 4
|
||||||
cmp [ATAHead], 0xF ;проверить номер головки
|
cmp [ATAHead], 0xF ; check head number
|
||||||
ja @@Err5
|
ja @@Err5
|
||||||
|
|
||||||
or al, [ATAHead]
|
or al, [ATAHead]
|
||||||
@ -336,15 +336,15 @@ SendCommandToHDD:
|
|||||||
shl ah, 6
|
shl ah, 6
|
||||||
or al, ah
|
or al, ah
|
||||||
out dx, al
|
out dx, al
|
||||||
; Послать команду
|
; Send command
|
||||||
mov al, [ATACommand]
|
mov al, [ATACommand]
|
||||||
inc dx ;регистр команд
|
inc dx ; command register
|
||||||
out dx, al
|
out dx, al
|
||||||
sti
|
sti
|
||||||
; Сбросить признак ошибки
|
; reset the error sign
|
||||||
mov [DevErrorCode], 0
|
mov [DevErrorCode], 0
|
||||||
ret
|
ret
|
||||||
; Записать код ошибки
|
; write error code
|
||||||
@@Err1:
|
@@Err1:
|
||||||
mov [DevErrorCode], 7
|
mov [DevErrorCode], 7
|
||||||
ret
|
ret
|
||||||
@ -359,22 +359,22 @@ SendCommandToHDD:
|
|||||||
ret
|
ret
|
||||||
@@Err5:
|
@@Err5:
|
||||||
mov [DevErrorCode], 5
|
mov [DevErrorCode], 5
|
||||||
; Завершение работы программы
|
; finish work
|
||||||
ret
|
ret
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
;*************************************************
|
;*************************************************
|
||||||
;* ЧТЕНИЕ ИДЕНТИФИКАТОРА УСТРОЙСТВА ATAPI *
|
;* READ ATAPI DEVICE IDENTIFIER *
|
||||||
;* Входные параметры передаются через глобальные *
|
;* Input parameters are passed through the global*
|
||||||
;* перменные: *
|
;* variables: *
|
||||||
;* ChannelNumber - номер канала; *
|
;* ChannelNumber - channel number; *
|
||||||
;* DiskNumber - номер диска на канале. *
|
;* DiskNumber - disk number on channel. *
|
||||||
;* Идентификационный блок данных считывается *
|
;* Block of identificational data is reading *
|
||||||
;* в массив Sector512. *
|
;* to Sector512 array. * *
|
||||||
;*************************************************
|
;*************************************************
|
||||||
ReadCD_ID:
|
ReadCD_ID:
|
||||||
; Задать режим CHS
|
; Set CHS mode
|
||||||
mov [ATAAddressMode], 0
|
mov [ATAAddressMode], 0
|
||||||
; Послать команду идентификации устройства
|
; Send command for device identification
|
||||||
mov [ATAFeatures], 0
|
mov [ATAFeatures], 0
|
||||||
mov [ATASectorCount], 0
|
mov [ATASectorCount], 0
|
||||||
mov [ATASectorNumber], 0
|
mov [ATASectorNumber], 0
|
||||||
@ -382,33 +382,33 @@ ReadCD_ID:
|
|||||||
mov [ATAHead], 0
|
mov [ATAHead], 0
|
||||||
mov [ATACommand], 0xA1
|
mov [ATACommand], 0xA1
|
||||||
call SendCommandToHDD
|
call SendCommandToHDD
|
||||||
cmp [DevErrorCode], 0;проверить код ошибки
|
cmp [DevErrorCode], 0 ; check the error code
|
||||||
jne @@End_1 ;закончить, сохранив код ошибки
|
jne @@End_1 ; finish, saving the error code
|
||||||
; Ожидать готовность данных HDD
|
; Wait for HDD data ready
|
||||||
mov dx, [ATABasePortAddr]
|
mov dx, [ATABasePortAddr]
|
||||||
add dx, 7 ;порт 1х7h
|
add dx, 7 ; port 1х7h
|
||||||
mov ecx, 0xffff
|
mov ecx, 0xffff
|
||||||
@@WaitCompleet_1:
|
@@WaitCompleet_1:
|
||||||
; Проверить врем
|
; Check time
|
||||||
dec ecx
|
dec ecx
|
||||||
jz @@Error1_1 ;ошибка тайм-аута
|
jz @@Error1_1 ; time out error
|
||||||
; Проверить готовность
|
; Check readyness
|
||||||
in al, dx
|
in al, dx
|
||||||
test al, 80h ;состояние сигнала BSY
|
test al, 80h ; BSY signal state
|
||||||
jnz @@WaitCompleet_1
|
jnz @@WaitCompleet_1
|
||||||
|
|
||||||
test al, 1 ;состояние сигнала ERR
|
test al, 1 ; ERR signal state
|
||||||
jnz @@Error6_1
|
jnz @@Error6_1
|
||||||
|
|
||||||
test al, 08h ;состояние сигнала DRQ
|
test al, 08h ; DRQ signal state
|
||||||
jz @@WaitCompleet_1
|
jz @@WaitCompleet_1
|
||||||
; Принять блок данных от контроллера
|
; Receive data block from controller
|
||||||
mov edi, Sector512 ;offset Sector512
|
mov edi, Sector512 ; offset Sector512
|
||||||
mov dx, [ATABasePortAddr];порт 1x0h
|
mov dx, [ATABasePortAddr] ; port 1x0h
|
||||||
mov cx, 256;число считываемых слов
|
mov cx, 256 ; words read count
|
||||||
rep insw
|
rep insw
|
||||||
ret
|
ret
|
||||||
; Записать код ошибки
|
; write the error code
|
||||||
@@Error1_1:
|
@@Error1_1:
|
||||||
mov [DevErrorCode], 1
|
mov [DevErrorCode], 1
|
||||||
ret
|
ret
|
||||||
@ -418,49 +418,49 @@ ReadCD_ID:
|
|||||||
ret
|
ret
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
;*************************************************
|
;*************************************************
|
||||||
;* СБРОС УСТРОЙСТВА *
|
;* DEVICE RESET *
|
||||||
;* Входные параметры передаются через глобальные *
|
;* Input parameters are passed through the global*
|
||||||
;* переменные: *
|
;* variables: *
|
||||||
;* ChannelNumber - номер канала (1 или 2); *
|
;* ChannelNumber - channel number (1 or 2); *
|
||||||
;* DiskNumber - номер диска (0 или 1). *
|
;* DiskNumber - disk number (0 or 1). *
|
||||||
;*************************************************
|
;*************************************************
|
||||||
DeviceReset:
|
DeviceReset:
|
||||||
; Проверить корректность номера канала
|
; Check the channel number correctness
|
||||||
movzx ebx, [ChannelNumber]
|
movzx ebx, [ChannelNumber]
|
||||||
dec ebx
|
dec ebx
|
||||||
cmp ebx, 1
|
cmp ebx, 1
|
||||||
ja @@Err3_2
|
ja @@Err3_2
|
||||||
; Установить базовый адрес
|
; Set base address
|
||||||
shl ebx, 1
|
shl ebx, 1
|
||||||
mov dx, [ebx+StandardATABases]
|
mov dx, [ebx+StandardATABases]
|
||||||
mov [ATABasePortAddr], dx
|
mov [ATABasePortAddr], dx
|
||||||
; Выбрать нужный диск
|
; Choose desired disk
|
||||||
add dx, 6 ;адрес регистра головок
|
add dx, 6 ; address of heads register
|
||||||
mov al, [DiskNumber]
|
mov al, [DiskNumber]
|
||||||
cmp al, 1 ;проверить номера диска
|
cmp al, 1 ; check disk number
|
||||||
ja @@Err4_2
|
ja @@Err4_2
|
||||||
|
|
||||||
shl al, 4
|
shl al, 4
|
||||||
or al, 10100000b
|
or al, 10100000b
|
||||||
out dx, al
|
out dx, al
|
||||||
; Послать команду "Сброс"
|
; Send the "Reset" command
|
||||||
mov al, 0x8
|
mov al, 0x8
|
||||||
inc dx ;регистр команд
|
inc dx ; command register
|
||||||
out dx, al
|
out dx, al
|
||||||
mov ecx, 0x80000
|
mov ecx, 0x80000
|
||||||
@@WaitHDReady_1:
|
@@WaitHDReady_1:
|
||||||
; Проверить время ожидани
|
; Check waiting time
|
||||||
dec ecx
|
dec ecx
|
||||||
je @@Err1_2 ;ошибка тайм-аута
|
je @@Err1_2 ; time out error
|
||||||
; Прочитать регистр состояни
|
; read the state register
|
||||||
in al, dx
|
in al, dx
|
||||||
; Проверить состояние сигнала BSY
|
; Check the state of BSY signal
|
||||||
test al, 80h
|
test al, 80h
|
||||||
jnz @@WaitHDReady_1
|
jnz @@WaitHDReady_1
|
||||||
; Сбросить признак ошибки
|
; reset the error sign
|
||||||
mov [DevErrorCode], 0
|
mov [DevErrorCode], 0
|
||||||
ret
|
ret
|
||||||
; Обработка ошибок
|
; error processing
|
||||||
@@Err1_2:
|
@@Err1_2:
|
||||||
mov [DevErrorCode], 1
|
mov [DevErrorCode], 1
|
||||||
ret
|
ret
|
||||||
@ -469,7 +469,7 @@ DeviceReset:
|
|||||||
ret
|
ret
|
||||||
@@Err4_2:
|
@@Err4_2:
|
||||||
mov [DevErrorCode], 4
|
mov [DevErrorCode], 4
|
||||||
; Записать код ошибки
|
; write error code
|
||||||
ret
|
ret
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
EndFindHDD:
|
EndFindHDD:
|
||||||
|
Loading…
Reference in New Issue
Block a user