8085程式查詢16位數的1補碼和2補碼


在這個程式中,我們將看到如何查詢16位數的1補碼和2補碼。

問題陳述

編寫8085組合語言程式,查詢儲存在8000H和8001H中的16位數的1補碼和2補碼。

討論

8085有一個指令CMA。此指令對累加器的內容取反。對於1補碼,CMA指令就足夠了,對於2補碼,我們需要在取反後將數字加1。

對於16位數,我們將數字放入HL對中,但是為了取反,我們必須將數字從H和L逐一複製到累加器中。然後透過INX指令,我們將增加HL對以獲得2補碼

我們從8000H和8001H獲取數字,並將1補碼儲存在8050H和8051H位置,並將2補碼儲存在8052H和8053H位置。

輸入

地址
資料
.
.
.
.
.
.
8000
CD
8001
AB
.
.
.
.
.
.


流程圖

程式

地址
十六進位制程式碼
助記符
註釋
F000
2A, 00, 80
LHLD 8000H
將記憶體中的數字載入到HL
F003
7C
MOV A, H
將H的內容載入到A
F004
2F
CMA
對累加器取反
F005
67
MOV H, A
用A替換H
F006
7D
MOV A, L
將L的內容載入到A
F007
2F
CMA
對累加器取反
F008
6F
MOV L, A
用A替換L
F009
22, 50, 80
SHLD 8050H
儲存1補碼結果
F00C
23
INX H
將HL加1
F00D
22, 52, 80
SHLD 8052H
儲存2補碼結果
F010
76
HLT
終止程式


輸出

地址
資料
.
.
.
.
.
.
8050
32
8051
54
8052
33
8053
54
.
.
.
.
.
.


更新於: 2019年7月30日

2K+ 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.