Новичок

Assembler programming questions
  • Привет,

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

    Почитать о FASM можно тут: http://flatassembler.net/docs.php
  • mike.dld wrote:Почитать о FASM можно тут:
    http://flatassembler.net/docs.php
    Или скачать русский перевод
    http://www.wasm.ru/docs/6/fasm164manualrus.zip
    К сложному нужно относиться как к простому, иначе ты так это и не поймешь,
    Пользуюсь тремя инструментами:google, Википедия и мозг :)
  • я тоже новичек вообщем и нехочу никого грузить вопросами, но помогине выбрать хорошую книгу для изучения ассемблера , а то попадаються только книги с заголовками типа ассемблер под виндовс 32 итд.
    Хочеться книгу поглобалнее
  • Тут традиционно советуют Юрова.
  • "Assembler. Учебник для ВУЗов" Юров В.И.
    http://padabum.com/d.php?id=2238 PDF
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Спасибо большое
  • Не подскажете, при помощи системного прерывания int 10h видео режимы 19:9 256цветов есть?
  • Я прошу прощения, но в Колибри прерывание BIOS недоступно в режиме пользователя. Так же я не уверен, что оно доступно в режиме ядра.
  • SoUrcerer wrote:Я прошу прощения, но в Колибри прерывание BIOS недоступно в режиме пользователя. Так же я не уверен, что оно доступно в режиме ядра.
    Я для конкурса пишу графическую ос, и там на компе для презентаций разрешение экрана 19:9 (точно не помню) Так как моя ос графическая => я обратился на этот форум. В vesa1.2 понравился 116h но мне нужен 1:19 а 116h это 1024x768. Вкусных ссылок на эти темы я не нашел. решил спросить
  • Это какое разрешение у экрана должно быть с такими пропорциями?
  • простите что всех запутал.
    1366x768 16:9
  • Сначала нужно получить список доступных режимов. Например на одном из моих ноутов в синем окне загрузке 1366x768 вполне доступен для выбора и работает нормально. Если видеокарта для Vesa не держит указанный режим, то выставлять его бесполезно.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 wrote: Если видеокарта для Vesa не держит указанный режим, то выставлять его бесполезно.
    это разрешение на убуну и виндовс идет, я не знаю вот что здесь написать(в место 13h):

    Code: Select all

                                                      
    org  100h; я ядро в com файлах с винды запускаю, поудобней чем с виртуалкой возиться
    mov ah, 0
    mov al,13h; 13h = 320x200 pixels, 256 colors. а хочеться разрешение-то по больше! 
    int 10h  
    
    P.S.: Может быть такое что вызов графического режима какого-нибудь из vesa1.2 запрещена компилятором в незащищенном режиме?
  • Tain_Play wrote:простите что всех запутал.
    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 wrote:это разрешение на убуну и виндовс идет, я не знаю вот что здесь написать(в место 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
  • Who is online

    Users browsing this forum: No registered users and 2 guests