D
DJEDY
Мне нужно показать координаты 1-го основного раздела жесткого диска в CHS виде. Код чтения сектора я с горем пополам написал и он работает:
dseg segment
buffer db 512 dup(0) ;буфер для размещения данных
text1 db 'yes$'
text2 db 'error!$'
dseg ends
code segment
assume cs:code,ds: dseg,es: dseg
a1: mov ax,dseg
mov ds,ax
mov es,ax
mov ah,2 ;номер функции
mov cx,1 ;номер цилиндра 0, сектора 1
mov dh,0 ;номер головки 0
mov dl,80h ;номер диска
lea bx,buffer ;в bx адрес буфера данных
mov al,1 ;количество считываемых секторов
int 13h ;вызов сервиса
jc err ;при ошибке чтения сообщение 'error!'
lea dx,text1
a2: mov ah,9 ;вывод строки на экран
int 21h
mov ah,4ch ;завершение исполнения
int 21h
err:lea dx,text2
jmp a2
code ends
end a1
Вызывает затруднение вытащить 3 байта отвечающие за координаты ж.д. и перевод их в CHS вид програмно. Подскажите если не трудно))
dseg segment
buffer db 512 dup(0) ;буфер для размещения данных
text1 db 'yes$'
text2 db 'error!$'
dseg ends
code segment
assume cs:code,ds: dseg,es: dseg
a1: mov ax,dseg
mov ds,ax
mov es,ax
mov ah,2 ;номер функции
mov cx,1 ;номер цилиндра 0, сектора 1
mov dh,0 ;номер головки 0
mov dl,80h ;номер диска
lea bx,buffer ;в bx адрес буфера данных
mov al,1 ;количество считываемых секторов
int 13h ;вызов сервиса
jc err ;при ошибке чтения сообщение 'error!'
lea dx,text1
a2: mov ah,9 ;вывод строки на экран
int 21h
mov ah,4ch ;завершение исполнения
int 21h
err:lea dx,text2
jmp a2
code ends
end a1
Вызывает затруднение вытащить 3 байта отвечающие за координаты ж.д. и перевод их в CHS вид програмно. Подскажите если не трудно))