4 Задание
Используя команды условного перехода и РОН напишите программу задержки длительностью 1 сек.
MOV BX,10
M1:DEC BX
JNZ M1
65534*16+4=1048548
65535*2=131068
65535*2=131068
1310684
1000000=(Х-1)*16+4=Х*2+2
Напишите программу задержки длительностью 1 сек., используя микросхему системного таймера.
MOV AX,0
INT 1AH
MOV BX,DX
ADD BX,100
M1: INT 1AH
CMP BX,DX
JA M1
Составить программу-секундомер (от 60 до 0) с выводом на LED дисплей. Для работы с дисплеем в эмуляторе Emu8086 имеется готовая процедура, обращение к которой идет при записи данных в порт 199. Выводимые на дисплей цифры задаются в виде десятичного двухбайтного числа и должны хранится в регистре AX.
JMP START
M2:
PUSH AX
PUSH CX
MOV AX,0
INT 1AH
MOV BX,DX
ADD BX,13
M1: INT 1AH
CMP BX,DX
JA M1
POP CX
POP AX
RET
START:
MOV CX,60
BEGIN:
MOV AX,CX
OUT 199,aX
CALL M2
LOOP BEGIN
MOV AX,0
OUT 199,AX
7.Контрольные вопросы
7.1 Какие виды команд переходов вы знаете?
Ответ:JA,JAE,JB,JE,JG,JGE,JL,JLE,JNP,JNE,JNS,JO,JS,JP
7.2 С какой целью используется стек при организации подпрограмм?
Ответ:При вызове подпрограммы или возникновении прерывания, в стек заносится адрес воз врата — адрес в памяти следующей инструкции приостановленной программы и управление передается подпрограмме или подпрограмме-обработчику. При последующем вложенном или рекурсивном вызове, прерывании подпрограммы или обработчика прерывания, в стек заносится очередной адрес возврата и т. д.
7.3 Какие из следующих команд и как влияют на регистр флагов:
Ответ:JL - Переход, если первое знаковое число меньше, чем второе. (SF OF).
JLE- Переход, если первое знаковое число меньше или равно второму. (SF OF или ZF = 0).
JZ- Переход, если числа равны (ZF = 1).
JNZ- Переход, если числа не равны (ZF = 0).
LOOPE- Цикл: CX CX – 1 и переход, если CX 0 и ZF = 1.
