Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт сен 26, 2017 5:22 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу 1 2 3 След.
Автор Сообщение
 Заголовок сообщения: Новичок
СообщениеДобавлено: Пн июл 30, 2007 2:56 pm 
Здравствуйте, я новичок в программировании на ассемблере, и у меня есть пара вопросов по синтаксису фасма, если не трудно просветите:
1) Чтобы вызвать функцию в КОС нужно каждый раз расталкивать параметры по регистрам, я так понял такую запись можно сократить с помощью макросов, если не трудно напишите пример.

2) В исходниках КОС часто встречаются метки @@, зачем они?

Пока всё, заранее благодарю.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 30, 2007 3:14 pm 
Не в сети
Site Founder
Аватара пользователя

Зарегистрирован: Вс авг 08, 2004 8:55 am
Сообщения: 690
Привет,

1. Пример использования mcall: http://kolibrios.org/?p=SVN&kind=file&l ... xample.asm
2. Метки являются "безымянными". Они не влияют на область видимости локальных меток (начинающихся с точки). Обращение к ним происходит при помощи трёх специальных символов: @f (соответствует ближайшей метке @@ ПОСЛЕ текущей инструкции), @b или @r (соответствует ближайшей метке @@ ДО текущей инструкции)

Почитать о FASM можно тут: http://flatassembler.net/docs.php


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Ср ноя 07, 2007 2:42 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 25, 2007 11:39 pm
Сообщения: 42
mike.dld писал(а):
Почитать о FASM можно тут:
http://flatassembler.net/docs.php


Или скачать русский перевод
http://www.wasm.ru/docs/6/fasm164manualrus.zip

_________________
К сложному нужно относиться как к простому, иначе ты так это и не поймешь,
Пользуюсь тремя инструментами:google, Википедия и мозг :)


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Пт апр 26, 2013 8:35 pm 
Не в сети

Зарегистрирован: Пт апр 26, 2013 8:20 pm
Сообщения: 5
я тоже новичек вообщем и нехочу никого грузить вопросами, но помогине выбрать хорошую книгу для изучения ассемблера , а то попадаються только книги с заголовками типа ассемблер под виндовс 32 итд.
Хочеться книгу поглобалнее


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Пт апр 26, 2013 8:53 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Тут традиционно советуют Юрова.


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Пт апр 26, 2013 8:54 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
"Assembler. Учебник для ВУЗов" Юров В.И.
http://padabum.com/d.php?id=2238 PDF

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Пт апр 26, 2013 8:59 pm 
Не в сети

Зарегистрирован: Пт апр 26, 2013 8:20 pm
Сообщения: 5
Спасибо большое


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 17, 2013 4:23 pm 
Не в сети

Зарегистрирован: Вт сен 17, 2013 4:17 pm
Сообщения: 7
Не подскажете, при помощи системного прерывания int 10h видео режимы 19:9 256цветов есть?


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт сен 17, 2013 4:30 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Я прошу прощения, но в Колибри прерывание BIOS недоступно в режиме пользователя. Так же я не уверен, что оно доступно в режиме ядра.


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт сен 17, 2013 4:37 pm 
Не в сети

Зарегистрирован: Вт сен 17, 2013 4:17 pm
Сообщения: 7
SoUrcerer писал(а):
Я прошу прощения, но в Колибри прерывание BIOS недоступно в режиме пользователя. Так же я не уверен, что оно доступно в режиме ядра.

Я для конкурса пишу графическую ос, и там на компе для презентаций разрешение экрана 19:9 (точно не помню) Так как моя ос графическая => я обратился на этот форум. В vesa1.2 понравился 116h но мне нужен 1:19 а 116h это 1024x768. Вкусных ссылок на эти темы я не нашел. решил спросить


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт сен 17, 2013 4:52 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Это какое разрешение у экрана должно быть с такими пропорциями?


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 17, 2013 5:39 pm 
Не в сети

Зарегистрирован: Вт сен 17, 2013 4:17 pm
Сообщения: 7
простите что всех запутал.
1366x768 16:9


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт сен 17, 2013 6:01 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Сначала нужно получить список доступных режимов. Например на одном из моих ноутов в синем окне загрузке 1366x768 вполне доступен для выбора и работает нормально. Если видеокарта для Vesa не держит указанный режим, то выставлять его бесполезно.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Новичок
СообщениеДобавлено: Вт сен 17, 2013 6:25 pm 
Не в сети

Зарегистрирован: Вт сен 17, 2013 4:17 pm
Сообщения: 7
Mario_r4 писал(а):
Если видеокарта для Vesa не держит указанный режим, то выставлять его бесполезно.

это разрешение на убуну и виндовс идет, я не знаю вот что здесь написать(в место 13h):
Код:
                                                  
org  100h; я ядро в com файлах с винды запускаю, поудобней чем с виртуалкой возиться
mov ah, 0
mov al,13h; 13h = 320x200 pixels, 256 colors. а хочеться разрешение-то по больше!
int 10h 

P.S.: Может быть такое что вызов графического режима какого-нибудь из vesa1.2 запрещена компилятором в незащищенном режиме?


Вернуться к началу
 Заголовок сообщения: Re:
СообщениеДобавлено: Вт сен 17, 2013 6:32 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
Tain_Play писал(а):
простите что всех запутал.
1366x768 16:9
Ты действительно всех запутал:
1) Если я не ошибаюсь, пропорции монитора 19:9 не бывает - есть 16:9. Что и оказалось в твоём случае.
2) 116h - это 15-bit 1024x768, а ты сказал, что тебе нужно 256 цветов, а 15-bit - это 32768 цветов.
3) VESA 1.2 уже давно умерло, сейчас все карточки поддерживают VESA 3.0, так что смело можешь смотреть в списке VESA 3.0. И даже VESA 3.0 ничего не знает о широкоэкранных режимах (таких как 16:9) - в стандарте прописаны исключительно режимы в пропорции 4:3. Широкоэкранные режимы каждый производитель видеокарт может нумеровать как хочет.
4) Недостаточно знать пропорции монитора, так как у каждого LCD монитора свой родной режим, и ты, вероятно, хочешь выставить именно его. С пропорцией 16:9 может быть родной режим: 1280×720, 1366×768, 1600×900, 1920×1080 и другие. Я так понимаю, что у твоего монитора родной режим 1366×768. Если выставить не родной режим, то картинка будет смазанной.

Исходя из всего вышесказанного, тебе нужно на этом компьютере и этом мониторе запустить сначала что-то другое, кроме своей OS (например, ту же KolibriOS), чтобы узнать, какие режимы можно выставить через VESA в твоём конкретном случае. Если KolibriOS в твоём случае не покажет в списке 1366x768, тогда через VESA его вообще нельзя никак выставить, и нужно только писать драйвер.
Tain_Play писал(а):
это разрешение на убуну и виндовс идет, я не знаю вот что здесь написать(в место 13h):
Linux/Windows, скорее всего, и выставляют режим через драйвер.
Можно попробовать в Linux узнать номер режима для Linux (и из него уже вычислить номер режима для VESA):
Цитата:
To show all the modes you can use # hwinfo --framebuffer (hwinfo is available in [community]), while at GRUB prompt you can use the vbeinfo command


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 42 сообщения ]  На страницу 1 2 3 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB