Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.01.2019
Сообщений: 3

Напишите команды для BIOS INT 13h, выполняющие запись трех секторов из области OUTDISK на диск B, головку 0, дорожку 8,

21.01.2019, 11:36. Показов 1879. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна помощь в написании программы.
Задание: Напишите команды для BIOS INT 13h, выполняющие запись трех секторов из области OUTDISK на диск B, головку 0, дорожку 8, сектор 1.

Нашёл похожий пример. сможет кто-нибудь переделать и сделать скриншот компиляции? У меня не запускается (
Приведите пример применения команды для BIOS INT, выполняющей чтение одного сектора
Напишите команды для BIOS INT 13H, выполняющие чтение одного сектора, в области памяти INDISK с диска A, головки 0, дорожка 6, сектора 3

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.model tiny
.code
.startup
 
Drive       =   0       ; диск A:
Head        =   0
Track       =   6
Sec     =   3
Attempts    =   3       ; кол-во попыток чтения
 
                mov cx,Attempts
    TryAgain:
                push    cx
        mov ah,2        ; ah = 2 (функция)
        mov al,1        ; al = 1 (кол-во секторов для чтения)
        mov ch,Track and 0FFh   ; ch = младшие 8 бит дорожки
        mov cl,Sec or ((Track shr 2) and 0C0h)  ; cl = номер сектора + биты 8 и 9 номера дорожки в старших 2-х битах (6 и 7) cl
        mov dh,Head     ; dh = головка
        mov dl,Drive    ; dl = диск
        lea bx,Buffer   ; es:bx = адрес буфера
        int 13h     ; читаем!
        pop cx
        jnc Ok
        xor ah,ah
        int 13h     ; делаем сброс
        loop    TryAgain
    Error:
        ; ошибка чтения, попытки исчерпаны
    Ok:
        ; всё хорошо, результат в es:bx
        int 20h     ; выход
 
Buffer      db  512 dup (?)
 
end
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.01.2019, 11:36
Ответы с готовыми решениями:

Приведите пример применения команды для BIOS INT, выполняющей чтение одного сектора
Добрый день! Помогите, пожалуйста, с задачей в tasm.. Напишите команды для BIOS INT 13H, выполняющие чтение одного сектора, в...

Напишите метод static int max(ref int [,]a), который определяет максимальный элемент матрицы в заштрихованной области
Здравствуйте. Напишите метод static int max(ref int a), который определяет максимальный элемент матрицы в заштрихованной области (...

Напишите программу, которая использует функцию для вычисления среднего геометрического трех чисел типа int, что вводит пользователь.
Напишите программу, которая использует функцию для вычисления среднего геометрического трех чисел типа int, что вводит пользователь. Язык...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2019, 11:36
Помогаю со студенческими работами здесь

Int 13h и пародия на ОС
Здравствуйте! Решил написать ОС с по-настоящему красивыми обоями. Имеется первичный загрузчик loader0.asm: org 0x7C00 section...

Написать команды, выполняющие следующие действия: пересылка, сложение
4. Написать команды, выполняющие следующие действия. Определить исполнительный адрес операнда, размещенного в ЯП. Поясните, какие режимы...

Форматирование дискеты(1.44) int 13h
Здравствуйте! Есть задание: Форматировать дорожку № 7 нижней поверхности дисковода с размером секторов 256. Все необходимые для...

Функция 48h int 13h
Расскажите, пожалуйста, про функцию 48h прерывания 13h. Где про Int 13h находил, там про такую функцию не рассказывается. ПОМОГИТЕ.

Форматирование дискеты (int 13h)
Как отформатировать только первую сторону дискеты с размером сектора 512? Вот есть код форматирования ВСЕЙ дискеты. Подскажите что нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru