VXL–BT ôn kim tra gia hc k – Trang 1
ĐHBK Tp HCM – Khoa ĐĐT–BMĐT
Môn hc: Vi X
GVPT: H Trung M
Các bài tp ôn kim tra gia hc k 2 – NH:2011-2012
1. Cho mch gii mã địa ch như hình v.
a) Xác định vùng địa ch ca các ngõ ra /Yi ca IC gii mã
b) T mch gii mã trên, s dng thêm các cng logic cn thiết để to ra các tín hiu chn chip /CS0
(64K), /CS1(8K), /CS2 (2K) (gii mã đầy đủ). V hình trc tiếp lên mch gii mã phía trên
c) Ch s dng cng logic, thiết kế mch gii mã địa ch ngoi vi có tính cht sau
- Ngoi vi có tín hiu chn cng SEL tích cc cao
- địa ch 2780H ÷ 27FFH (vi x lý có 16 bit địa ch A0, .., A15 )
2. Kho sát VXL Z80:
a) Lnh nhy JP LOOP có mã máy (Opcode) cha trong b nh chương trình ln lượt là C3H, 5DH,
3CH. Như vy nhãn LOOPđịa ch là bao nhiêu? Ti sao?
b) Các ô nh ca b nh có ni dung như hình v. Vi SP = C02AH , nếu sau đó thc hin lnh POP DE,
thì ni dung ca các thanh ghi D, E là bao nhiêu? Gii thích.
Địa ch Ni dung
Chú ý: Hiu ng ca lnh POP HL như sau
L (SP)
SP SP + 1
H (SP)
SP SP + 1
c) Cho đon chương trình, c CY = 0 và ni dung các ô nh như câu b. Khi thc hin xong đon chương
trình thì ni dung ca thanh ghi AB là bao nhiêu? (Gii thích ngn gn)
LD B, 3
LD A, 0A5H
LD HL, 0C028H
LOOP: ADC A, (HL)
INC HL
DJNZ LOOP
HALT
3. Viết chương trình bng hp ng Z80:
C
A(LSB) Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G2A
G1
B
G2B
A19
A17
A14
A15
A16
A18
C028
H
C029
H
C02A
H
C02B
H
C02C
H
9
4
H
D
5H
0H
6
AH
3
FH
VXL–BT ôn kim tra gia hc k – Trang 2
a) Viết chương trình con TINH có nhim v kim tra ni dung thanh ghi B có ln hơn hoc bng ni
dung thanh ghi C hay không? Nếu đúng thì ly ni dung thanh ghi B tr ni dung thanh ghi C; ngược
li thì ly ni dung thanh ghi C tr thanh ghi B. Kết qu ct vào thanh ghi D.
b) Cho trước 1 chương trình con có tên là CHIA có nhim v ly ni dung thanh ghi D chia cho ni dung
thanh ghi E. Kết qu phn nguyên sau khi chia (thương s) ct vào thanh ghi D và phn dư ct vào
thanh ghi E. S dng chương trình con CHIA viết chương trình để thc hin vic kim tra chui d
liu cha trong RAMđịa ch đầu là A000H, chiu dài ca khi d liu là ni dung ô nhđịa ch
9FFFH (gi s khác 0). Chương trình có nhim v kim tra xem có bao nhiêu ô nh mà ni dung ca
chia hết cho 15. Kết qu đếm được lưu vào ô nhđịa ch 9FFEH.
4. Cho mch gii mã địa ch như hình v.
a) Xác định các vùng địa ch ca các ngõ ra /Yi
b) T mch gii mã trên, s dng thêm các cng logic cn thiết để to ra các tín hiu chn chip /CS0
(8K), /CS1(16K), /CS2 (4K) có địa ch liên tiếp nhau và có địa ch đầu là địa ch đầu ca ngõ ra
/Y3 (v hình trc tiếp trên mch gii mã).
c) H vi x lý có bus địa ch dành cho ngoi vi là A0 ÷ A7, ngoi vi có tín hiu chn cng /CS tích
cc thp; s dng cng logic thiết kế mch gii mã địa ch cho tín hiu chn ngoi vi /CSđịa
ch B8H ÷ BFH.
5. Kho sát VXL Z80:
a) Cho đon chương trình Z80, cho biết 3 lnh đầu tiên trong vòng lp LOOP có các phương pháp định
địa ch nào?
Đon chương trình Phương pháp định địa ch
LD B, 0
LD IX, TABLE
LOOP: LD A, (IX + 0)
BIT 7, A
JR NZ, EXIT
INC IX
INC B
JR LOOP
EXIT: HALT
TABLE: DEFB 20H
DEFB 45H
DEFB 90H
DEFB 0FH
DEFB 0B0H
……………………………………………………………
…………………………………………………………....
……………………………………………………………
b) Khi thc hin xong đon chương trình trên thì ni dung ca thanh ghi AB là bao nhiêu? (Gii thích
ngn gn)
C
A(LSB) Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G2A
G1
B
A19
A17
A14
A15
A16
A18 G2B
VXL–BT ôn kim tra gia hc k – Trang 3
6.
b) Viết chương trình con NHAN có nhiêm v nhân ni dung thanh ghi B vi giá tr 13; kết qu (gi s
không vượt quá 8 bit) xut ra ngoi vi có địa ch là ni dung ca thanh ghi C.
Chú ý: chương trình không được s dng vòng lp mà s dng tính cht ca s nh phân
B x 13 = B x (8 + 4 + 1) = B x 8 + B x 4 + B
7. a) Leänh CALL CTCON ñöôïc chöùa töø oâ nhôù coù ñòa chæ laø 40F2H, nhaõn CTCON coù ñòa chæ laø A50EH.
Thanh ghi SP coù noäi dung laø 2000H. Khi thöïc hieän chöông trình naøy thì noäi dung cuûa thanh ghi PC, SP vaø 2
oâ nhôù ñònh vuøng stack coù ñòa chæ (SP) vaø (SP+1) coù giaù trò laø bao nhieâu.
b) Cho chương trình con có tên là SO_BIT1 có nhim v tính tng s bit 1 có trong thanh ghi D và kết qu
ct vào thanh ghi E. Viết đon chương trình s dng chương trình con trên để thc hin vic kim tra ni dung
chui d liu có địa ch đầu là 6000H, chiu dài ca khi d liu là ni dung ô nh 5FFFH (gi s khác 0);
xem có bao nhiêu ô nh có s bit 0 và bit 1 bng nhau, đồng thi xóa các ô nh đó. Sau đó ct s ô nh đã xóa
vào ô nhđịa ch 5FFEH.
8. Cho maïch phaân vuøng boä nhôù söû duïng IC74138 nhö hình veõ.
a) Xaùc ñònh caùc vuøng ñòa chæ caùc ngoõ ra /Yi cuûa IC giaûi maõ
b) Töø maïch treân thöïc hieän vieäc giaûi maõ cho caùc tín hieäu choïn chip coù; caùc tín hieäu choïn chip naøy coù
ñòa chæ lieân tuïc nhau vaø coù ñòa chæ ñaàu laø ñòa chæ ñaàu cuûa vuøng /Y0 (Veõ hình tröïc tieáp treân maïch vaø
xaùc ñònh vuøng ñòa chæ cuûa moãi tín hieäu choïn chip): /CS0 (4K), /CS1(2K), /CS2(8K)
c) Haõy thieát keá maïch giaûi maõ ñòa chæ ngoaïi vi /IOSEL duøng coång logic coù vuøng ñòa chæ 9AH ÷ 9DH
(giaûi thích ngaén goïn).
9.
a) Thiết kế b nh RAM 8KB (có đầy đủ các tín hiu địa ch, data, /CS, /OE và /WE) bng các b nh
RAM như hình v. (V sơ đồ kết ni)
a) Sau khi thc hin lnh CALL CTCON, chương
trình Z80 chuyn ti CTCON thc hin các lnh trong
chương trình con cho ti khi thc hin lnh RET (trước
lnh này thanh ghi SP có ni dung là 8000H; 2 ô nh
đỉnh vùng stack (8000H) = 60H và (8001H) = 2AH).
Hãy cho biết sau khi thc hin lnh RET, ni dung thanh
ghi PC và SP là bao nhiêu? (gii thích ngn gn). Như
vy lnh gi chương trình con CALL CTCON được cha
trong ô nhđịa ch đầu là bao nhiêu? (Ti sao?)
………..
CALL CTCON
………..
………..
CTCON: ………..
………..
RET
C
A(LSB)
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G2A
G1
B
G2B
A18
A14
A13
A12
A19
A17
A16
A15
VXL–BT ôn kim tra gia hc k – Trang 4
b) Cho ñoaïn chöông trình Z80 nhö sau, haõy tìm maõ leänh cuûa ñoaïn chöông trình naøy
Ñoaïn chöông trình Maõ leänh (soá HEX)
LD A, 14
LD B, 6FH
SUB B
XOR A
ADC A, B
..............................................
……………………………………………………….
……………………………………………………….
……………………………………………………….
10. a) Cho biết ni dung các thanh ghi và các c sau khi thc thi các lnh sau (ch ghi các tr thay đổi):
b) Cho biết ni dung các thanh ghi và các trng thái c sau khi thc thi các lnh sau (ch ghi các tr
thay đổi). Cng PORT1 nhn giá tr gì?
VXL–BT ôn kim tra gia hc k – Trang 5
11. a) Viết chương trình cng dn các byte ca mt mng, khi có nh thì dng vic cng và tr bt byte
va mi cng vào. Xut kết qu ra cng xut được định nghĩa vi nhãn OUTPUT1.
TD: Table: DB 89H, 32H, 2BH, 7AH, 0B5H, 68H, 2FH,…
b) Sa li chương trình trên để hin th thêm s byte được cng vào (không k byte b loi tr ra khi có
nh), xut ra cng xut được định nghĩa vi nhãn OUTPUT2.
12. Tìm các li trong các đon chương trình sau và hiu chnh cho đúng như yêu cu:
a) Cng 2 s 1 byte (06H và 52H) và xut tng ra PORT7
LD B, 06H
LD C, 52H
ADD A, B
ADD A, C
OUT (07H), A
HALT
b) Cng 5 byte trong b nh bt đầu t 2050H, biết tng < 255.
SUB A
LD HL, 2050H
LOOP: LD B, 05H
ADD A, (HL)
INC HL
DEC B
JR NZ, LOOP
HALT
c) Sao chép 100H byte d liu t vùng nhđịa ch đầu là 2100H đến vùng nhđịa ch đầu là
2800H LD HL, 2100H
LD BC, 2800H
LD DE, 0100H
NEXT: LD A, (HL)
LD (BC), A
INC HL
INC BC
DEC DE
JP NZ, NEXT
HALT
13. a) Cho biết ni dung ca các thanh ghi BC và SP sau khi thc thi các lnh sau:
LD SP, 20F5H
LD HL, 2055H
PUSH HL
POP BC
b) Cho biết ni dung ca các thanh ghi SP và các ô nh 2090H 2099H sau khi thc thi các lnh sau:
LD SP, 209AH
XOR A
LD H, A
LD L, A
LD B, 05H
LOOP: PUSH HL
DEC B
JP NZ, LOOP
c) Đọc đon chương trình sau và tr li các câu hi:
LD SP, 84F9H
LD HL, 8138H
LD BC, 0001H
LD DE, 235AH
LD A, D
OR A
PUSH HL
PUSH AF
PUSH BC
. . .