Побитовое чтение символа из таблицы символов в Biose

Тема в разделе "Общие вопросы по С и С++", создана пользователем Viriat, 10 янв 2010.

  1. Viriat

    Viriat Гость

    Репутация:
    0
    Уважаемые программисты помогите решить следующую проблему: нужно побитово считать символ 8х8 из таблицы символов в БИОСе и побитово вывести изображение (из 0 и 1) на консоль. Мною написана следующая функция:
    Код (C++):
    include <iostream.h>
    include <dos.h>

    void Blit_Char(char c)
    {
    char far *font=(char far *) MK_FP(0xF000, 0xFA6E+(8*c));
    unsigned char mask;

    for(int y=0; y<8; y++)
    {
    mask=0x80;

    for(int x=0; x<8; x++)
    {
    if(font[y]&mask) cout << "1";
    else cout << "0";
    mask>>=1;
    }
    cout << "\n";
    }
    }
    Вроде как таблица символов 8x8 в БИОСе начинается с адреса 0xF000:0xFA6E, а смещение на нужный символ 0xFA6E+(8*c), но в итоге изображение нужного символа из 0 и 1 не получается. Очень Вас прошу подскажите в чем проблема.
     
  2. Maxx

    Maxx Гость

    Репутация:
    0
    1. в строке char far *font=(char far *) MK_FP(0xF000, 0xFA6E+(8*c); не хватает скобки
    2. для MK_FP и cout необходимо включить соответствующие *.h файлы
    3. программа, которая использует эту функцию, должна компилироваться под DOS и запускаться под чистым DOS'ом или в DOS-окне Windows
    если эти условия выполняются, то функция должна выводить битовую маску символов
     
Загрузка...
Похожие Темы - Побитовое чтение символа
  1. seoman2
    Ответов:
    21
    Просмотров:
    1.135
  2. admigator
    Ответов:
    10
    Просмотров:
    955
  3. AlexPNZ
    Ответов:
    3
    Просмотров:
    2.062
  4. AlexPNZ
    Ответов:
    0
    Просмотров:
    1.667
  5. eugira
    Ответов:
    1
    Просмотров:
    1.232

Поделиться этой страницей