Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2013, 18:07   #1
Berlioz
Изучающий C и ASM
Пользователь
 
Регистрация: 25.05.2012
Сообщений: 89
По умолчанию Модуль BIOS

Всех приветствую! Делаю модуль для AWARD BIOS по этой статье

CBROM215 материт меня, мол это не модуль BIOS. Подскажите, пожалуйста, где ошибка

P.S. Прописывание
Код:
format binary
не помогает
Berlioz вне форума Ответить с цитированием
Старый 22.02.2013, 23:17   #2
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Ну давайте код сюда. Ошибок может быть множество. Во-первых, код скорее всего должен начинаться с 0x55AAh или наоборот (0xAA55h), не помню за давностью. Во-вторых, третьим байтом должен идти размер модуля в блоках по 512 байт, опять таки, если ничо не путаю. Потом еще вроде условие - что сумма всех байт доп модуля по модулю два должна быть равна нулю (типа контрольная сумма), хотя здесь про алгоритм высчета я точно гоню, но смысл передан. И еще ряд условий.

Ваще, если опыта девелопмента нет, я бы пока отложил в сторону основной бивис, и посоветовал бы тренироваться на кошках: взять любую сетевуху с кроваткой под бут-ром, программатор, флешку туда (в кроватку), и на ней и тренироваться.
Чтобы понять рекурсию, сперва нужно понять рекурсию.

Последний раз редактировалось Tronix; 22.02.2013 в 23:20.
Tronix вне форума Ответить с цитированием
Старый 24.02.2013, 20:03   #3
Berlioz
Изучающий C и ASM
Пользователь
 
Регистрация: 25.05.2012
Сообщений: 89
По умолчанию

Вот этот код. WinHex'ом полученный бинарник добиваю до 512 байт, делаю checksum (8 bit), затем из 100h отнимаю значение и вписываю результат последним байтом

Код:
use16                   ; ISA-модуль работает в 16-разрядном сегменте
DB        55h, 0Ah      ; загрузочная сигнатура
DB        01h           ; размер блока в 200h байтовых секторах
jmp       x_code        ; передача управления нашему коду

x_code:
        ; подготовка регистров
        ; --------------------
        MOV DX, 101Dh   ; куда выводить инфу (DH - ось Y, DL - ось X)
        MOV SI, text    ; что выводить
        XOR BX,BX       ; начальный цвет символов - 1
        MOV CX,1        ; выводим по одному символу

        ; вывод строки в цвете
        ; --------------------
print_string:
        MOV AH, 02h     ; функция управления курсором
        INT 10h         ; дёргаем прерывание, позиционируем курсор
        INC DL          ; перемещаемся на следующую позицию

        LODSB           ; загружаем очередной символ
        TEST AL,AL      ; конец строки???
        JZ input        ; если конец, то выходим

        MOV AH, 09h     ; функция печати символа
        INC BL          ; перебираем все цвета
        INT 10h         ; печатаем символ
        JMP print_string ;мотаем цикл

input:  ; ожидание ввода пароля
        ; ---------------------
        XOR DX,DX        ; контрольная сумма
enters:
        XOR AX,AX        ; функция чтения символа с клавиатуры
        INT 16h          ; читаем символ
        CMP AL,0Dh       ; это ENTER???
        JZ input         ; если ENTER, начинаем ввод сначала
        XOR AH,AH        ; очистить скан-код
        ADD DX,AX        ; считаем контрольную сумму
        CMP DX, 'r' + 'u' + 'm' + 'i' + 't' ;загоняем пароль
        JNZ enters       ; если это не "rumit", продолжаем ввод
        retf
text db "Matrix has you!",0

Последний раз редактировалось Berlioz; 24.02.2013 в 20:05.
Berlioz вне форума Ответить с цитированием
Старый 03.04.2013, 00:45   #4
Shadovv13
Пользователь
 
Регистрация: 02.03.2008
Сообщений: 11
По умолчанию

Где-то я уже такой примерчик видел!!!
Shadovv13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать собственный модуль и программу, использующую этот модуль. Oraner Паскаль, Turbo Pascal, PascalABC.NET 2 02.12.2012 13:15
Модуль Graph или графический модуль Seferus Паскаль, Turbo Pascal, PascalABC.NET 0 11.12.2011 13:15
как к BIOS обращаться. Нужно чтение/запись BIOS. Dethon_ASM_Scarel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 26.10.2011 11:40
Типизированные файлы, модуль Crt, Модуль Graph Kate_Fleur Помощь студентам 1 06.05.2010 17:43
Возможно ли написать на языке Assembler модуль расширения для BIOS biff Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 07.07.2008 13:41