Как сохранить значение в регистре указателя стека в памяти (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
Другие вопросы по тегам