2017-01-01 69 views
-2

我需要使用堆棧添加4字節的數據03H,02H,05H,01H,並將結果存儲在i8085微處理器的3350H中。數據字節來自起始3300H的4個連續存儲單元。如何去做這件事? 到目前爲止,我已經做到了這一點:如何在Intel 8085中使用堆棧添加四個數據字節?

LXI SP,3599H ;Stack initialised 
MVI L,00H 
PUSH H 
POP PSW   ;Flags Cleared 
LXI H,3300H 
PUSH H 
INX H 
PUSH H 
INX H 
PUSH H 
INX H 
PUSH H 
MVI A,00H 
POP B 
ADD B 
POP B 
ADD B 
POP B 
ADD B 
POP B 
ADD B 
STA 3350H 
HLT  

我敢肯定,因爲有很多OT重複,這不是一個好方法。是否有某種循環可以使它更好地工作?

+2

有兩個問題:1)你打算處理溢出嗎? 2)爲什麼使用堆棧?我知道這是一項任務,但我錯過了如何合理使用堆棧,除非......您需要編寫例程。 –

+0

不,它被認爲值是足夠小,以便沒有任何溢出 –

回答

0

「使用堆棧」位似乎有意義的唯一方法是將SP設置爲3300H,將堆棧中的數據(3300H和3301H)彈入一個寄存器對(比如說BC),將B添加到A ,將C添加到A,將接下來的兩個數據字節彈出到BC(3302H和3303H),重複添加,然後將A存儲到3350H。這樣你就可以「使用堆棧」將數據從內存中移出到寄存器中,以便執行數學運算。零之前做任何事情。

祝你好運。

相關問題