Xem mẫu
- COPY C.1
PUSH PSW
PUSH B
PUSH D
PUSH H
DE HL
HL BC
BC DE
BC (BC) – 1
D (Addcopy + 2)
E (Addcopy + 3)
*1 : A M
STAX D
HL (HL) - 1
DE (DE) - 1
S H=B
Ñ *2
S
L=C
Ñ *3
*3 : POP H
POP D
POP B
POP PSW
RET
Trang 30
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- PUSH PSW DCX D
PUSH B MOV A, B
PUSH D CMP H
PUSH H JZ *2
XCHG JMP *1
MOV H,B *2: MOV A, C
MOV L,C CMP L
MOV B,D JZ *3
MOV C,E JMP *1
LDA Addcopy + 2 *3 : POP H
MOV D,A POP D
LDA Addcopy + 3 POP B
MOV E,A POP PSW
DCX B RET
*1 : MOV A, M
STAX D
DCX H
Caùc chöông trình con sau ñaây xem phuï luïc
+ DAUCHAM
+ DEMP
+ XADD
DEL
DEL : Laø chöông trình con deã xoaù ( naïp 00H ) moät vuøng döõ lieäu
Input : Naïp ñòa chæ ñaàu cuûa vuøng caàn xoaù
Naïp ñòa chæ cuoái cuûa vuøng caàn xoaù
Output : Chöông trình khoâng laøm thay ñoåi noäi dung caùc thanh ghi
DEL
PUSH PSW
PUSH B
PUSH D
Trang 31
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- PUSH H
Addtt (01H)
CALL XADD
A (83H)
AddCT79 (A)
A (06H)
AddDT79 (A)
CALL DAUCHAM
*1: CALL KYBRD
S S
PHIMSO ADD
Ñ *2 Ñ
Ñ
(ADDTT)=01H
*8 : CALL PHIMSO
S
CALL DEMP
HL DE
Addtt (01H)
CALL XADD
A (83H)
AddCT79 (A)
A (5BH)
AddDT79 (A)
CALL DAUCHAM
1 a
Trang 32
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- 1 a
* 3 : CALL KYBRD
S S
PHIMSO ADD
Ñ *4 Ñ
Ñ
(AddTT)=01H
*10 : CALL PHIMSO
S
CALL DEMP
BC DE
BC (BC)+1
*5 : M (00H)
HL (HL)+1
H=B
*6
L=C
*7
* 7 : POP H
CALL DPHLM
AddTT (01H)
POP D
POP B
Trang 33
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- POP PSW
RET
DEL
PUSH PSW STA AddDT79
PUSH B CALL DAUCHAM
PUSH D *3 : CALL KYBRD
PUSH H CPI 10H
MVI A, 01H JM *10
STA AddTT CPI ‘ADD’
CALL XADD JZ *4
MVI A, 83H JMP *3
STA AddCT79 *4 : LDA AddTT
MVI A, 06H CPI 01H
STA AddDT79 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 AddTT CMP B
CPI 01H JZ *6
IZ *7 JMP *5
CALL DEMP *6 : MOV A, L
MOV H, D CMP C
MOV L, E JZ *7
MVI A, 01H JMP *5
STA AddTT *7 : POP H
CALL XADD CALL DPHLM
MVI A, 83H MVI A, 01H
STA AddCT79 STA AddTT
MVI A, 5B POP D
Trang 34
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- POP B JMP *1
POP PSW *9 : CALL PHIMSO
RET JMP *3
*8 : CALL PHIMSO
Caùc chöông trình con ñöôïc goïi :
DAUCHAM ( xem phuï luïc )
XADD ( xem phuï luïc )
DEMP (xem phuï luïc )
KYBRD ( xem chöông 4 )
Trang 35
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- REG
REG : Ñaây laø chöông trình con coù chöùc naêng hieån thò noäi dung vaø naïp
noäi dung caùc thanh ghi.
Input : Noäi dung caùc thanh ghi.
Output : Hieån thò noäi dung caùc thanh ghi.
AddTT = 01H
XEM GIAÛI THUAÄT REG CUOÁI CHÖÔNG 4
REG
PUSH F STA AddREG+4
STA AddREG+0 MOV A, E
MOV A, H STA AddREG+5
STA AddREG+6 *1 : MVI A, 01H
MOV A, L STA AddTT
STA AddREG+7 LXI H, AddREG+0
POP H MVI B, 77
MOV A, L CALL KYTUB
STA AddREG+1 CALL DPM
MOV A, B *2 : CALL KYBRD
STA AdDREG+2 CPI 10H
MOV A, C JM *18
STA AddREG+3 CPI ‘UP’
MOV A, D JZ *3
Trang 36
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- CPI “DOWN” JMP *16
JZ *17 *9 : MVI B, 71 H
CPI “REG” CALL KYTUB
JZ *19 JMP *16
*3 : LDA AddTT *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 9FH JMP *16
JZ *7 *13 : MVI B, 79 H
JMP *1 CALL KYTUB
*7 : MOV A, L JMP *16
CPI D2H *14 : MVI B, 76 H
JZ *8 CALL KYTUB
CPI D3 JMP *16
JZ *9 *15 : MVI B, 38 H
CPI D4 CALL KYTUB
JZ *10 JMP *16
CPI D5 *16 : CALL DPM
JZ *11 MVI A, 01 H
CPI D6 STA AddTT
JZ *12 JMP *2
CPI D7 *17 : DCX H
JZ *13 JMP *6
CPI D8 *18 : CALL PHIMSO
JZ *14 JMP *2
CPI D9 * 19 : LXI H, AddREG+0
JZ *15 MOV B, M; laáy AF
JMP *1 INX H; thoâng qua
*8 : MVI B, 77 H MOV C, M; ngaên xeáp
CALL KYTUB PUSH B; vaø BC
Trang 37
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- INX H MOV E, M
MOV B, M XCHG
INX H POP D
MOV D, M CALL DPHLM
INX H MVI A, 01 H
MOV E, M STA AddTT
PUSH D POP PSW; laáy AF
INX H ; laáy HL thoâng qua BC
MOV D, M;thoâng vaø ngaên xeáp
INX H; qua DE RET
DPM : Chöông trình con hieån thò noäi dung oâ nhôù coù ñòa chæ trong HL ( xem
phuï luïc ).
PHIMSO : Hieån thò ñòa chæ vaø döõ lieäu ( xem phuï luïc ).
KYBRD : Chöông trình con queùt phím.
KYTUB : Hieån thò kí töï vaø daáu baèng ( xem phuï luïc )
ORMP : Hôïp hai oâ queùt phím ( xem phuï luïc )
Vuøng nhôù AddREG duøng ñeå löu noäi dung cuûa caùc thanh ghi.
AddREG+0 : 9 F D 2H A
AddREG+1 : 9 F D 3H F
AddREG+2 : 9 F D 4H B
AddREG+3 : 9 F D 5H C
AddREG+4 : 9 F D 6H D
AddREG+5 : 9 F D 7H E
AddREG+6 : 9 F D 8H H
AddREG+7 : 9 F D 9H L
Trang 38
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- SRCH
SRCH : Laø chöông trình con coù taùc vuï tìm kieám döõ lieäu trong boä
nhôù.
Input : Naïp döõ lieäu caàn tìm.
Naïp ñòa chæ cuoái cuûa vuøng caàn xoaù
Output : Hieån thò ñòa chæ vaø döõ lieäu vöøa tìm ñöôïc. Thay ñoåi noäi
dung laëp thanh ghi HL.
AddTT = 03H
SRCH
PUSH PSW
AddTT = 03H
*7
S
AddTT (01H ) HL (HL) +1
CALL DPFIND A (AddSRCH)
*1: CALL KYBRD
S S
PHIMSO UP
Ñ Ñ *2
S
(AddTT)=00H
*6 : CALL PHIMSO
*3 Ñ CALL DPHLM
POP PSW
*3 : CALL ORMP
RET
AddSRCH (A)
*4 : CPI M
Trang 39
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- HL (HL) + 1
Z=1
S
Ñ
*5 : AddTT 03H
CALL DPHLM
POP PSW
RET
SRCH
PUSH PSW CALL ORMP
LDA AddTT STA AddSRCH
CPI 03H *4 : CMP M
JZ *7 JZ *5
MVI A, 01H INX H
STA AddTT JMP *4
CALL DPFIND *5 : MVI A, 03H
*1 : CALL KYBRD STA AddTT
CPI 10H CALL DPHLM
JM *6 POP PSW
CPI ‘UP’ RET
JZ *2 *6 : CALL PHIMSO
JMP *1 JMP *1
*2 : LDA AddTT *7 : INX H
CPI 00H LDA AddSRCH
JZ *3 JMP *4
CALL DPHLM
POP PSW
RET
Trang 40
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
nguon tai.lieu . vn