КАТЕГОРИИ: Архитектура-(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 Полученные коды символов – сохранить в стеке, добавить символ знака числа
Дата добавления: 2014-01-11; Просмотров: 568; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |