Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
db ' O D I T S Z A P C', 0Ah,0Dh
db ' F F F F F F * F * F * F', 0Ah,0Dh
db '_______________________________'
db 0Ah,0Dh,'$'
Code
Myproc proc
assume CS:@code, DS:@data, SS:@stack
mov AX,@data
Mov DS,AX
;---------------------------------------------------------
Lea DX,mess1;загрузка в DX смещения на mess1
Mov AH,09h;функция 09h вывода строки
Int 21h
;---------------------------------------------------------
Sub AX,AX;вычитание(очистка регистра AX),
;устанавливаются флаги
;sub Ax,1
Pushf;содержимое регистра флагов в стек
;---------------------------------------------------------
Pop BX;извлечение из стека в регистр BX
Mov CX,10h
P1: rol BX,1;циклический сдвиг влево на один
;разряд - содержимое выталкиваемого;15 бита помещается в 0 бит
Mov AL,BL
And AL,1
Or AL,30h;Формирование ASCII кода 0 или 1
Mov DL,AL
Mov AH,2;Функция 2h вывода символа на экран
Int 21h
mov DL,' '
Mov AH,2
Int 21h
;---------------------------------------------------------
Dec CX
Cmp CX,0
Jne p1;Переход по условию на метку р1
;loop p1
;---------------------------------------------------------
Mov AX,4C00h
Int 21h
Myproc endp
End myproc
;===========================================================
4.4.1 Контрольные вопросы и задания к программе
1. Функция 09h прерывания 21h выводит строку символов на экран монитора. Перечислите отличия в вызовах функций 40h и 09h вектора 21h.
2. Можно ли убрать символ ‘$’ в mess1?
3. Объясните, как формируются ASCII коды 1 или 0 с помощью команд
And AL,1
or AL,30h?
4. Проверьте, как изменятся состояния флагов регистра флагов, если ввести в действие команду sub Ax,1, которая стоит после команды
Дата публикования: 2014-12-10; Прочитано: 802 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!