ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
VI X LÝỨ
Ọ
ố ộ. ặ
H C TRÌNH I 1.Các đ c tính nâng cao t c đ a. K thu t đ
ỹ ộ ệ ự ệ ự ậ ườ + Thông th ả ng ng. ố ng khi th c hi n xú lý m t l nh. b vi xú lý th ườ ườ i mã l nh và th c hi n l nh. Khi áp d ng k thu t đ ậ ườ ệ ể ỹ ủ i mã l nh c a l nh này thì b vi x lý có th ti p t c đ c mã l nh c a ứ ự ệ ạ ả ệ ệ ệ ủ ệ ề ứ ệ ế ng th c hi n 3 thao tác: ệ ng ng b trong khi ộ ố ể ế ụ ọ ủ ộ ộ ụ ộ ố ộ ứ
đ c mã l nh , gi ệ ọ chuy n sang giai đo n gi l nh ti p theo. Làm vi c theo dây chuy n nh v y thì t c đ x lý c a b vi x lý tăng lên r t ấ ư ậ ệ nhanh. b. X lý song song ứ c th c hi n b ng cách k t h p hai ượ ệ ằ ế ợ ự ả ộ ề i v i nhau. ạ ớ ứ + g m hai hay nhi u quá trình x y ra cùng m t lúc, đ ồ hay nhi u b vi x lý l ề ọ c. Đ ng x lý. ứ ồ + nh m m c đích tăng t c đ và đ chính xác đ i v i các phép toán , ng ộ ố ộ ố ớ ụ ằ ườ i ta m c thêm ắ ộ ộ ồ ố ứ ộ m t b đ ng x lý toán h c vào kh i x lý trung tâm. ọ ứ d. B nh d tr ớ ự ữ ọ ấ ớ ể ằ ướ ạ ộ ượ ấ ằ ộ ố ọ ứ ứ ấ ẽ ộ ớ ẽ ế ộ ớ + còn g i là b nh n(cache) nh cache có t c đ x lý r t cao. Có th n m bên trong ộ ớ ẩ b vi x lý(dung l ứ c tiên b vi x ng th p) hay n m bên ngoài b vi x lý. Khi ho t đ ng tr ộ ứ ọ lý s tìm ki m l nh trong b nh cache.n u không tìm th y s tìm trong b nh chính. ệ ế 2. Hệ vi x lýứ
Bus d li u ữ ệ
Bus đi u khi n ể ề
Thi t b vào ế ị
B nhộ ớ (M) ROM/RAM Ph i ghép ố vào/ra (I/O) Kh i x lý ố ứ trung tâm (CPU)
Thi t b ra ế ị
Bus đ a ch ỉ ị
ố ứ a. Kh i x lý trung tâm (CPU) + là m t vi m ch đi n t có đ tích h p r t cao.là trung tâm tính toán và đi u hành h ệ ử ạ ộ ợ ấ ề ộ ệ
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
th ng.ố
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
ề i mã l nh thành các xung đi u ệ ệ ả i mã. ạ ộ ể + Khi ho t đ ng CPU đ c mã l nh t ổ b nh . Sau đó gi ả ừ ộ ớ ệ ự ệ
ọ khi n, đi u khi n các kh i khác th c hi n các l nh mà nó gi ể ề b. B nh . ớ ộ ồ ộ * g m b nh ROM và RAM ớ + B nh ROM ch a các ch ươ ứ ề ạ ộ ệ ố ủ ể ỉ có kh năng đ c, khi m t ngu n thì d li u trong ROM không b m t. ả ấ ồ ng trình. ộ ứ ộ ớ ọ ớ ng trình đi u khi n ho t đ ng c a toàn h th ng. ROM ch ữ ệ ị ấ ng trình ng d ng , d li u và k t qu c a ch ữ ệ ả ủ ươ ứ ụ ế + B nh RAM ch a các ch ươ ồ ữ ệ ẽ ị ấ ố + là c u n i giao ti p gi a b vi x lý và các thi t b ngo i vi. Cho phép ghi và đ c , khi m t ngu n thì d li u s b m t. ấ ọ c. Ph i ghép vào/ra ố ữ ộ ứ ế ầ ế ị ạ d. Bus truy n thông tin. ề
ô nh ữ ệ ừ ớ ứ ẽ ặ ị ỉ mà CPU yêu c u đ n CPU đ CPU th c hi n x lý. ự + Bus đ a ch có tính m t chi u , t c là ch có CPU m i có kh năng đua ra đ a ch trên Bus * Bus đ a ch ỉ + Khi đ c ho c ghi CPU s đua ra đ a ch , Bus đ a ch có ch c năng đua d li u t ị ỉ ệ ứ ỉ ị ọ ầ ị ể ộ ể ỉ ứ ề ả ớ ị ỉ đ a ch . ỉ ị
* BUS d li u. + Bus d li u có tính 2chi u nghĩa là có th truy n d li u đi t ữ ệ ữ ệ ề ữ ệ ề ể ừ ữ ệ CPU ho c đua d li u ặ đ n CPU. ế
ự ế ề ể ệ ố ố * Bus đi u khi n ể ề + Chuy n tín hi u đi u khi n t ệ ể ậ + Khi ho t đ ng CPU đ a tín hi u đ n các kh i khác trong h . đòng th i nó cũng nh n CPU đ n các kh i khác đ các kh i đó th c hi n. ể ừ ệ ư ệ ố ờ tín hi u t các kg i đó đ đi u ch nh ho t đ ng ạ ộ ố ệ ừ ể ề đây không c a m t tín hi u mà là ề ế ạ ộ ư ề ở ủ ệ ộ ỉ + Bus đi u khi n có tính hai chiêu f nh ng hai chi u ộ ể c a m t nhóm tín hi u. ủ ệ
2. B vi x lý 8088 ứ ộ . * C u trúc ấ
Bus n iộ
Bus ngoài
EU
BIU
Ð m l nh
ệ
ệ
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
ệ ự ự ệ ả i mã l nh và th c hi n l nh. ể ệ ệ ọ ượ ằ ệ ệ ự c n m s n đ ẵ ch EU x lý. b đ m l nh làm vi c theo ki u vào tr c ra tr c. ờ ứ ệ ể ứ ướ ộ ệ ể + Trong EU có kh i đi u khi n CU(control units) CU g m m ch gi + BIU th c hi n vi c đoc mã l nh còn EU th c hi n vi c gi ệ ệ + Trong BIU có m t b nh đ m l nh. Dùng đ ch a các mã l nh đ c đ ệ ộ ộ ớ ệ ệ ổ ướ ồ ề ạ ệ ể c đ a đ n đ u vào c a b gi ệ ả ệ ầ c đua đ n m ch t o xung đi u khi n.các xung náy đ đ m l nh đ ượ ư ế ệ ừ ệ ể ề ạ ạ i mã l nh và m ch ệ i mã tín hi u c đua đ n các kh i khác nhau. Trong ố ả i mã, sau khi gi ế ủ ộ ả ượ ế t o xung.mã l nh t ạ đ ạ ượ EU còn có kh i s h c và logic. ố ố ọ ộ ố + Trong EU còn có m t s các thanh ghi : + cách qu n lý c a 8088 là dung 1 không gian nh 1M đ chia ra làm nhi u vùng khác ủ ể ề ả ớ nhau.
ạ * Thanh ghi đo nạ : + thanh ghi đo n CS(code segmen) : thanh ghi ch a đo n mã ch ủ + Thanh ghi đo n DS(data segmen) : thanh ghi ch a d li u và k t qu trung gian c a ứ ứ ữ ệ ng trình. ả ươ ế ạ ạ ch ng trình. ươ ế ạ ạ ủ + Thanh ghi đo n SS(stack segmen) : thanh ghi đo n ngăn x p. ạ + Thanh ghi đo n ES(extra segmen) : thanh ghi ph . ụ - N i dung c a các thanh ghi d on này là đ a ch đ u c a các đo n trong không gian nh . ớ ị ỉ ơ - N i dung các thanh ghi đo n s xác đ nh đ a ch ô nh n m đ u đo n.g i là đ a ch c ị ỉ ầ ủ ỉ ạ ạ ẽ ạ ọ ạ ầ ớ ằ ộ ộ ị ị s .ở ớ ỉ ẽ ượ ỉ ơ ở ộ c tính b ng đ a ch các c ng thêm vào đ a ch c s m t ằ ộ ị ỉ ị ị giá tr g ip là đia ch l ch. Còn đ a ch các ô nh khác s đ ỉ ệ ị ọ ỉ ị ỉ ự ề ị ể ấ ớ ệ ị ỉ ng là thanh ghi l ch. ạ ạ ộ ỉ ậ ệ ằ ị ị ỉ ỉ ậ ệ ị + Đ a ch logic : là vi c dùng hai thanh ghi đ ghi nh thông tin v đ a ch th c ch t. Đ a ch logic = thanh ghi đo n:thanh ghi l ch. ệ + Đ a ch v t lý : b ng đ a ch thanh ghi đo n c ng thêm m t l ộ ượ Đ a ch v t lý = thanh ghi đoan x16 + thanh ghi l ch. * Thanh ghi c FRờ ủ + Là thanh ghi mà m i bit c a nó dùng đ phán ánh m t tr ng thái nh t đ nh c a ể ấ ị k t qu phép toán do ALU th c hi n. ho c m t tr ng thái ho t đ ng c a EU. ế ộ ạ ạ ộ ự ả ỗ ệ ủ ặ ộ ạ ủ - Các c tr ng thái : ờ ạ ớ ặ b ng 1 khi t ng s bit trong k t qu là ch n. ổ ượ ế ờ ẵ ẻ ằ ả ẵ ớ ụ ằ ượ
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
t ra ngoài gi i h n bi u di n c a nó. ố ớ ả ằ ả ả ượ ớ ạ ễ ủ ễ + CF(carry flag) : băng 1 khi có nh ho c có m n. + PF : c ch n/l + AF : cò nh ph . b ng 1 khi có nh hay m n tr . ừ + ZF : c r ng băng 1 khi k t qu b ng 0. + SF : c d u . b ng 1 khi k t qu là s âm. ố + OF : c tràn b ng 1 khi k t qu là m t s bù 2 v ộ ố ể ế ờ ỗ ế ằ ờ ấ ằ ờ ế - Các c đi u khi n. ờ ề ờ ẫ ệ ở ế ọ ạ ừ ầ trái sang ph i. ch đ ch y t ng l nh. + TF(trap) : c b y b ng 1 thì CPU làm vi c ệ ằ + IF : c ng t băng 1 thì CPU cho phép các yêu c u ng t đ c tác đ ng. ộ ắ ượ t theo th t ng b ng 1 thì CPU làm vi c theo chu i ký t + DF : c h ự ờ ắ ờ ướ ứ ự ừ ệ ằ ỗ ả
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
ừ ộ ệ ỗ ứ c a b vi x lý đ ủ ộ b nh bên ngoài vào đ m l nh : trong giai đo n này m i chân ể ụ ụ ệ ớ ộ ạ ủ 3. Chu trình l nhệ . * Đ c mã l nh ệ + Đ c mã l nh t ệ ệ đ ph v cho vi c đ c mã l nh. t l p m t tr ng thái nh t đ nh. c thi ế ậ ố ộ ấ ị ạ + D a vào n i dung c a thanh ghi đo n CS và thanh ghi con tr l nh IP kh i BIU i mã c đ a ch c a ngăn nh ch a l nh. Và BIU đua l nh đ n đ m l nh ch kh i EU gi ạ ệ ọ ỏ ệ ờ ớ ứ ệ ệ ế ệ ệ ả ố ệ ệ
i kh i CU c a EU đ gi ủ ệ ằ ệ c đ a t ượ ư ớ ệ ố ộ ớ ể ề ệ ể ả ọ ọ ượ ự tìm đ ượ ị ỉ ủ và th c hi n l nh. ự i mã l nh * Gi ả mã. Sau khi + mã l nh n m trong đ m l nh đ ể ả ệ i mã tín hi u đ gi c dung đ đi u khi n trong vi c dùng b nh hay thiét b ngo i vi, h c là ặ ạ ị ệ ượ quá trình đ c hay ghi. ọ
mã các tín hi u đ ệ ệ ả ệ c phân ra thành các xung đi u khi n đ th c hi n ệ ượ ể ự ề ể ệ ộ * Th c hi n l nh ự + Sau khi gi m t nhi m v nh t đ nh. ụ ấ ị + Tuỳ theo t ng lo i l nhthòi gian th c hi n l nh có th kéo dài 1 hay nhi u chu ệ ệ ừ ề ể ạ ệ kỳ máy, m t chu kỳ máy có th kéo dài m t hay nhi u chu kỳ đ ng h . ồ ự ề ể ộ ộ ồ ạ ươ ự ườ ớ ộ ng trình con thì CPU t m ng ng ch 4. Tr ng thái ng t ắ + Khi th c hi n m t ch ộ ươ ạ ầ ng . và khi ể ự ệ c yêu c u đ làm m t ch ể ng trính con. Sau khi xong ch ng trìn con thì CPU l ng trình chính đ th c hi n ệ ể ế ng trình chính đ ti p ng trình l n CPU v n làm vi c bình th ệ ẫ đ ươ ừ ượ i quay v ch ch ề ươ ạ ươ ưư t c công vi c đang b gián đo n. cách làm vi c nh v y g i là ng t CPU ắ ọ ụ ư ậ ệ ệ ạ ị + g m hai chân ồ c s cho phép c a c ng t IF = 1 thì CPU ủ ờ ắ chuy n sang tr ng thái ng t.(g i là ng t che đ ượ ự c) ể ạ ắ ọ + INTR : b ng 1 và đ ằ ượ ắ ằ ầ + NMI : b ng 1 thì CPU chuy n sang tr ng thái ng t mà không c n ạ c) quan tâm t ắ i c nh IF(t c là không ph thu c vào IF) (g i là ng t không che đ ộ ể ọ ượ ắ ớ ờ ụ ớ ứ 5. Các lo i ng t trong vi x lý 8088 ứ ạ ắ
* D a vào nguyên nhân gây ng t ta chia làm 3 lo i ạ ầ ự ắ ứ ắ ắ ế ị ầ ứ ầ + Nhóm ng t c ng : là các yêu c u ng t CPU do thi ầ ượ ử ế t b ph n c ng c n ph c v . ụ ụ c g i đ n các chân INTR và NMI c a 8088 ủ ầ ắ - Tín hi u yêu c u đ c - Ng t c ng INTR là yêu c u ng t che đ ượ - ng t c ng NMI là yêu c u ng t không che đ c. ầ c các ch + Nhóm ng t m m : là yêu c u ng t đ ệ ắ ứ ắ ứ ầ ắ ng trình ươ ượ ử ụ đ yêu c u các s d ng ể ầ ắ ượ ắ ph c v ề ụ ụ c a h th ng. ủ ệ ố + Nhóm ng t ngo i l ạ ệ ắ : là các ng t do các l ắ ỗ ả ủ i n y sinh trong trong quá trình ho t đ ng c a ạ ộ CPU. * Các ch ươ
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
ng trình con ph c v ng t : ụ ụ ắ ố ệ + INT 0 : ngát ndo phép chia s 0 gây ra + INT 1 : ng t đ ch y t ng l nh khi TF = 1 ắ ể ạ ừ
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
i chân NMI gây ra ng trình t i m t đ a ch nào + INT 2 : ng t ng v i tín hi u c c đ i t ớ + INT 3 : ng t đ ddawtj đi m d ng c a ch ủ ệ ự ạ ạ ể ắ ứ ắ ể ươ ừ ạ ộ ị ỉ đó.
ắ - các ng t dành cho ng ờ i s d ng ườ ử ụ ứ ấ ớ ộ i s d ng + INT 4 : ng t khi c tràn OF = 1 ắ + INT 5-1FH : dành riêng cho Intel v i các b vi x lý cao c p khác. + INT 20H-FFH : dành cho ng ườ ử ụ
0
6. Đáp ng c a 8088 khi có yêu c u ng t ắ ứ ầ ắ ế ủ ế ấ ậ ầ ự th c hi n nh sau : ủ + Khi có yêu c u ng t đ n chân N c a CPU và n u CPU ch p nh n thì trình t ư ự ệ ấ ế + C t thanh ghi c vào đ nh ngăn x p ỉ ờ SP ‹ SP-2 , SS:SP ‹ FR ch đ bình + C m các ng t khác tác đ ng vào CPU , cho CPU ch y ộ ạ ở ế ộ ấ ắ th ng ườ ‹ ‹
IF ấ ị
,0 ỉ
TF ạ
SP
SP
,2
SS
:
+ C t đ a ch đo n và đ a ch l ch c a đ a ch tr v vào đ nh ngăn x p ế ỉ ở ề ủ ị ỉ ‹ - ‹ ị SP ỉ ệ CS
,2
IP
SS
‹ - ‹
SP SP : i đ a ch m i c a ch ỉ ớ ủ ạ ị ươ ng trình chính t
ươ ụ ụ ắ ộ ng trình con ph c v ng t khi g p l nh IRET , b VXL ờ ượ c i đ a ch tr v và v i giá tr cũ c a thanh ghi c đ ng trình con ph c v ng t ụ ụ ắ ặ ệ ị ỉ ở ề ạ ị ủ ớ quay l l y ra t ấ ế ứ ư + N u t
SP + L y l nh t ấ ệ + T i cu i ch ố ạ ch ạ ươ ngăn x p. ừ 7. X lý u tiên khi ng t ắ ờ ế ạ
ộ ề ạ ắ ầ ắ ộ i m t th i đi m có nhi u yêu c u ng t thu c các lo i ng t khác nhau cùng yêu u tiên. Nguyên t c là các yêu ụ ụ ắ ắ c CPU ph v tr c. ứ ự ư ụ ụ ướ ơ ể c u CPU ph c v thì CPU s x lý các yêu c u ng t theo th t ẽ ứ ầ c u ng t nào có m c u tiên cao h n thì s đ ắ ầ + Các lo i ng t có m c u tiên t ầ ẽ ượ cao đ n th p là : ế ạ ừ
c : NMI
ượ ứ ư ứ ư ắ ấ + Ng t n i b : INT 0, INT N….. ắ ộ ộ + Ng t không che đ ắ + Ng t che đ ắ + Ng t đ ch y t ng l nh : INT 1 ắ ể ạ ừ ượ c : INTR ệ
ủ ạ ộ ầ + Khi có yêu c u ng t t t b ngo i vi tác đ ng vào m t trong các chân IR c a 8259A, ớ ắ ừ 8. Ho t đ ng c a 8088 v i 8259A khi có yêu c u ng t ắ ộ ế ị ạ ầ ộ ủ
ủ ế
thi c đ a đ n chân INTR c a 8088 ầ ầ ư ể ấ t các x lý n i b ứ ộ ộ thì INT = 1 s đ ẽ ượ ư ế INTA đ u tiên đ n 8259A + 8088 đ a ra xung ư + 8259A dùng xung INTA đ u tiên đó nh là thông báo đ nó hoàn t
c n ầ tế
INTA th hai đ n 8259A
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
thi + 8088 đ a ra xung ư ứ ế
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
d li u ứ ư ắ ữ ệ thông tin v ề s hi u ng t ố ệ + Xung INTA th hai khi n 8259A đ a ra trên BUS ế
Ọ
t ế ng t t c aủ yêu c u ng t v a đ ắ ừ ượ ầ ố ệ c nh n bi ậ ắ ể ơ ắ ươ ứ ỉ ị ấ ị ờ ng trình ph c v ng t và th c hi n ch ng trình đó. ng ng. + 8088 dùng s hi u ng t đ tính ra đ a ch véct + 8088 c t FR , xoá c IF và TF và c t đ a ch tr v vào ngăn x p ế + 8088 l y đ a ch CS:IP c a ch ươ ỉ ở ề ụ ụ ắ ấ ấ ự ủ ệ ỉ ị ươ
H C TRÌNH II
Tb1 DB 10,13 ‘kiem tra cac bit trong
ng trình nh p m t ký t ậ
ộ
ự
và hi n th ể
ị
ươ
thanh ghi AL : $’
Tb2 DB 10,13 ‘ BL bang : $’
.Code MAIN proc
1. Vi t ch ế đó lên màn hình. ký t ự .Model small .Stack 100h .data
Tb1 DB 10,13 ‘nhap mot ky tu : $’ Tb2 DB 10,13 ‘hien thi ky tu : $’
.Code MAIN proc
Mov AX,@data Mov DS,AX Mov AH,1 LEA DX,Tb1 INT 21H Mov CL,1 ROL AL,CL JC cv2 ROL AL,CL JC cv3 ROL AL,CL JC cv4 JMP tiep
cv2 : Mov BL,8 cv3 : Mov BL,7 cv4 : Mov BL,4 Tiep : Mov AH
Mov AX,@data Mov DS,AX Mov AH,9 LEA DX,Tb1 INT 21H Mov AH,1 INT 21H Mov BL,AL Mov AH,9 LEA Tb2 INT 21H Mov DL,BL Mov AH,2 INT 21,H Mov AH,4CH INT 21H
MAIN ENDP END
t ch
LEA DX,Tb2 INT 21H Mov DL,BL Mov AH,2 INT 21H Mov AH,4CH INT 21H
ế
ự
ươ
ng trình th c hi n công vi c ệ
ệ
MAIN Endp END MAIN
ư
ế sau đó hi n th mã ASCII(d
ự
t ch ong trình nh p vào m t ộ ị
ậ i d ng nh ướ ạ
Câu 3 : vi ể
ị
2. Vi N u : AL7 = 1 thì BL = 8 ế N u : AL6 = 1 thì BL = 7 ế N u : AL5 = 1 thì BL = 4 ế .Model small .Stack 100h .Data
ký t phân) lên màn hình. .Model small .stack 100h
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
.Data
Tb1 DB 10,13, ‘nhap mot ky tu:$’ Tb2 DB 10,13,‘ma ASCII cua no:$’
.Code MAIN Proc
CMP AL,61H JB LAP CMP AL,7AH JA LAP Mov BL,AL Mov AH,9 LEA DX,Cv2 INT 21H SUB BL,20H MOV BL,DL MOV AH,2 INT 21H MOV AH,4CH INT 21H
MAIN Endp END MAIN
Mov AX,@data Mov DS,AX Mov AH,9 LEA DX,Tb1 INT 21H Mov AH,1 INT 21H Mov BL,AL Mov AH,9 LEA DX,tb2 INT 21H Mov CL,8 Mov AH,2
ế
Lap: XOR DL,DL
2
+
ng trình nh p vào m t ộ ậ ệ +
n
t ch ự 2 2
và hi n th k t qu
ả
ị ế
ổ ể
ROL BL,1 ADD DL,30H INT 21H CMP CL,0 JE lap Mov AH,4CH INT 21H
t ch
ộ
ế
ng sau đó đ i thành ch hoa và hi n th lên
ự ị
ể
ườ
ng trình nh p vào m t ký t ươ ổ
.
ậ ữ ợ ệ
Câu 5 Vi ươ s (0-9) , th c hi n tính t ng ố = + 2 1 Z .... 9£Z n u ế .Model small .stack 100H .data Cv1 DB 10,13, ‘nhap vao mot so n:$’ Cv2 DB 10,13, ‘ tong binh phuong tu mot den n la : $’ .Code MAIN Proc
MAIN Endp END MAIN Câu 4. Vi th màn hình.có ki m tra tính h p l ể .Model small .Stack 100H .Data Cv1 DB 10,13, ‘nhap vao mot ky tu:$’ Cv2 DB 10,13, ‘doi thanh chu hoa : $’ .Code MAIN Proc
Mov AX,@data Mov DS, AX
LAP: Mov AH,9
LEA DX,Cv1 INT 21H Mov AH,1 INT 21H
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
MOV AX,@data MOV DS, AX MOV AH,9 LEA DX,Cv1 INT 21H MOV AH,1 INT 21H SUB AL,30H CMP AL,9 JA thoat CMP AL,0 JB thoat MOV CL,AL
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
MOV BX,0 Lap: CMP CL,0
JE Hien MOV AL,CL MOV AL,CL MUL AL ADD BX, AX DEC CX JMP Lap Hien: CMP BL,9 INT 21H MOV AH,1 INT 21H SUB AL,30H CMP AL,0 JB THOAT CMP AL,9 JA THOAT CMP BL,AL JNB TIEP MOV BL,AL TIEP : DEC CX
JA thoat MOV AH,9 LEA DX,Cv2 INT 21H MOV DX,BX ADD DX,30H MOV AH,2 INT 21H Thoat: MOV AH,4CH INT 21H
CMP CX,0 JE NHAP MOV AH,9 LEA CV3 INT 21H MOV AH,2 MOV DL,BL INT 21H THOAT: MOV AH,4CH INT 21H MAIN Endp END MAIN
MAIN Endp END MAIN
6. Viet chuong trinh nhap vao 5 so co mot chu so sau do hien thi so lon nhat len man hinh .Model small .Stack 100h .Data CV1 DB 10,13, ‘nhap vao 5 so : $’ CV2 DB 10,13 CV3 DB 10,13, ‘so lon nhat la : $’ .Code MAIN Proc
MOV AX,@data MOV DS,AX MOV AH,9 LEA DX,CV1 INT 21H MOV BL,0 MOV CX,5
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
NHAP : MOV AH,9 LEA DX,CV2
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
H C TRÌNH III
Ọ
BÀI T P : Ậ
1. S d ng 74LS138 đ dành riêng vùng nh 32kb cho đ a ch 00000h-07FFFh cho
ử ụ
ể
ớ
ị
ỉ
ạ * S đ
(
)
vi m ch SRAM 4KB ng đ a ch ỉ ị ố ườ + áp d ng công th c : n =
log 2 ik trong đó ik là dung l
ụ
ứ
ượ
ố ng c a b nh c n ph i
ủ ộ
ớ ầ
ghép.
10
12
=
=k
4
2
log
= 12
2
2
2
ị
ấ
ấ
ỉ
log 2.4 log ng đ a ch . ỉ ị ườ * Đ a ch byte th p nh t, đ a ch byte cao nh t. ỉ ị ấ ấ ấ
ườ
ng đ a ch t ị
ỉ ươ ứ ng ng
có 3 t
ấ
ỉ
ả
ậ
ị Ị
Ỉ
n = + V y có 12 đ ậ ỉ + Đ a ch byte th p nh t : 0000 0000 0000 = 000h (có 12 đ ị h p 0000 ) ổ ợ + Đ a ch byte cao nh t : 1111 1111 1111 = FFFh ị ỉ VÙNG Đ A CH 00000h-00FFFh 01000h-01FFFh 02000h-02FFFh 03000h-03FFFh
* L p b ng phân vùng đ a ch , tìm quy lu t truy c p. ậ RAM #1 # 2 #3 #4
ậ #5 #6 #7 #8
04000h-04FFFh 05000h-05FFFh 06000h-06FFFh 07000h-07FFFh
ị
ỉ ầ
ớ ế
ộ
ố
Chú ý : đ a ch đ u đ bài đã cho.mu n tìm vùng nh ti p theo ta c ng thêm 00001h, và mu n tìm vùng nh c a RAM ta c ng thêm đ a ch byte cao nh t.
ố
ề ớ ủ
ấ
ộ
ỉ
ấ
ộ
ớ
ị + VD: tìm #2 ta c ng 00FFFh v i 00001h = 01FFFh sau đó l y 01FFFh c ng v i ớ FFFh ta đ
ộ c 01000h.
ượ
ậ
* Tìm quy lu t truy c p : ậ Làm ngoài nháp.
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 1 1
0 0 0 0 0 0
0 0 0 0 0 0
A19 A18 A17 A16 A15 A14 A13 A12………………..A0 0……………………0 0 0 00000h 0…………………….1 0 0 00FFFh 1……………………..0 0 0 01000h 1……………………..1 0 0 01FFFh 0……………………..0 0 0 02000h 02FFFH 0……………………..1 0 0 ……………………………………………………………………………………. …………………………………………………………………………………….
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
0 0
0 0
1 1
1 1
1………………………0 1………………………0
0 0
0 0
0 0
+ Quy lu t truy c p là :
07000h 07FFFh ậ Vùng nh 32k b t đ u t
đ a ch 00000h đ
ỉ
ớ
c ch n khi: ọ
ượ
c ch n khi : A14A13A12 = 000 c ch n khi : A14A13A12 = 001
ượ ượ
ọ ọ
ậ ắ ầ ừ ị A19A18A17A16A15 = 00000 + Trong đó : RAM #1 đ RAM #2 đ …………………………………………….. RAM #8 đ
c ch n khi : A14A13A12 = 111
ượ
ọ
* V s đ
ẽ ơ ồ
A0-A11 SRAM 4Kx8 #1
A0-A11
y0 A A12
CS #2
B A13 #3 y1 y2 C A14 #4 y3
y4 #5
A18,A17,A16,A15
y5 #6 IO/M G2A y6 G2B #7 #8 y7 G1 A19
+ Khi v s đ nên chú ý :
BG2 tích c c
74LS138 ấ
ự ở ứ
ẽ ơ ồ
m c th p nên các giá tr ị
iA n u tìmế
đ
c ượ
ố
ả ả
ậ
ị
ị A0 đ n
ể ư ề ế
ừ
ộ
ị
3+
-
ố ạ ủ
ầ
ng ch n A19. (n u A19 là bit 1 thì đ nguyên. n u là bít 0 thì
Là 0 thì ph i đ i v 1. mu n v y ta ph i đ o các giá tr 0 đ đ a v giá tr 1. ả ổ ề 1-nA vào b nh . + Khi tính đ c s đ ng đ a ch n thì các s h ng t ượ ố ườ ớ ỉ A n A ta đ a đ n các đ u vào A,B,C c a IC. - t ư ế n - Đ u vào G1 th ườ
ừ ầ
ế
ế
ể
ọ
d o ả
An
-+ 3 A 18
(n u các Ai là bít 0 thì đ o , n u bit 1 thì gi
ừ
ế
ế
ả
ữ
bit đó đi). - Đ u vào c ng NAND t ổ ầ Nguyên.)
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
ỉ ắ ầ
ể
ị
ạ 2. S d ng 74LS138 đ dành riêng vùng nh 64k có đ a ch b t đ u F000h cho vi m ch ớ ử ụ ROM 8k
10
13
=
)
=k
8
log
2.8
log
2
log 2 ik = (
= 13
2
2
2
ị
ng đ a ch * S đ ỉ ị ố ườ + áp d ng công th c : n = ứ ụ ỉ
ấ
ỉ
ị
+ Đ a ch byte th p nh t : 0000 0000 0000 0000 = 0000h (có 13 đ
ỉ
ườ
ng đ a ch ị
ỉ
t
ươ ứ
ổ ợ
+ Đ a ch byte cao nh t : 0001 1111 1111 1111 = 1FFFh
log * Đ a ch byte th p nh t, đ a ch byte cao nh t. ấ ấ ấ ấ h p 0000 ) ấ
ị ng ng có 4 t ị
ỉ
* L p b ng phân vùng đ a ch , tìm quy lu t truy c p.
ậ
ả
ậ
ậ
ỉ
ị
Ị
RAM #1 # 2 #3 #4
VÙNG Đ A CH Ỉ F0000h-F1FFFh F2000h-F3FFFh F4000h-F5FFFh F6000h-F7FFFh
#5 #6 #7 #8
F8000h-F9FFFh FA000h-FBFFFh FC000h-FDFFFh FE000h-FFFFFh
ậ
* Tìm quy lu t truy c p : ậ Làm ngoài nháp.
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
1
1
1
1
1
1
A19 A18 A17 A16 A15 A14 A13……..…………..A0 0……………………...0 0 1 F0000h 0……………..……….1 0 1 F1FFFh 1…….…..……...…….0 0 1 F2000h 1..…………………….1 0 1 F3FFFh F4000h 0……………………...0 1 1 ….…………………………………………………………………………… 1………..…….............1 FFFFFh + Quy lu t truy c p là : Vùng nh 32k b t đ u t
đ a ch 00000h đ
ậ ắ ầ ừ ị
c ch n khi: ọ
ậ ớ
ượ
ỉ
c ch n khi : A15A14A13 = 000 c ch n khi : A15A14A13 = 001
ượ ượ
ọ ọ
A19A18A17A16 = 1111 + Trong đó : RAM #1 đ RAM #2 đ …………………………………………….. RAM #8 đ
c ch n khi : A15A14A13 = 111
ượ
ọ
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ
ĐHSP K THU T VINH DHDIENCK3.SKV@GMAIL.COM
Ậ
Ỹ
* V s đ : ẽ ơ ồ
A0-A12
A0-A12 ROM 8Kx8
A13
#1
CS
y0
A
B
A14
#2 #3
y1 y2
C
A15
#4
y3
y4
#5
IO/M
G2A
y5
#6
y6
G2B
A18,A17,A16
#7 #8
y7
G1
A19
Đ C
NG ÔN T P VI X LÝ
Ề ƯƠ
Ứ
Ậ