Tải bản đầy đủ (.pdf) (11 trang)

Quá trình hình thành giáo trình mô phỏng thiết kế thiết bị cảnh báo bằng phím nhận vị trí bộ nhớ p3 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (76.14 KB, 11 trang )


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 34


 ADD : Là chương trình con có tác vụ nhận đòa chỉ mới , hiển thò
đòa chỉ và dữ liệu mới đó.
 Input : Lấy dữ liệu trong 4 ô quét phím
 Output : Hiện thò đòa chỉ và dữ liệu
Add
TT
= 01H
Không điều chỉnh các thanh ghi



PUSH PSW
PUSH D
CALL DEQP
HL DE
CALL DPHLM
Add
TT
(01H)
POP D
POP PSW




ADD


PUSH PSW
PUSH D
CALL DEQP
XCHG
CALL DPHLM
MVI A,01H
STA Add
TT

POP D
POP PSW
RET
 DPHLM ( xem phụ lục )

ADD

RET

ADD


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 35


 COPY : Là chương trình con có tác vụ copy dữ liệu từ vùng này
sang vùng khác
 Input : Nạp đòa chỉ đầu, đòa chỉ cuối của vùng gốc và đòa chỉ đầu
của vùng đích
 Output : Copy , hiển thò đòa chỉ và dữ liệu
Chương trình không làm thay đổi nội dung các thanh ghi




PUSH PSW
PUSH B
PUSH D
PUSH H
Add
tt
(01H)
CALL XADD
A (83H)
Add
CT79
(A)
A (06H)
Add
DT79
(A)
CALL DAUCHAM
*1: CALL KYBRD


S S


Đ *2 Đ
Đ
*16 : CALL PHIMSO


S

*3 : CALL DEQP
HL DE
COPY

PHIMSO


ADD


(ADD
TT
)=01H


a

COPY


Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 36
Add
tt
(01H)
CALL XADD
A (83 H)
Add
CT79

(A)
A (5 B H)
Add
DT79
(A)
CALL DAUCHAM

*4: CALL KYBRD


S S


ẹ *5 ẹ

*17 : CALL PHIMSO

S

*6 : CALL DEQP
BC DE
BC (BC)+1
CALL SUBBCHL
Add
TT
(01H)
CALL XADD
A (83H)
Add
CT79

(A)
A (4FH)
Add
DT79
(A)
CALL DAUCHAM





PHIMSO


ADD


(ADD
TT
)=01H


1

a

a


Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 37






* 7 : CALL KYBRD


S S


ẹ *8 ẹ

*18 : CALL PHIMSO

S

*9 : CALL ORQP
A (Add
copy+1
)
Add
copy+3
(A) + (E)
A (Add
copy+0
)
Add
copy+2
(A) + (D) + Cy



S


*20 ẹ *10
S S


*11 ẹ




1

a

PHIMSO


ADD


(Add
TT
)=01H


D


H

HIMSO

D = H


E

L


E = L


a1

b

2

a


Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 38







S S


*12 ẹ *8 ẹ

S S


ẹ ẹ

* 14: CALL COPY C.0

* 13: CALL COPY C.1

*15: POP H

CALL DPHLM
Add
TT
(01H)
POP D
POP B
POP PSW









COPY
D = B


D

B


E = C


E

C


b

2

a

RET


Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 39

PUSH PSW JZ *5
PUSH B JMP *4
PUSH D *5 : LDA Add
TT

PUSH H CPI 01H
MVI A, 01H JZ *15
STA Add
TT
*6 : CALL DEMP
CALL XADD MOV B, D
MVI A, 83H MOV C,E
STA Add
CT79
CALL SUBBCHL
MVI A,06H MVI 01H
STA Add
DT79
STA Add
TT
CALL DAUCHAM CALL XADD
*1 : CALL KYBRD MVI A, 83H
CPI 10H STA Add
CT79

JM *16 MVI A, 4 F H
CPI ADD STA Add
DT79

JZ *2 CALL DAUCHAM

