Kiến trúc máy tính - Bài thực hành 3
lượt xem 37
download
Tham khảo tài liệu 'kiến trúc máy tính - bài thực hành 3', công nghệ thông tin, phần cứng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Kiến trúc máy tính - Bài thực hành 3
- Bài 3: S d ng công c TASM đ d ch chương trình M c đích c a bài th c hành: Giúp sinh viên làm quen v i công c Turbo Assember đ d ch các chương trình h p ng . Các bài t p th c hành: 1. Tìm hi u các thông s c a chương trình th c thi TASM.EXE, TLINK.EXE, EXE2BIN.EXE Hư ng d n: Vào ch đ command line, gõ l n lư t: TASM /? TLINK/? EXE2BIN /? 2. S d ng công c so n th o chương trình, so n hai file m u chương trình Hello Assembly d ng COM và d ng EXE đã h c trong bu i lý thuy t v i tên đ t là: Hello_E.ASM Cho chương trình d ng EXE Hello_C.ASM Cho chương trình d ng COM 3. D ch và th c thi hai file ngu n Hello_E.ASM và Hello_C.ASM b ng công c TASM Hư ng d n: + Vào ch đ dòng l nh(Start Run CMD.EXE) + Dùng l nh CD đ chuy n đ n thư m c ch a file ngu n đã t o + Dùng l nh PATH đ thi t l p đư ng d n đ n công c TASM PATH < ư ng d n n các file TASM.EXE, TLINK.EXE> ↵ Lưu ý: có th double click lên file thuchanh.bat đ th c hi n các công vi c trên m t cách nhanh chóng. +D ch và th c thi file d ng EXE (Hello_E.ASM) : B1. D ch file ngu n Hello_E.ASM thành file Hello_E.OBJ TASM Hello_E.ASM ↵ Dùng l nh DIR xem đã xu t hi n file Hello_E.OBJ chưa B2. Chuy n file Hello_E.OBJ thành file th c thi Hello_E.EXE TLINK Hello_E.OBJ ↵ Dùng l nh DIR xem đã xu t hi n file Hello_E.EXE chưa B3. Th c thi file EXE b ng cách gõ tên file Hello_E ch đ dòng l nh và ghi nh n k t qu : Hello_E ↵ +D ch và th c thi file d ng COM (Hello_C.ASM) : B1. & B2. Làm tương t d ng EXE Sau các bư c này ta có file Hello_C.EXE 18
- B3. Chuy n file EXE thành file COM: EXE2BIN Hello_C.EXE Hello_C.COM ↵ Dùng l nh DIR xem đã xu t hi n file Hello_C.COM chưa B4. Th c thi file Hello_C.COM So sánh kích thư c c a hai file Hello_C.COM và Hello_E.EXE 4. Th debug chương trình COM và EXE b ng chương trình DEBUG Hư ng d n: DEBUG HELLO_C.COM DEBUG HELLO_E.EXE Dùng l nh D, U đ xem n i dung chương trình trong b nh , G đ th c thi. 5. Th debug chương trình COM và EXE b ng chương trình TD (Turbo debugger) Hư ng d n: TD HELLO_C.COM TD HELLO_E.EXE Bài t p: Vi t chương trình in ra màn hình các thông tin v sinh viên như sau, m i thông tin in trên 1 dòng Truong:…. Lop:…. Ho va ten: ….. Yêu c u: Vi t cho hai d ng EXE và COM G i ý: có th in ra chu i sau đ đi u khi n vi c xu ng dòng: xuongdong db 0Dh,0Ah,’$’ 19
- Bài 4: Ng t và các chương trình ph c v xu t nh p M c đích c a bài th c hành: Giúp sinh viên làm quen v i các thao tác xu t nh p màn hình /bàn phím qua INT 21h. Sinh viên tham kh o thêm trong cu n giáo trình. 4.1. Khái ni m ng t và các chương trình ph c v : S d ng các l nh IN / OUT cho các thao tác xu t nh p các thi t b ngo i vi là công vi c ph c t p, đòi h i ngư i l p trình ph i am hi u ph n c ng máy tính. Ngoài ra tùy theo các lo i máy tính mà s hi u c ng c a các thi t b ngo i vi có th thay đ i. Vì v y đ đơn gi n, các nhà s n xu t máy tính đã cung c p s n các chương trình ph c v vào ra cơ b n cho ngư i l p trình và ngư i l p trình s g i các chương trình ph c v này thông qua l i g i ng t INT INT s _hi u_ng t Cú pháp: M i s hi u ng t tương ng v i m t b chương trình ph c v , m i b chương trình g m nhi u hàm, các hàm đư c ch n thông qua thanh ghi AH. INT 21h/AH=1 : Nh p 1 ký t t bàn phím Ví d : INT 21h/AH=2 : Xu t 1 ký t ra màn hình INT 21h/AH=9 : Xu t 1 chu i ký t ra màn hình 4.2. Các chương trình ph c v nh p xu t cơ b n qua ng t INT 21h 4.2.1. Nh p ký t t bàn phím a. INT 21h/AH=1 • Nh p m t ký t t bàn phím và có hi n th ký t này ra màn hình • G i v i: AH=1 INT 21h • Tr tr v : AL = mã ASCII c a ký t v a nh p • Bài t p th c hành: Th hàm này b ng trình debug Hư ng d n: Kh i đ ng Debug, nh p vào đo n chương trình g i hàm INT21h/AH=1 đ a ch CS:100h -a 100 17E1:0100 MOV AH,1 17E1:0102 INT 21 17E1:0104 Lưu ý trong debug h mmc nh là 16 nên ch c n vi t 21 thay vì 21h 20
- Th c thi đo n chương trình g m 2 l nh v a nh p, và nh p vào 1 ký t b t kỳ (trong ví d này nh p vào ký t B): -g=100 104 B Xem n i dung các thanh ghi sau khi th c hi n xong: AX=0142 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=17E1 ES=17E1 SS=17E1 CS=17E1 IP=0104 NV UP EI PL NZ NA PO NC 17E1:0104 0000 ADD [BX+SI],AL DS:0000=CD AX có giá tr 0142, v i AH=01 (gán b i l nh MOV) và AL=42h (mã ASCII c a ký t ‘B’ đã nh p) b. INT 21h/AH=8 • Nh p m t ký t t bàn phím nhưng không hi n th ký t này ra màn hình • G i v i: AH=8 INT 21h • Tr tr v : AL = mã ASCII c a ký t v a nh p • Bài t p th c hành: Th hàm này b ng trình debug tương t như m c a. 4.2.2. Nh p chu i t bàn phím - INT 21h/AH=0Ah • Nh p m t chu i ký t t bàn phím v i chi u dài t i đa 255, dùng phím BACKSPACE đ s a ký t , ENTER đ k t thúc vi c nh p • G i v i: AH=0Ah DS:DX = đ a ch c a vùng đ m lưu chu i INT 21h • Tr tr v : không có • Chú ý: Vùng đ m lưu chu i ph i có d ng sau: o Byte đ u tiên: kích thư c c a vùng đ m, th hi n s byte t i đa c n đ c - c n ph i gán trư c khi g i hàm o Byte th hai: s byte th c s đ c – đư c tr v sau khi g i hàm o Các byte ti p theo: lưu các ký t đã nh p vào – đư c gán sau khi g i hàm • Bài t p th c hành: Th hàm này b ng trình debug tương t như m c a. Hư ng d n: Nh p chu i dài t i đa 20 ký t (14h) vào vùng nh DS:202h Dùng l nh E chu n b vùng đ m ch a chu i nh p g m byte đ u tiên ch a giá tr 14h, byte th 2 ch a giá tr 0: -E DS:200 14 00 Dùng l nh D ki m tra l i: 21
- -d 200 17E1:0200 14 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 17E1:0210 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 17E1:0220 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 17E1:0230 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 17E1:0240 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 17E1:0250 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 17E1:0260 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 17E1:0270 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ Nh p đo n chương trình vào: -a cs:100 17E1:0100 mov dx,200 17E1:0103 mov ah,0a 17E1:0105 int 21 17E1:0107 Th c thi và nh p th 1 chu i: -g=100 107 Ki m tra l i vùng nh DS:202: -D DS:200 Xem s ký t đã nh p ch a trong byte đ a ch DS:201 4.2.3. Hàm xu t ký t INT 21h/AH=2 • Hi n th ký t có mã ASCII ch a trong DL ra màn hình • G i v i: AH=2 DL = Mã ASCII c a ký t mu n xu t INT 21h • Tr tr v : không có • Chú ý: Các ký t đ c bi t o Ký t có mã ASCII 41h : ‘A’ Như v y 42h là ‘B’, 43h là ‘C’ … o Ký t có mã ASCII 61h : ‘a’ o Ký t có mã ASCII là 0Ah: xu ng dòng o Ký t có mã ASCII là 0Dh: v đ u dòng • Bài t p th c hành: Th hàm này b ng trình debug Ví d : In ra màn hình ký t ‘A’ MOV AH,2 MOV DL,41h INT 21h Ví d : Phát ti ng Beep MOV AH,2 MOV DL,7 INT 21h 22
- 4.2.4. Hàm xu t chu i INT 21h/AH=9 • Xu t m t chu i ký t ra màn hình. Chu i ph i k t thúc b ng ký t ‘$’ • G i v i: AH=9 DS:DX = Đ a ch c a chu i c n xu t INT 21h • Tr tr v : không có • Bài t p th c hành: Th hàm này b ng trình debug Hư ng d n: Dùng l nh E nh p vào chu i ‘Thuc hanh hop ngu$’ vào vùng nh b t đ u đa ch DS:500h Nh p đo n chương trình sau vào vùng nh CS:100h b ng l nh A MOV DX,500 MOV AH,9 INT 21h INT 20h Th c thi đo n chương trình trên b ng l nh G Bài t p t ng h p: 1. Vi t chương trình nh p 1 ký t là ch cái in hoa t bàn phím, in ra màn hình ký t in thư ng tương ng. G i ý: kí t thư ng cách ký t hoa 1 giá tr là 20h, nên vi c đ i t hoa sang thư ng đư c th c hi n b ng cách c ng thêm 1 lư ng 20h và đ i t thư ng sang hoa b ng cách tr đi m t lư ng 20h vào mã ASCII c a nó qua 2 l nh sau: ADD DL,20h ; V i DL ch a mã ASCII c a ký t cn i sang ch thư ng SUB DL,20h ; V i DL ch a mã ASCII c a ký t cn i sang ch hoa 2. Vi t chương trình nh p 1 ký t là ch cái in thư ng t bàn phím, in ra màn hình ký t in hoa tương ng. 3. Vi t chương trình in ra màn hình các thông tin v sinh viên như sau, m i thông tin in trên 1 dòng. Khi in xong m t dòng, ph i đ i ngư i dùng nh n phím ENTER r i m i in dòng ti p theo. Truong:…. Lop:…. Ho va ten: ….. 23
- Bài 5: Nhóm l nh chuy n d li u Bài t p th c hành: 1. Nh p đo n chương trình sau b ng chương trình debug, th c thi t ng bư c b ng l nh T, cho bi t k t qu các thanh ghi sau khi th c hi n xong chương trình MOV AX, 05ABh MOV BX, 1 XCHG BH, BL MOV CX, BX XCHG AL, CL Chú ý trong debug, m c đ nh là s h 16 nên giá tr h ng h 16 không c n thêm ‘h’ vào cu i. 2. Nh p đo n chương trình sau b ng chương trình debug, th c thi t ng bư c b ng l nh T, cho bi t k t qu các thanh ghi sau khi th c hi n xong chương trình. Nh n xét tác đ ng c a l nh PUSH và POP lên thanh ghi SP. MOV AX, 05A0h PUSH AX XCHG AH, AL PUSH AX POP BX POP CX 3. Nh p đo n chương trình trong Debug hoán đ i n i dung hai vùng nh g m 5 byte. Vùng nh th nh t đ a ch DS:100h, vùng nh th hai đ a ch DS:120h Nh p d li u cho 2 vùng nh đ ch y th 4. Vi t chương trình hoàn ch nh d ng COM ho c EXE cho phép nh p m t chu i g m đúng 5 ký t . In ra màn hình chu i này theo th t đ o ngư c. D ch chương trình v i TASM. 5. Vi t chương trình hoàn ch nh d ng COM ho c EXE cho phép nh p m t chu i t bàn phím v i s lư ng ký t tùy ý không vư t quá 15. In ra màn hình chu i này và cho bi t s ký t th c s nh p d ng s Hex. D ch chương trình v i TASM. 24
- Bài 6: Nhóm l nh chuy n i u khi n Bài t p th c hành: 1. Th nghi m l nh CMP left,right tác đ ng lên các bit c ZF, CF, SF như th nào trong 2 trư ng h p và đi n vào các ô tr ng trong b ng tương ng: a. So sánh s không d u Đ i u ki n Z F CF left > right left = right left < right Hư ng d n: Th so sánh v i các c p (5,4), (5,5) , (5,6) Gán trư c giá tr c a AL giá tr b t kỳ (ví d là 5) MOV AL,5 L n lư t th nghi m v i các l nh: CMP AL,4 CMP AL,5 CMP AL,6 b. So sánh s có d u Đ i u ki n Z F CF S F left > right left = right left < right Th so sánh v i các c p (5,-4) (-5,-5) , (-5,5), (-5,-4) , (-5,-6) 2. Vi t chương trình chương trình nh p vào m t ký t , cho bi t ký t này là ch hoa, ch thư ng hay không là ch cái. 25
- 3. Vi t chương trình nh p t bàn phím m t ký t s ch th (2,3,4,5,6,7,C). In ra màn hình tên ngày b ng ch tương ng (Monday, Tuesday, Wednesday, Thurday, Friday, Saturday, Sunday) 4. Nh p m t chu i t bàn phím, in ra chu i này 20 l n liên ti p nhau trên màn hình. 5. Vi t chương trình nh p vào m t chu i các ký t , in ra màn hình chu i m i v i các ký t thư ng đ i thành các ký t hoa. 6. Vi t chương trình nh p vào m t chu i các ký t , in ra màn hình chu i này theo th t đ o ngư c. 7. Vi t chương trình nh p vào m t chu i các ký t , in ra màn hình chu i này đã lo i b các kho ng tr ng. 8. Vi t chương trình nh p vào m t chu i các ký t , in ra màn hình chu i này đã lo i b các kho ng tr ng. 9. Vi t chương trình nh p vào m t chu i các ký t , in ra màn hình chu i này v i các kho ng tr ng li n nhau đư c thay b ng 1 kho ng tr ng duy nh t. 10. Vi t chương trình con lower đ i ch hoa sang ch thư ng, v i AL ch a mã ASCII c a ký t c n chuy n, k t qu chuy n vào AL. 26
- Bài 7: Nhóm l nh tính toán s h c và lu n lý Bài t p th c hành: 1. Vi t chương trình nh p vào m t ký t , in ra mã asscii c a nó dư i d ng th p phân 2. Vi t chương trình nh p vào m t ký t , in ra mã asscii c a nó dư i d ng th p l c phân 3. Vi t chương trình nh p vào m t giá tr nguyên không d u nh hơn 255. In ra màn hình ký t có mã ASCII này. 4. Vi t chương trình nh p vào m t giá tr hex 8bit. In ra màn hình ký t có mã ASCII này. 5. Vi t chương trình con hi n th m t s word (16bit) ra màn hình dư i d ng th p phân 6. Vi t chương trình con hi n th m t s word (16bit) ra màn hình dư i d ng th p l c phân 7. Vi t chương trình nh p s s nguyên (0..65535) t bàn phím và in s nguyên này ra màn hình dư i d ng th p l c phân 8. Vi t chương trình nh p vào 1 chu i nh phân g m t i đa 16 ch s 0 và 1. In ra giá tr s nh phân này dư i d ng: a. S th p phân không d u b. S th p phân có d u 9. Vi t chương trình nh p vào 2 s th p phân 16 bit không d u, tính và in ra màn hình USCLN c a 2 s này. 27
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Kiến trúc máy tính - TS. Vũ Đức Lung
143 p | 1771 | 575
-
Giáo trình Kiến trúc máy tính - Nguyễn Trung Đồng
183 p | 760 | 263
-
Kiến trúc máy tính tiên tiến
260 p | 297 | 80
-
Giáo trình Kiến trúc máy tính - Nghề: Kỹ thuật lắp ráp và sửa chữa máy tính - Trình độ: Cao đẳng nghề (Tổng cục Dạy nghề)
112 p | 67 | 17
-
Giáo trình Kiến trúc máy tính - CĐ Nghề Công Nghiệp Hà Nội
125 p | 87 | 17
-
Giáo trình Kiến trúc máy tính (Nghề: Quản trị mạng máy tính - Trình độ: Trung cấp) - Trường TCN Quang Trung
97 p | 50 | 14
-
Giáo trình Kiến trúc máy tính và quản lý hệ thống máy tính: Phần 1
104 p | 72 | 13
-
Giáo trình môn học Kiến trúc máy tính
94 p | 63 | 12
-
Giáo trình Kiến trúc máy tính (Nghề: Kỹ thuật sửa chữa và lắp ráp máy tính - Trung cấp) - Trường Cao đẳng Cơ giới
84 p | 16 | 9
-
Giáo trình Kiến trúc máy tính (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ
92 p | 22 | 9
-
Giáo trình Kiến trúc máy tính (Ngành: Kỹ thuật sửa chữa, lắp ráp máy tính - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
112 p | 30 | 9
-
Giáo trình Kiến trúc máy tính (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 1 - Trường CĐ Nghề Kỹ thuật Công nghệ
47 p | 42 | 7
-
Giáo trình Kiến trúc máy tính (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
112 p | 30 | 7
-
Giáo trình Kiến trúc máy tính và quản lý hệ thống máy tính: Phần 1 - Trường ĐH Thái Bình
119 p | 13 | 6
-
Giáo trình Kiến trúc máy tính (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 2 - Trường CĐ Nghề Kỹ thuật Công nghệ
58 p | 37 | 6
-
Giáo trình Kiến trúc máy tính - Trường CĐ Nông Lâm Đông Bắc
69 p | 27 | 5
-
Đề cương chi tiết học phần: Kiến trúc máy tính và hợp ngữ
19 p | 124 | 5
-
Giáo trình Kiến trúc máy tính (Ngành: Kỹ thuật sửa chữa lắp ráp máy tính – Trình độ Trung cấp) - Trường Cao đẳng Hòa Bình Xuân Lộc
155 p | 0 | 0
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn