![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
функция INT 10h AH=13h не подразумевает символа конца строки.....
синтаксис её такой: AH=13h AL бит 0 устанавливаеся в 1 если после вывода надо переместить курсор в конец строки. AL бит 1 устанавливается в 1 если для каждого символа указывается атрибут отдельно. В этом случае каждый символ строки должен быть представлен в виде 2х байт (символ-атрибут). (но это неудобно. так што лучше в 0 оставть). BH-номер видеостаницы BL-атрибут для символов если первый бит AL=0 CX-колличество символов DH,DL-начальное положение (строка и столбец) ES:BP-адрес начала строки в памяти.
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
![]()
Min,
это да, символ конца строки лишний.. с остальным все ясно, под виндой все работает как надо.. без ОС символы не те |
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
кириллица без ОС выводиться не будет... а с 0 по 127 символы выводятся... тока што попробовал)))) возможно ты ds криво настроил
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
просто перегрузить таблицу знакогенератора и что угодно будет выводиться
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
#15 | |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
![]() Цитата:
вот об этом тоже хотелось бы узнать поподробнее. |
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
лучше использую FASM.... он может генерить bin файлы....... у него просто вначале задаешь:
use16 Код:
Код:
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
![]()
вот я TASM юзаю, генерится com-файл, он чем-то отличается от bin-файла? у меня тоже сегментные регистры все настроены на один адрес, точнее, на адрес CS, не совсем понятно, зачем ты настраиваешь на 0.
еще не понятно почему такое начальное смещение org 0x7C00. И обязательно ли прописывать выравнивание на 512 - rb 510-($-boot)? |
![]() |
![]() |
![]() |
#18 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
После POST BIOS вызывает прерывание 19h, читает первый сектор, записывает его по адресу 0x7C00 и туда же передаёт управление. Так сложилось исторически
![]()
пыщь
Последний раз редактировалось JTG; 12.11.2008 в 17:11. |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 23.06.2008
Сообщений: 77
|
![]()
JTG,
если все так, то в этом и есть причина... Придется bin-файл делать, с помощью fasm, какие еще есть способы? |
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
![]()
com файл не скомпилится без org 100h..... это место для PSP выделяется.... можно вручную настроить ds на 7C00h (не забудь што это физический адрес, а сегментный 7C0h) .... но когда я так делал на tasm все равно какая то чепуха получалась.....
Код:
Надо бы избавиться от привычки ставить многоточие.....
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прерывания и asm в Си | BOBAH13 | Общие вопросы C/C++ | 7 | 05.08.2008 15:52 |
прерывания | sergei64_89 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 22.04.2008 13:37 |
Операторы прерывания | Иринкаа | Общие вопросы Delphi | 13 | 27.11.2007 21:52 |