Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 30
PUSH PSW
PUSH B
PUSH D
PUSH H
DE HL
HL BC
BC DE
BC (BC) 1
D (Add
copy + 2
)
E (Add
copy + 3
)
*1 : A M
STAX D
HL (HL) - 1
DE (DE) - 1 S ẹ *2
S
MOV C,E JMP *1
LDA Add
copy + 2
*3 : POP H
MOV D,A POP D
LDA Add
copy + 3
POP B
MOV E,A POP PSW
DCX B RET
*1 : MOV A, M
STAX D
DCX H
Các chương trình con sau đây xem phụ lục
+ DAUCHAM
+ DEMP
+ XADD
DEL : Là chương trình con dễ xoá ( nạp 00H ) một vùng dữ liệu
Input : Nạp đòa chỉ đầu của vùng cần xoá
Nạp đòa chỉ cuối của vùng cần xoá
Output : Chương trình không làm thay đổi nội dung các thanh ghi
ẹ
*8 : CALL PHIMSO
S
CALL DEMP
HL DE
Add
tt
(01H)
CALL XADD
A (83H)
Add
CT79
(A)
A (5BH)
Add
DT79
(A)
CALL DAUCHAM
PHIMSO
CALL DEMP
BC DE
BC (BC)+1
*5 : M (00H)
HL (HL)+1
*6
*7
* 7 : POP H
CALL DPHLM
Add
TT
(01H)
POP D
POP B
1
a
PHIMSO ADD
CPI ADD
CALL XADD JZ *4
MVI A, 83H JMP *3
STA Add
CT79
*4 :
LDA
Add
TT
MVI A, 06H CPI 01H
STA Add
DT79
JZ
*7
CALL DAUCHAM CALL DEMP
*1 : CALL KYBRD MOV B, D
CPI 10H MOV C, E
JM *8 INX B
CPI ADD *5 : MOV M, 00H
JZ *2 INX H
JMP *1 MOV A, H
*2 : LDA Add
TT
CMP B
CPI 01H JZ *6
XADD ( xem phụ lục )
DEMP (xem phụ lục )
KYBRD ( xem chương 4 ) Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 36 REG : Đây là chương trình con có chức năng hiển thò nội dung và nạp
nội dung các thanh ghi.
Input : Nội dung các thanh ghi.
Output : Hiển thò nội dung các thanh ghi.
Add
TT
= 01H
XEM GIẢI THUẬT REG CUỐI CHƯƠNG 4
REG PUSH F STA Add
REG+4
STA Add
REG+0
MOV A, E
REGThiết kế Thiết bò thực tập vi xử lí 8085 Trang 37
CPI “DOWN” JMP *16
JZ *17 *9 : MVI B, 71 H
CPI “REG” CALL KYTUB
JZ *19 JMP *16
*3 : LDA Add
TT
*10 : MVI B, 7 C H
CPI 00H CALL KYTUB
JZ *4 JMP *16
JMP *5 *11 : MVI B, 39 H
*4 : CALL ORQP CALL KYTUB
MOV M, A JMP *16
*5 : INX H *12 : MVI B, 5 E H
*6 : MOV A, H CALL KYTUB
CPI 9 F H JMP *16
JZ *7 *13 : MVI B, 79 H
JMP *1 CALL KYTUB
*7 : MOV A, L JMP *16
CPI D 2 H *14 : MVI B, 76 H
JZ *8 CALL KYTUB
CPI D3 JMP *16
JZ *9 *15 : MVI B, 38 H
CPI D 4 CALL KYTUB
JZ *10 JMP *16
CPI D 5 *16 : CALL DPM
JZ *11 MVI A, 01 H
INX H; qua DE RET
DPM : Chương trình con hiển thò nội dung ô nhớ có đòa chỉ trong HL ( xem
phụ lục ).
PHIMSO : Hiển thò đòa chỉ và dữ liệu ( xem phụ lục ).
KYBRD : Chương trình con quét phím.
KYTUB : Hiển thò kí tự và dấu bằng ( xem phụ lục )
ORMP : Hợp hai ô quét phím ( xem phụ lục )
Vùng nhớ Add
REG
dùng để lưu nội dung của các thanh ghi.
Add
REG+0
: 9 F D 2H A
Add
REG+1
: 9 F D 3H F
Add
REG+2
: 9 F D 4H B
Add
REG+3
: 9 F D 5H C
Add
REG+4
: 9 F D 6H D
Add
REG+5
: 9 F D 7H E
S
Add
TT
(01H ) HL (HL) +1
CALL DPFIND A (Add
SRCH
)
*1: CALL KYBRD
S S Đ Đ *2
S
*6 : CALL PHIMSO
*3 Đ CALL DPHLM
POP PSW
*3 : CALL ORMP
Add
SRCH
(A)
*4 : CPI M
PHIMSO UP
SRCH
PUSH PSW CALL ORMP
LDA Add
TT
STA Add
SRCH
CPI 03H *4 : CMP M
JZ *7 JZ *5
MVI A, 01H INX H
STA Add
TT
JMP *4
CALL DPFIND *5 : MVI A, 03H
*1 : CALL KYBRD STA Add
TT
CPI 10H CALL DPHLM
JM *6 POP PSW
CPI UP RET
JZ *2 *6 : CALL PHIMSO
JMP *1 JMP *1
*2 : LDA Add
TT
*7 : INX H