Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Palitra_0 – установка палитры 0 (зеленый, красный, коричневый)

Palitra_1 – установка палитры 1(голубой, сиреневый, белый).

Dots atr – отображение точки на мониторе с заданным атрибутом, координаты в переменных Xd,Yd.

Locate X,Y – установить курсор в позицию: Х– номер колонки, Y– номер строки.

CursorOn – включение курсора (отображается на мониторе).

CursorOff – выключение курсора (не отображается).

Tout Сhar – вывод указанного символа Char на экран.

PrintXY X,Y,Text – вывод символьной строки с именем Text на экран в позицию Х,Y.

 

Используемые процедуры и макрокоманды

DisplBin MACRO poz,data;вывод на монитор двоичного;числа в десятичной форме

;вход: позиция (смещение), данные, атрибут

;выход: отображение словного двоичного со знаком в;десятичной форме

push ax;сохранить регистры

push es;сохранить es

mov ax,0b800h;

mov es,ax;адрес начала видеопамяти. es=b800:0000h

mov di,poz;в регист di адрес ХY

mov ax,[data];данные для вывода, младшее слово

;mov [Atr],atr;задать атрибут символов для процедуры

Call _DisplBin;процедура вывода числа

pop es;восстановить

pop ax;регистры

ENDM

;---------------------------------------------

 

Proc _DisplBin;процедура вывода на монитор регистра ax

;вход: в ax − двоичное число со знаком

;вывод на экран однословного двоичного со знаком без;программных прерываний прямым обращением к видеопамяти

push bx;сохранить

push cx;регистры

push ds;

mov [Znak],'+';установить символ «+»

test ax,8000h;проверка на знак

jz @@1;уйти при плюсе

neg ax;изменить знак при минусе

mov [Znak],'-';установить символ знака «-»

 

@@1: mov cx,4;число делений =4

mov bx,10;делитель = 10

@@2: xor dx,dx;dx = 0

div bx;деление dx, ax на 10

add dl,30h;код символа остатка

push dx;в стек

loop @@2;;4 раза

add al,30h;последнее частное

push ax;последнее частное в стек

mov al,[Znak];символ знака на вершину стека

push ax

 

mov cx,6;счетчик на 5 символов + знак

mov bx,di;начальная позиция в мониторе

 

@@4: pop ax;символ из стека для экрана

mov ah,74h;установить атрибут цвет символов

mov [es:bx],ax;вывод кода символа и цвета на экран

add bx,2;увеличить позицию на 2

loop @@4;вывести 5 раз

 

pop ds;восстановить

pop cx;регистры

pop bx

ret;

ENDP

;--------------------------------------------

Пример вывода числа 102410 =210 =10000000002

частное остаток

1024:10 = 102 4 4+30h=34h = 0011 0100 –код символа «4»

102: 10 = 10 2

10: 10 = 1 0

1:10 = 0 1

 

Полученное представление числа = 01024

Алгоритм преобразования двоичного в десятичное

1. делить двоичное методом 4 –х кратного деления на 10 и сохранением последнего частного

2.Полученные после каждого деления остатки (числа превратить в коды символов зтих чисел, добавлением кода 30h

0000 0100 + 0011 0000 = 34h

Полученные коды символов – сохранить в стеке, добавить символ знака числа

<== предыдущая лекция | следующая лекция ==>
Макрокоманды. KeyWait– чтение символа из буфера клавиатуры и ожидание ввода, если буфер пуст | Методичні рекомендації щодо роботи з опорним конспектом лекцій
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 544; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.