IPB
ЛогинПароль:

> -=FAQ=-
сообщение
Сообщение #1


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


F A Q

Содержание
Все примеры в COM-формате


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


Перекодировка символов используя функции BIOS



.8086
.MODEL TINY
.CODE
ORG 100h

Start:
; Переходим в текстовый режим 80х25х16
mov ax,3
int 10h

;;
;; Выводим информационную строку
;; Пользуясь средствами BIOS после 1/10/86
; AH = 13h
; AL = режим вывода (см. установки отдельных битов ниже)
; = 0 - в строке только символы, атрибут в BL, курсор не сдвигается
; = 1 - в строке только символы, атрибут в BL, курсор сдвигается
; = 2 - строка содержит символы и атрибуты, курсор не сдвигается
; = 3 - строка содержит символы и атрибуты, курсор сдвигается
; BH = номер видеостраницы
; BL = атрибут, если режим вывода равен 0 или 1
; CX = длина строки (исключая атрибуты)
; DH = координата по вертикали
; DL = координата по горизонтали
; ES:BP = адрес строки
;;
;;

mov ax,1301h; В данном случае:
mov bx,7 ; Вывод строки символов по адресу ES:BP длиной CX
mov cx,Len ; байт, атрибут в BL, со сдвигом курсора. На
lea bp,Slon1; видеостраницу #0, координаты курсора 0х15
mov dx,0E00h
int 10h ; Ожидаем нажатия клавиши
mov ah,0
int 16h

;;;;;;;;;;;; Заменяем первый диапазон символов;;;;;;;;;;;;;
; AH = 11h - Функции символьного генератора
; Загрузка набора символов пользователя в алфавитно-цифровом режиме
; AL = 00
; BH = байт на символ (обычно 8,14,16)
; BL = номер загружаемого блока (0-7 VGA)
; CX = количество символов
; DX = код первого символа
; ES:BP = адрес таблицы символов

mov ax,1100h; В данном случае:
lea bp,font1; Загружаемый фонт размером 8х14
mov cx,26 ; (разрабатывалось для EGA). Начиная с
mov dx,'A' ; символ а'A' (код 65) по 'Z' (т.е. 26 симв.)
mov bx,0E00h; Все суем в нулевой банк
int 10h ; Тоже самое для второго диапазона
mov ax,1100h
lea bp,font2
mov cx,26
mov dx,'a' ; С символа 'a' (код 65) по 'z'
mov bx,0E00h
int 10h ; И для третьего
mov ax,1100h
lea bp,font3
mov cx,21
mov dx,'А' ; С символ а'А' (код 65) по 'Ф'
mov bx,0E00h
int 10h ; Ждем нажатия клавиши
mov ah,0
int 16h ; Установка видеорежима используя BIOS, также восстанавливаем исх. шрифт
mov ax,3
int 10h

mov ax,4C00h

int 21h ; Данные о СЛОНЕ

font1 db 0,0,0,0,28,35,124,127,255,255,127,63,31,15
db 0,0,0,0,0,128,224,112,188,222,239,247,251,253
db 0,0,0,0,0,0,0,0,0,0,128,192,224,240
db 0,0,0,0,0,0,0,1,0,7,31,63,127,112
db 0,0,0,0,62,127,255,255,127,255,255,255,255,227
db 0,0,0,0,0,192,240,248,248,220,232,240,254,255
db 0,0,0,0,0,0,0,0,0,0,0,0,15,127
db 0,0,0,0,0,0,0,0,0,0,7,255,252,195
db 0,0,0,0,0,0,0,0,0,0,255,248,7,255
db 0,0,0,0,0,0,0,0,0,0,0,192,192,128
db 15,15,15,15,15,15,31,31,31,31,63,63,63,63
db 253,254,254,254,255,255,255,255,255,255,255,255,255,255
db 252,255,255,255,127,191,191,223,239,247,251,253,252,251
db 225,227,255,195,176,187,122,114,2,2,2,130,2,207
db 241,248,4,67,225,225,193,1,1,1,1,0,3,255
db 255,255,255,255,255,255,255,255,255,255,255,127,255,252
db 3,135,159,255,255,255,254,253,251,247,239,159,127,127
db 254,249,247,207,191,127,255,255,255,255,255,255,255,255
db 63,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 128,0,0,128,128,192,224,224,224,224,192,220,191,127
db 0,0,0,0,0,0,0,0,0,0,0,0,192,248
db 63,63,63,31,31,31,15,7,3,0,0,0,0,0
db 255,255,255,255,255,255,255,255,255,255,63,7,1,0
db 251,247,247,246,246,246,250,250,252,254,255,255,255,255
db 191,64,63,227,156,127,255,129,126,231,25,191,131,63


