Вычислить произведение двух 4-х битных чисел, расположенных в младших тетрадах регистров R0 и R1. Для вычисления используется таблица произведений для всех комбинаций сомножителей (всего 256). Произведение двух младших тетрад имеет формат 1 байт.
; Вычисление Z=X*Y
; R0=0000.XXXX
; R1=0000.YYYY
; X и Y принимают значения 0 и 1
ORG 0C100H ; Директива ассемблера, задающая
; начальный адрес программы
MOV DPTR, #MAS ; Загрузка адреса массива
; в регистр-указатель данных
MOV A,R0 ; Пересылка множимого в аккумулятор
SWAP A ; Обмен тетрад аккумулятора
ORL A,R1 ; Формирование в аккумуляторе адреса
; произведения
MOVC A,@A+DPTR ; Загрузка в аккумулятор произведения
ORG 0C300H ; Директива ассемблера, задающая
; начальный адрес таблицы
; Директивы ассемблера, формирующие таблицу произведений
MAS DB 0,0,0,0,0,0,0,0 ; Z=0*Y
DB 0,0,0,0,0,0,0,0
DB 0,1,2,…..,0FH ; Z=1*Y (1*0,1*1,1*2,…,1*0FH)
…
…
DB 0,0FH,1EH,…,0E1 ; Z=0F*Y
; (0FH*0,0FH*1,0FH*2,…,0FH*0FH)
|