Два дня назад нечего было делать, решил разобраться с ассемблером zmac и немного потренироваться с синтаксисом i8080. Отдельная загадка - подобрать ключи командной строки к zmac и получить готовый файл, который можно скормить эмулятору CP/M-80. Вторая загадка - написать код без поисков в Google. Получилось.
Компиляция:
zmac prdec.s --od bin --oo cim --od %CD%
cpm prdec.cim
pause
Сам код:
.8080
.cim
org $100
; lxi h,$9C40;16384
lxi b,$FE07;$0503
call mult
call pr10
ret
mult:
;HL=B*C
lxi h,0
mov d,h
mov e,c
mov a,b
mvi b,8
mulp:
or a
rar
jp nc,noadd
dad d
noadd:
xchg
dad h
xchg
dcr b
jnz mulp
ret
pr10
lxi d,-10000
call subd
lxi d,-1000
call subd
lxi d,-100
call subd
lxi d,-10
call subd
mov a,l
adi 48
call prchar
ret
subd
mvi a,47
sdlp:
inr a
shld tmp
dad d
jc sdlp
prchar:
mov e,a
mvi c,2
call 5
lhld tmp
ret
tmp: dw 0

Комментарии
Отправить комментарий