font2 db 255,255,127,255,255,127,255,255,255,255,251,241,224,0
db 255,255,255,255,255,255,255,255,255,254,193,191,191,127
db 191,191,223,223,223,223,223,191,127,127,191,223,223,223
db 255,255,255,255,255,254,253,243,239,223,223,191,127,127
db 254,253,243,207,63,255,255,255,255,255,255,255,255,255
db 0,192,240,252,254,255,255,255,255,255,255,255,255,255
db 0,0,0,0,0,0,128,192,224,240,248,252,254,254
db 0,0,15,31,31,3,3,3,1,1,0,0,0,0
db 0,116,239,192,128,129,195,255,255,255,255,255,127,31
db 63,63,127,127,255,255,255,255,254,253,251,247,207,191
db 128,231,223,223,191,191,127,127,255,255,255,255,255,255
db 223,223,239,239,243,252,255,255,255,255,255,255,255,255
db 254,253,253,251,231,31,255,255,255,255,255,255,255,255
db 3,14,248,224,128,192,192,192,224,224,224,240,240,240
db 0,0,0,0,0,0,0,0,0,0,0,32,64,128
db 63,63,127,127,127,127,127,127,127,127,127,127,63,63
db 255,255,255,255,223,223,223,223,223,223,191,191,191,127
db 240,240,240,248,248,248,248,248,248,248,248,248,240,240
db 0,0,0,0,0,0,0,0,0,0,1,1,3,3
db 63,31,15,55,55,59,125,126,127,255,255,255,255,255
db 255,255,255,255,255,255,255,255,127,159,175,191,223,223
db 254,255,255,255,255,255,255,255,255,255,255,254,253,253
db 255,255,255,255,255,255,255,127,191,191,223,223,223,223
db 240,240,240,240,240,224,224,224,192,192,192,128,128,0
db 7,7,7,7,7,7,7,15,15,15,31,31,63,127
db 253,253,253,253,251,251,247,255,255,255,255,255,255,255

font3 db 239,247,251,253,252,252,248,248,248,248,240,240,240,240
db 251,251,251,251,253,30,3,3,3,3,3,3,3,3
db 255,251,253,253,253,253,251,255,255,255,255,255,255,255
db 251,251,251,251,251,253,252,252,252,252,254,254,254,254
db 255,255,255,255,255,255,127,31,3,0,0,0,0,0
db 255,255,255,255,255,255,255,255,252,3,63,63,63,127
db 255,255,255,255,255,254,249,199,63,255,255,255,255,255
db 223,191,190,127,127,191,191,222,223,223,239,239,239,223
db 255,255,255,127,127,127,127,255,255,255,255,255,255,255
db 255,254,252,248,248,240,240,240,240,240,248,248,248,248
db 71,123,252,253,251,251,119,15,7,3,0,0,0,0
db 255,255,63,223,232,231,239,239,223,207,7,0,0,0
db 240,240,224,224,96,160,224,224,224,192,128,0,0,0
db 7,7,7,0,7,15,15,15,7,3,0,0,0,0
db 255,255,255,63,216,231,239,239,239,239,7,0,0,0
db 254,254,254,254,112,174,223,223,223,222,128,0,0,0
db 127,127,134,249,251,251,251,251,127,3,0,0,0,0
db 255,255,63,200,247,239,239,239,255,199,0,0,0,0
db 223,223,207,54,185,189,189,189,191,28,0,0,0,0
db 255,255,143,114,253,253,253,253,255,240,0,0,0,0
db 248,248,0,252,252,252,252,252,248,224,0,0,0,0

;; Типа сам СЛОН
;;
;
slon1 db " ABCDEF GHIJ ",13,10
db " KLMNOPQRSTUV ",13,10
db " WXYZabcTdeTTfg o ",13,10
db " hijkTlmTTTTTTn ",13,10
db " pTTqTTTTTTTr ",13,10
db " stuvTTTTTwTTx ",13,10
db " yzАБВГДЕЖЗИЙ ",13,10
db " КЛМНОП РСТУФ ",13,10

; Длина строки
len dw $-slon1

End start



В принципе должен получится слон...


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Shadow   -=FAQ=-   9.05.2003 6:53
Shadow   Re: -=FAQ=-   9.05.2003 7:04
Shadow   Re: -=FAQ=-   9.05.2003 7:09
Shadow   Re: -=FAQ=-   9.05.2003 7:11
Shadow   Re: -=FAQ=-   9.05.2003 7:12
GLuk   Re: -=FAQ=-   11.05.2003 18:30


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 7:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name