Как сохранить значение в регистре указателя стека в памяти (8085)?
Скажем у меня 16-битный адрес 1964h в регистре SP, как скопировать этот адрес в последовательную 8-битную память в 8085?
PS: я использую SP для операций общего назначения (например, для хранения операндов).
2 ответа
Решение
Сделал это так:
lxi h,0h ; initialize hl to zero
dad sp ; add sp to hl
shld [dest] ; store to memory
Мне когда-то приходилось писать это для загрузочного выпускного (загрузочного монитора) для HD-mikko - варианта Mikromikko 1.
; !----------------------------------------------------
; ! sptohl 0090
; !
; ! moves sp to hl (the value of sp before the call)
; !
; ! on return :
; ! hl = sp
; ! other registers are saved
; !
sptohl :
push psw
lxi h,00000h
ana a
dad sp
inx h
inx h
inx h
inx h
pop psw
ret