Подпрограмма работает от прерывания таймера 0 и выводит на индикатор содержимое ячеек РПД по адресам 31h-38h. Ячейка 39h используется подпрограммой
ORG 030H
MAS DS 9
NUMB DS 1
ORG 0C00BH
JMP TIMERENT
ORG 0C100H
MOV NUMB,#8
ORL TMOD,#00000010B ;Установка режим 2 таймера 0
MOV TL0,#0 ; Загрузка таймера
MOV TH0,#0
SETB TR0 ; Старт Т/С0
SETB IE.1 ; Разрешение прерывания от Т/С0
SETB EA ; Разрешение прерываний
JMP $
TIMERENT: PUSH ACC ; Запоминание в стеке необх. регистров
PUSH 0
PUSH DPH
PUSH DPL
PUSH PSW
MOV DPTR,#8000H
MOV A,#0
MOVX @DPTR,A ; Гашение сегментов
DEC P1
DJNZ NUMB,NEXT
MOV NUMB,#8
MOV P1,#0F7H
NEXT: MOV A,#MAS ; Вычисление адреса символа
ADD A,NUMB
MOV R0,A
MOV A,@R0
MOVX @DPTR,A ; Вывод следующего знакоместа
POP PSW
POP DPL
POP DPH
POP 0
POP ACC
RETI
END
32
Задание:
Создать файл с программой на языке ассемблер :
ORG 0С100H
MOV A,#21H
INC A
ADDC A,#11H
MOV B,#5
MUL AB
END
|