JMP *1 *7 : CALL KYBRD
*2 : LDA Add
TT
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 Add
TT

MVI A,01H

CPI 01H
STA Add
TT
JZ *15
CALL XADD *9 : CALL DEMP
MVI A, 83H

LDA Add
copy+1

STA Add
CT79
ADD E
MVI A, 5BH

STA Add
copy+3

STA Add
DT79
LDA Add
copy+0

CALL DAUCHAM ADC D
*4 : CALL KYBRD STA Add
copy+2

CPI 10H MOV A,D
JM *17 CMP H
CPI ADD JZ *10

Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 40

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 Add
TT

*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

Vùng nhớ Add
copy
dùng để lưu trữ kết quả của các phép cộng trừ cặp thanh ghi
phục vụ cho các chương trình con SUBBCHL và COPY C.1 vùng nhớ Add
copy
nằm trong vùng nhớ Add
REC
.

Add
copy+0
: 9FD2H

Add
copy+1
:

9FD3H

Add
copy+2
: 9FD4H A (B) – (H) - Cy

Add
copy+3

: 9FD5 A (C) – (L)

Các chương trình con được gọi :
SUBBCHL
SUBBCHL: Là chương trình con có tác vụ trừ nội dung thanh ghi
BC cho nội dung trong HL.

(C)

(L)

(B)

(H)

Cy

(A) + (E)

(A) + (D) + Cy


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 27

ĐÍCH
 Input : Nạp số bò trừ vào BC
Nạp số trừ vào HL
 Output : Hiệu số được nạp vào 2 ô nhớ Add
copy+0
và Add

copy+1
không làm thay đổi nội dung các thanh ghi.



PUSH PSW
A (C)
A (A) – (L)
Add
COPY + 1
(A)
A (B)
A (A) – (H) – C
y

Add
COPY + 0
(A)
POP PSW



SUBBCHL

PUSH PSW
MOV A,C
SUB L
STA Add
COPY


+ 1

MOV A,B
SBB H
STA Add
COPY + 0

POP PSW
RET


 COPY C.O : Đây là chương trình con sao chép dữ liệu từ vùng này
qua vùng khác. Hai vùng gốc và đích không giao nhau
hoặc giao nhau như hình vẽ






SUBBCHL

RET

DE


GỐC
HL


BC


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 27
 Input : Nạp đòa chỉ đầu của vùng gốc vào HL
Nạp đòa chỉ cuối của vùng gốc vào BC
Nạp đòa chỉ đầu của vùng đích vào DE
 Output : Không làm thay đổi nội dung các thanh ghi.




PUSH PSW
PUSH B
PUSH D
PUSH H
BC (BC) + 1
*1 : A M
STAX D
HL (HL) + 1
DE (DE) + 1


S


Đ
S



Đ

*3 : POP H
POP D
POP B
POP PSW




COPY C.0

H = B

L = C

RET


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 28



 Input : Nạp số bò trừ vào BC
Nạp số trừ vào HL
 Output : Hiệu số được nạp vào 2 ô nhớ Add
copy+0
và Add
copy+1
không làm thay đổi nội dung các thanh ghi.



PUSH PSW
PUSH B
PUSH D
PUSH H
BC (BC) + 1
*1 : A M
STAX D
HL (HL) + 1
DE (DE) + 1


S


Đ
S


Đ

*3 : POP H
POP D
POP B
POP PSW



COPY C.0


H = B

L = C

RET

COPY C.0


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 29

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 Đây là chương trình con chép đoạn dữ liệu trùng nhau
như hình vẽ.









bc



Input : Nạp đòa chỉ đầu của vùng gốc vào HL
Nạp đòa chỉ cuối của vùng vào BC
Thanh ghi D lấy dữ liệu từ Add
copy+2

Thanh ghi E lấy dữ liệu từ Add
copy+3

Output : Không thay đổi nội dung các thanh ghi.


GỐC




ĐÍCH



COPY C.1

DE

BC

HL

×