Код: Выделить всё
model small
stack 100h
dataseg
FormatMask db 0, 0, 1, 2
db 0, 0, 2, 2
db 0, 0, 3, 2 ; Track / Head / Sector /Bytes per Sector
db 0, 0, 4, 2
db 0, 0, 5, 2
db 0, 0, 6, 2
db 0, 0, 7, 2
db 0, 0, 8, 2
db 0, 0, 9, 2
db 0, 0, 10, 2
db 0, 0, 11, 2
db 0, 0, 12, 2
db 0, 0, 13, 2
db 0, 0, 14, 2
db 0, 0, 15, 2
db 0, 0, 16, 2
db 0, 0, 17, 2
db 0, 0, 18, 2
error_msg db 'Error$'
codeseg
start:
;настройка DS
mov ax, @data
mov ds, ax
;настройка ES
mov ax, cs
mov es, ax
mov ah, 05h ; function
mov al, 18 ; Number of sectors to format
mov ch, 0 ; Track Number
mov dh, 0 ; Head Number
mov dl, 00h ; Drive A:
lea bx, FormatMask
int 13h
jc short Error
jmp short goodend
;выводим сообщение при ошибке
error:
mov ah, 09h
lea dx, error_msg
int 21h
goodend:
;заканчиваем программу
mov ah, 04ch
mov al,1h
int 21h
end start