Ш
Size: a a a
Ш
MA
mov rax, rdi
shr rdi, 2 //n/4
shl rdi, 2 //n/4 * 4
sub rax, rdi //n mod 4
shl rdi, 2 //*4
shl rax, 2 //*4
cmp rdi, 16 //n % 4 cycle
Ш
MA
Ш
ORG 0
Begin:
mov A,#0 ;записать в Акк. 0
mov DPTR,#0F000h ;установить в DPTR адрес ЦАПа
movx @DPTR,A ;установить на ЦАП код из Акк.
call ZAD ;вызов подпрограммы задержки
continue:
inc A ;увеличить значение Акк. на единицу
movx @DPTR,A ;установить на ЦАП код из Акк.
call ZAD
cjne A,#255d,continue ;если код не достиг максимального значения
;перейти на метку continue
jmp Begin ;иначе переход на метку Begin
ZAD: ;подпрограмма задержки
mov R4,#005h
C2: mov R2,#0FFh
C3: djnz R2, C3
djnz R4, C2
ret ;выход с подпрограммы
END
Ш
Ш
Ш
Ш
Ш
A
Ш