Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 10924
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Советник
Рейтинг: 3991
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 1761
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1541
Дата выхода:05.05.2013, 21:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:59 / 20
Вопросов / ответов:1 / 1

Консультация # 187303: Здравствуйте, Эксперты! Для учебной цели дали задание: Разработать программу, работающую в реальном режиме, располагающуюся в загрузочном секторе носителя (дискета, usb-flash, жесткий диск) и выполняющую операцию считывание заданных параметров и вывод на экран в заданной форме с последующим вводом и установкой. Считыв...


Консультация # 187303:

Здравствуйте, Эксперты! Для учебной цели дали задание:
Разработать программу, работающую в реальном режиме, располагающуюся в

загрузочном секторе носителя (дискета, usb-flash, жесткий диск) и

выполняющую операцию считывание заданных параметров и вывод на экран в

заданной форме с последующим вводом и установкой.
Считывание и установка минут и секунд
Формат считывания: Десятичный формат установки: Шестнадцатиричный

Это задание для процессора семейства x86
Использую компилятор FASM

В интернете нашел исходный код для загрузчика:

Код :
USE16
org 0x7C00
start:
xor eax, eax
xor esi, esi
xor edi, edi
mov ds, ax
mov es, ax
mov bp, 0x7c00
mov ax, 0x0003 
int 0x10
mov si, msg_Load
call print_string_16
jmp 0x0000:0x8000
print_string_16: 
pusha
mov ah, 0x0E 
repeat:
lodsb 
cmp al, 0
je .done 
int 0x10 
jmp short .repeat
done:
popa
ret

msg_Load db "Hello World!", 0


mov ah,0
int 16h

times 510-$+$$ db 0

sign dw 0xAA55

times 512-$+$$ db 0


Скомпилировалось нормально, появился файл bin

Теперь о возникших трудностях:

1) Как записать этот загрузчик на флешку и создать образ ISO для запуска

на виртуальной машине?
Про флешку так толком ничего и не нашел, а по поводу образа, в интернете

я находил такое решение:
"в WinImage создаю дискету на 1.44, далее выбираю опцию boot sector

properties и там открываю свой .bin файл. сохраняю как ima образ и

открываю его в CDBurnerXP. Далее - диск - загрузочные опции - сделать

диск загрузочным - указываю путь к ima и тип эмуляции ставлю 1.44.

сохраняю как ISO образ"
Все сделал как написано, запускаю ISO на виртуальной машине VMware

player, вижу только черный экран и немигающий курсор в левом верхнем

углу.

2) Как считать и установить минуты и секунды в заданных в задании формате?
Нашел такой исходник:
Код :
;---установка времени
MOV CH,HOURS ;вводим значения времени
MOV CL,MINUTES ;
MOV DH,SECONDS ;
MOV DL,HUNDREDTHS ;
MOV AH,2DH ;номер функции установки времени
INT 21H ;устанавливаем время
CMP AH,0FFH ;проверяем правильность значения
JE ERROR ;переход на обработку ошибки

;---получение времени
MOV AH,2CH ;номер функции получения времени
INT 21H ;получаем время
MOV DAY_OF_WEEK,AH ;получаем день недели из AH


Не знаю, работает ли этот код, ведь я не могу проверить из-за того что не могу запустить мой загрузчик.

Дата отправки: 27.04.2013, 21:12
Вопрос задал: Игорь (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Модератор):

Здравствуйте, Игорь!

В приложении компиляция ответа из мини-форума.
Удачи!

Приложение:

Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 05.05.2013, 14:51

5
Спасибо за помощь! Можно многому научиться
-----
Дата оценки: 05.05.2013, 15:23

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное