8085 無重疊塊移動


在這個程式中,我們將瞭解如何將資料塊從一個位置移動到另一個位置。

問題陳述

編寫 8085 組合語言程式以移動資料塊。假設這些塊不重疊。給出塊大小,塊從 X 開始,我們必須將其移動到位置 Y。

討論

無重疊塊移動相對來說是一項簡單的任務。這裡塊從位置 X 開始,我們必須將其移動到位置 Y。位置 Y 遠離 X。所以 Y > X + 塊大小。

在這個程式中,資料儲存在 8010H 位置,我們將將其放置在 9010H。塊大小儲存在 8000H 位置。

我們將源地址載入到 HL 對中,將目標地址載入到 DE 暫存器對中。我們只是從源獲取資料並將其放置在目標位置。

輸入

地址
資料
.
.
.
.
.
.
8000
07
.
.
.
.
.
.
8010
11
8011
22
8012
33
8013
44
8014
55
8015
66
8016
77
.
.
.
.
.
.

流程圖

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
21,00, 80


LXIH, 8000H
載入查詢塊大小的位置
F003
4E


MOVC, M
將塊大小儲存到 C 暫存器中
F004
21,10, 80


LXI H, 8010H
將源地址載入到 HL 對中
F007
11,10, 90


LXI D, 9010H
將目標地址載入到 DE 對中
F00A
7E
LOOP
MOV A, M
將累加器載入到記憶體元素中
F00B
12


STAX D
將累加器內容儲存到 D 指向的記憶體中
F00C
13


INX D
增加 DE 暫存器對
F00D
23


INX H
增加 HL 暫存器對
F00E
0D


DCR C
減少 C 暫存器
F00F
C2,0A, F0


JNZ LOOP
跳轉到迴圈
F012
76


HLT
終止程式


輸出

地址
資料
.
.
.
.
.
.
8000
07
.
.
.
.
.
.
8010
11
8011
22
8012
33
8013
44
8014
55
8015
66
8016
77
.
.
.
.
.
.
9010
11
9011
22
9012
33
9013
44
9014
55
9015
66
9016
77
.
.
.
.
.
.

更新於: 2019年7月30日

1K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.