Xem mẫu
- ADD
ADD : Laø chöông trình con coù taùc vuï nhaän ñòa chæ môùi , hieån thò
ñòa chæ vaø döõ lieäu môùi ñoù.
Input : Laáy döõ lieäu trong 4 oâ queùt phím
Output : Hieän thò ñòa chæ vaø döõ lieäu
AddTT = 01H
Khoâng ñieàu chænh caùc thanh ghi
ADD
PUSH PSW
PUSH D
CALL DEQP
HL DE
CALL DPHLM
AddTT (01H)
POP D
POP PSW
RET
ADD
PUSH PSW
PUSH D
CALL DEQP
XCHG
CALL DPHLM
MVI A,01H
STA AddTT
POP D
POP PSW
RET
DPHLM ( xem phuï luïc )
Trang 34
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- COPY
COPY : Laø chöông trình con coù taùc vuï copy döõ lieäu töø vuøng naøy
sang vuøng khaùc
Input : Naïp ñòa chæ ñaàu, ñòa chæ cuoái cuûa vuøng goác vaø ñòa chæ ñaàu
cuûa vuøng ñích
Output : Copy , hieån thò ñòa chæ vaø döõ lieäu
Chöông trình khoâng laøm thay ñoåi noäi dung caùc thanh ghi
COPY
PUSH PSW
PUSH B
PUSH D
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
*16 : CALL PHIMSO
S
*3 : CALL DEQP
HL DE a
Trang 35
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- Addtt (01H)
CALL XADD
A (83 H)
a
AddCT79 (A)
A (5 B H)
AddDT79 (A)
CALL DAUCHAM
*4: CALL KYBRD
S S
PHIMSO ADD
Ñ *5 Ñ
Ñ
(ADDTT)=01H
*17 : CALL PHIMSO
S
*6 : CALL DEQP
BC DE
BC (BC)+1
CALL SUBBCHL
AddTT (01H)
CALL XADD
A (83H)
AddCT79 (A)
A (4FH)
AddDT79 (A)
CALL DAUCHAM
1 a
Trang 36
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- 1 a
* 7 : CALL KYBRD
S S
PHIMSO ADD
Ñ *8 Ñ
Ñ
(AddTT)=01H
*18 : CALL PHIMSO
S
*9 : CALL ORQP
A (Addcopy+1)
Addcopy+3 (A) + (E)
A (Addcopy+0)
Addcopy+2 (A) + (D) + Cy
S
DH D=H
HIMSO
*20 Ñ *10
S S
EL E=L
*11 Ñ
Ñ
a
a1
b 2
Trang 37
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- a
b 2
S S
D=B DB
*12 Ñ *8 Ñ
S S
E=C EC
Ñ Ñ
* 14: CALL COPY C.0
* 13: CALL COPY C.1
*15: POP H
CALL DPHLM
AddTT (01H)
POP D
POP B
POP PSW
RET
COPY
Trang 38
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- PUSH PSW JZ *5
PUSH B JMP *4
PUSH D *5 : LDA AddTT
PUSH H CPI 01H
MVI A, 01H JZ *15
STA AddTT *6 : CALL DEMP
CALL XADD MOV B, D
MVI A, 83H MOV C,E
STA AddCT79 CALL SUBBCHL
MVI A,06H MVI 01H
STA AddDT79 STA AddTT
CALL DAUCHAM CALL XADD
*1 : CALL KYBRD MVI A, 83H
CPI 10H STA AddCT79
JM *16 MVI A, 4 F H
CPI ‘ADD’ STA AddDT79
JZ *2 CALL DAUCHAM
JMP *1 *7 : CALL KYBRD
*2 : LDA AddTT CPI 10H
CPI 01H JM *18
JZ *15 CPI ‘ADD’
*3 : CALL DEMP JZ *8
MOV H, D JMP *7
MOV L, E *8 : LDA AddTT
MVI A,01H CPI 01H
STA AddTT JZ *15
CALL XADD *9 : CALL DEMP
MVI A, 83H LDA Addcopy+1
STA AddCT79 ADD E
MVI A, 5BH STA Addcopy+3
STA AddDT79 LDA Addcopy+0
CALL DAUCHAM ADC D
*4 : CALL KYBRD STA Addcopy+2
CPI 10H MOV A,D
JM *17 CMP H
CPI ‘ADD’ JZ *10
Trang 39
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- JP *11 *13 : CALL COPY C.1
JMP *14 JMP *15
*10 : MOV A,E *14 : CALL COPY C.0
CMP L *15 : POP H
JZ *15 CALL DPHLM
JP *11 MVI A, 01H
JMP *14 STA AddTT
*11 MOV A,D POP D
CMP B POP B
JZ *12 POP PSW
JP *14 RET
JMP *13 *16 : CALL PHIMSO
*12 MOV A,E JMP *1
CMP C *17 : CALL PHIMSO
JZ *13 JMP *4
JP *14 *18 : CALL PHIMSO
JMP *13 JMP *7
Vuøng nhôù Addcopy duøng ñeå löu tröõ keát quaû cuûa caùc pheùp coäng tröø caëp thanh ghi
phuïc vuï cho caùc chöông trình con SUBBCHL vaø COPY C.1 vuøng nhôù Addcopy
naèm trong vuøng nhôù AddREC.
(C) – (L)
Addcopy+0 : 9FD2H
(B) – (H) – Cy
Addcopy+1 : 9FD3H
(A) + (E)
Addcopy+2 : 9FD4H A (B) – (H) - Cy
(A) + (D) + Cy
Addcopy+3 : 9FD5 A (C) – (L)
Caùc chöông trình con ñöôïc goïi :
SUBBCHL
SUBBCHL: Laø chöông trình con coù taùc vuï tröø noäi dung thanh ghi
BC cho noäi dung trong HL.
Trang 40
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- Input : Naïp soá bò tröø vaøo BC
Naïp soá tröø vaøo HL
Output : Hieäu soá ñöôïc naïp vaøo 2 oâ nhôù Addcopy+0 vaø Addcopy+1
khoâng laøm thay ñoåi noäi dung caùc thanh ghi.
SUBBCHL
PUSH PSW
A (C)
A (A) – (L)
AddCOPY + 1 (A)
A (B)
A (A) – (H) – Cy
AddCOPY + 0 (A)
POP PSW
RET
SUBBCHL
PUSH PSW SBB H
MOV A,C STA AddCOPY + 0
SUB L POP PSW
STA AddCOPY + 1 RET
MOV A,B
COPY C.O : Ñaây laø chöông trình con sao cheùp döõ lieäu töø vuøng naøy
qua vuøng khaùc. Hai vuøng goác vaø ñích khoâng giao nhau
hoaëc giao nhau nhö hình veõ
DE
ÑÍCH HL
GOÁC
BC
Trang 27
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- Input : Naïp ñòa chæ ñaàu cuûa vuøng goác vaøo HL
Naïp ñòa chæ cuoái cuûa vuøng goác vaøo BC
Naïp ñòa chæ ñaàu cuûa vuøng ñích vaøo DE
Output : Khoâng laøm thay ñoåi noäi dung caùc thanh ghi.
COPY C.0
PUSH PSW
PUSH B
PUSH D
PUSH H
BC (BC) + 1
*1 : A M
STAX D
HL (HL) + 1
DE (DE) + 1
S H=B
Ñ
S
L=C
Ñ
*3 : POP H
POP D
POP B
POP PSW
RET
Trang 27
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- COPY C.0
Input : Naïp soá bò tröø vaøo BC
Naïp soá tröø vaøo HL
Output : Hieäu soá ñöôïc naïp vaøo 2 oâ nhôù Addcopy+0 vaø Addcopy+1
khoâng laøm thay ñoåi noäi dung caùc thanh ghi.
COPY C.0
PUSH PSW
PUSH B
PUSH D
PUSH H
BC (BC) + 1
*1 : A M
STAX D
HL (HL) + 1
DE (DE) + 1
S H=B
Ñ
S
L=C
Ñ
*3 : POP H
POP D
POP B
POP PSW
RET
Trang 28
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
- COPY C.0
PUSH PSW JZ *2
PUSH B JMP *1
PUSH D *2: MOV A, C
PUSH H CMP L
INX B JZ *3
*1 : MOV A, M JMP *1
STAX D *3 : POP H
INX H POP D
INX D POP B
MOV A, B POP PSW
CMP H RET
COPY C.1
COPY C.1 Ñaây laø chöông trình con cheùp ñoaïn döõ lieäu truøng nhau
nhö hình veõ.
HL
DE
GOÁC
ÑÍCH
bc
BC
Input : Naïp ñòa chæ ñaàu cuûa vuøng goác vaøo HL
Naïp ñòa chæ cuoái cuûa vuøng vaøo BC
Thanh ghi D laáy döõ lieäu töø Addcopy+2
Thanh ghi E laáy döõ lieäu töø Addcopy+3
Output : Khoâng thay ñoåi noäi dung caùc thanh ghi.
Trang 29
Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
nguon tai.lieu . vn