2014-01-15 2 views
0

сказать, что у меня есть 16-разрядный адрес 1964h в регистре SP, как скопировать этот адрес в последовательную 8-разрядную память в 8085?Как сохранить значение в регистре указателя стека в память (8085)?

PS: Я использую SP для операций общего назначения (например, для хранения операндов).

+1

LXI SP , теперь вы имеете его в HL и можете делать с ним все, что хотите. Подобно SHLD, чтобы сохранить его в памяти. Вы не можете разумно использовать SP для операндов, прерывание вас убьет. DI требуется. –

ответ

1

ли это так:

lxi h,0h  ; initialize hl to zero 
    dad sp   ; add sp to hl 
    shld [dest]  ; store to memory 
+0

Кажется, это разумный способ сделать это - ISTR У меня был макрос, чтобы позаботиться о таких вещах ... 30 лет назад ... – Magoo

0

Однажды я должен был написать это для загрузки пром (загрузочный монитор) для HD-Микко - вариант 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 
Смежные вопросы