THỰC HÀNH LẬP TRÌNH HỆ THỐNG & ĐKTB

Bài 1: Nhập Môn Hợp Ngữ
1. Viết từng chương trình tính các biểu thức sau: (Phải viết theo kiểu sử dụng biến để chứa toán hạng và kết quả, SV tự đặt tên biến theo ý của mình) a. 15h * 250 d. 1000 ÷ 100 b. 16 * 0AF1h e. 1000 ÷ 100h c. 300 * 400 f. 3AB45Eh ÷ 0A1h 2: Viết chương trình in ra màn hình 26 chữ cái ‘A’ …’Z’. 3. Viết chương trình nhập vào 1 số nguyên n (0≤ n≤ 9), tính tổng S=1+2+3+…+n rồi in kết quả ra màn hình. 4. Viết chương trình nhập vào hai số nguyên x và y (0≤ x,y ≤ 9), tính tổng x+y rồi in kết quả ra màn hình. Yêu cầu: Chương trình được tổ chức như sau: gồm 1 chương trình chính, 2 chương trình con hoặc 2 macro, 1 dùng để nhập vào 1 số và 1 dùng để in kết quả . 5. Viết chương trình nhập vào từ bàn phím hai số nguyên a và b với 0 ≤ a,b ≤256. Tính tích của chúng và in kết quả ra màn hình. Yêu cầu chương trình phải được tổ chức thành các chương trình con hoặc macro. 6. Viết chương trình nhập vào một tên file rồi xóa file đó. In ra màn hình thông báo xóa thành công hay không. 7. Viết chương trình tạo một file backup từ một file văn bản nguồn. Tên của file văn bản được nhập vào từ bàn phím.

Bài 2: Xuất Nhập Ký Tự
1. Viết chương trình sử dụng hàm 7, ngắt 21h để nhận 1 ký tự từ bàn phím, dùng 1 biến để lưu trữ ký tự nhận được (do sinh viên tự đặt tên biến), sau đó sử dụng hàm 2, ngắt 21h để in ra màn hình ký tự nhận được đang lưu trong biến ấy. Chương trình phải có đủ các câu thông báo nhập và xuất. Ví dụ: Hay go 1 phim: B Ky tu nhan duoc la: B 2. Sửa lại chương trình 4.1 sao cho không cần sử dụng biến để lưu trữ ký tự mà kết quả chạy chương trình vẫn không thay đổi. 3. Viết chương trình nhận 1 ký tự từ bàn phím, sau đó in ra màn hình ký tự kế trước và kế sau của ký tự vừa nhập Ví dụ: Hay go 1 phim: B Ky tu ke truoc : A Ky tu ke sau : C 4. Viết chương trình cho phép nhập từ bàn phím tên của 1 người, sao đó in ra màn hình chuỗi có dạng như sau: Xin chao <tên_đã_nhập> Ví dụ: Khi chạy chương trình, nhập vào là: Nguyen ABC Chuỗi in ra màn hình sẽ là: Xin chao Nguyen ABC 5. Viết chương trình tạo 1 array có các phần tử 31h,32h,33h,34h. Nạp từng phần tử và thanh ghi DL và xuất ra màn hình. Giải thích tại sao kết xuất trên màn hình là 1234.

BÀI 3: CẤU TRÚC RẼ NHÁNH – VÒNG LẶP
1. Viết chương trình cho nhập 1 ký tự từ màn hình và xuất câu thông báo tương ứng sau: - Nếu ký tự nhập là ‘S’ hay ‘s’ thì in ra “Good morning!” - Nếu ký tự nhập là ‘T’ hay ‘t’ thì in ra “Good Afternoon!” - Nếu ký tự nhập là ‘C’ hay ‘c’ thì in ra “Good everning!”

vậy A/B = 6 (tổng trừ B cho đến khi A = 0).Nếu nhận được ký tự khác thì thoát khỏi chương trình. hãy dùng lệnh lặp để viết chương trình nhập vào 1 chuỗi ký tự. 5. + 10 + 5 10.WELCOME TO ASSEMBLY 6.3 . AX = 100 +95 + 90 + ….Nếu ký tự nhận được là thường thì hiển thị dấu ‘*’ lên màn hình. In ra màn hình chuỗi nhận được và số ký tự có trong chuỗi. Ví dụ: S1 = "123" => N1 = 123 S2 = "456" => N2 = 456 N = N1 + N2 = 123 + 456 = 579 => S = "579" (xuất S ra màn hình) 7.3 . Nhập 2 số nguyên dương A.ASM sao cho chương trình có thể phân biệt được 3 loại ký tự nhập từ bàn phím: "Ký tự HOA". Không dùng hàm 0Ah/21h. viết đoạn lệnh để thực hiện AX chia cho BX (nếu BX ≠ 0).1 WHILE BX > 0 12. phần thương chứa trong CX.2. Tính A/B. Viết lại chương trình BAI_3A. Viết chương trình cho phép nhập vào một chuỗi bất kỳ.Nếu ký tự nhận được là ‘B’ thì chuyển con trỏ xuống dòng. AX = 1 + 4 + 7 + ….Đổi tất cả ký tự hoa thành ký tự thường và in ra màn hình. 9. + 148 + 151 b.Đổi tất cả ký tự thường thành ký tự hoa và in ra màn hình. Sau đó in đảo ngược chuỗi nhận được ra màn hình.3 = 0. B. Ví dụ: S = ‘weLcOme To AssEmblY’ In ra: welcome to assembly . Ví dụ: A=18. .3 . Không sử dụng lệnh DIV.3 . kết quả lưu trong CX. Sử dụng hàm 08h. A*B (không dùng lệnh DIV. MUL) và in ra màn hình kết quả. Viết chương trình đọc 1 ký tự từ bàn phím. đổi ra chuỗi và xuất chuỗi tổng. Giải thuật như sau: CX = 0 WHILE (AX >= BX) CX = CX + 1 AX = AX – BX ENDWHILE 11. Sau đó in ra màn hình lần lượt các ký tự từ ký tự nhận được đến 'z' sao cho giữa các ký tự có 1 khoảng trống. . Không sử dụng lệnh MUL.Nếu ký tự nhận được là HOA thì hiển thị ký tự đó lên màn hình. Giải thuật như sau: CX = 0 DO CX = CX + AX BX = BX . Viết chương trình nhập 1 chuỗi tối đa 256 ký tự từ bàn phím. .. Ví dụ: S = "Hello world !" ==> Số kí tự trong chuỗi là 13. .3 . . Viết đoạn lệnh để tính: a. . Sau đó: .Nếu ký tự nhận được là ‘A’ thì chuyển con trỏ về đầu dòng. sau đó cộng hai số. Nhập vào 2 chuỗi số. 3. Viết chương trình nhập từ bàn phím 1 ký tự thường. ngắt 21h để viết chương trình nhận 1 chuỗi đầy đủ 30 ký tự từ bàn phím. 4. "ký tự thường" và "ký tự khác". 13. . viết đoạn lệnh để thực hiện AX nhân với BX (nếu BX ≠ 0). Sau khi nhập xong đếm xem chuỗi có bao nhiêu ký tự.. số dư chứa trong AX. B=3 Tính A/B: 18 . đổi 2 chuỗi thành số. Tính A*B = 18 + 18 + 18 = 54 8.

Viết đoạn chương trình để tính N!.. Kết quả ghi vào thanh ghi AX. sau đó in ra màn hình mã ASCII của ký tự nhận được ở dạng nhị phân. Hướng dẫn: dùng stack để PUSH các dấu ngoặc trái ‘(‘.14. 15. ‘[‘ vào ngăn xếp. A – B. sau đó in ra màn hình mã ASCII của ký tự nhận được ở thập lục phân. Ví dụ: Nhập số nhị phân A: 10101010 Nhập số nhị phân B: 01010101 A + B = 11111111 A – B = 01010101 A and B = 00000000 A or B = 11111111 2. A or B. Nếu gặp dấu ngoặc phải ‘)’. Sau đó đếm số CHỮ có trong chuỗi nhận được và in ra màn hình số đếm được. Ví dụ: Nhập 1 ký tự: A Mã ASCII dạng Hex: 41h Mã ASCII dạng Dec: 65 Mã ASCII dạng Bin: 01000001b 3. Viết chương trình nhập từ bàn phím 1 số nhị phân 8 bit. 15.1 nhưng 2 số A và B được nhập theo dạng thập lục phân. Viết lại chương trình bài 4. 5. Nếu không POP được.1 nhưng 2 số A và B được nhập theo dạng thập phân. Viết chương trình nhập từ bàn phím 1 ký tự. Viết chương trình nhập từ bàn phím 1 ký tự.Viết chương trình nhận 1 chuỗi ký tự thường từ bàn phím. 11. 16. Viết lại chương trình bài 4. sau đó in ra màn hình mã ASCII của ký tự nhận được ở dạng thập lục phân. Ví dụ: Hãy nhập 1 ký tự: K Mã ASCII dạng nhị phân là: 01110101 8. sau đó in ra màn hình giá trị nhận được ở dạng số thập lục phân. 19. 7. Sau đó kiểm tra biểu thức nhận được là hợp lệ hay không hợp lệ và in kết quả ra màn hình. Sau đó đổi chuỗi nhận được thành chuỗi ký tự HOA và in ra màn hình. Viết chương trình tính giai thừa n! Với n là số nguyên dương nhập từ bàn phím. hoặc POP ra không đúng loại với dấu ngoặc phải là không hợp lệ. A – B. Viết chương trình nhập 1 ký tự từ bàn phím. A and B. Viết chương trình nhập 2 số nhị phân 16 bit A và B. Ví dụ: Hãy nhập số nhị phân 8 bit: 10110101 Dạng thập lục phân là: B5 . Các kết quả được in ra màn hình ở dạng nhị phân. thập phân và nhị phân. Ngược lại là hợp lệ. 17. Ví dụ: [a + (b – [ c * ( d – e )]) + f] là hợp lệ [a + (b – [ c * ( d – e )) + f)] là không hợp lệ. 27. ‘]’ thì POP từ stack ra để so sánh. 4. Cho biết. Viết chương trình tính tổng của dãy số: 3. 7. Giả thiết tích số không vượt quá 16 bit BÀI 4: NHẬP XUẤT SỐ DẠNG BIN – HEX – DEC 1. Ví dụ: Hãy nhập 1 ký tự: K Mã ASCII dạng thập lục phân là: 75 9. Sau đó in ra màn hình các kết quả ở dạng nhị phân: A + B. 23. kết quả ghi vào thanh ghi AX. In kết quả ra màn hình ở dạng thập phân. Viết chương trình nhận 1 chuỗi ký tự từ bàn phím. In các kết quả ở dạng thập phân: A + B. khả năng của CPU 8088 tính được n lớn nhất là bao nhiêu? 6 Viết chương trình nhập từ bàn phím một biểu thức đại số có chứa các dấu ngoặc tròn () hay [].

Ví dụ: Hãy nhập chuỗi A: Chao cac ban Hãy nhập chuỗi B: Sinh vien CNTT Chuỗi ghép C là: Chao cac ban Sinh vien CNTT 7. sau đó ghép chuỗi A với chuỗi B để tạo thành chuỗi C. Viết chương trình nhận 1 chuỗi ký tự từ bàn phím. Viết chương trình nhập 2 chuỗi A và B từ bàn phím. . Tìm ký tự “A” có trong một chuỗi ký tự bất kỳ. Viết chương trình nhập 1 chuỗi tối đa 256 ký tự. Ví dụ: Hãy nhập 1 ký tự: K Mã ASCII dạng thập lục phân là: 75 10. . sau đó in ra màn hình mã ASCII của ký tự nhận được ở dạng nhị phân. In ra màn hình các kết quả tìm được. . ‘a’.Có ‘b’. Ví dụ: Hãy nhập số nhị phân 8 bit: 10110101 Dạng thập lục phân là: B5 11. sau đó in ra màn hình mã ASCII của ký tự nhận được ở thập lục phân. . Sau đó đổi chuỗi nhận được thành chuỗi ký tự HOA và in ra màn hình. In ra màn hình chuỗi C.Có ‘b’. Ví dụ: Hãy nhập 1 ký tự: K Mã ASCII dạng nhị phân là: 01110101 9. . ‘B’. Viết chương trình nhập 1 chuỗi tối đa 256 ký tự từ bàn phím. Sau đó tìm xem có các ký tự ‘A’. 3. Viết chương trình nhập 1 chuỗi tối đa 256 ký tự.Có ‘a’. ‘B’.Không có ‘A’.Không có ‘B’.Bài 5: Xử Lý Chuỗi Ký Tự 1. sau đó ghép chuỗi A với chuỗi B để tạo thành chuỗi C. Sau đó tìm xem có các ký tự ‘A’. 8. Ví dụ: Hãy nhập chuỗi: Chao cac ban Sinh vien CNTT Kết quả: . Ví dụ: Hãy nhập chuỗi A: Chao cac ban Hãy nhập chuỗi B: Sinh vien CNTT Chuỗi ghép C là: Chao cac ban Sinh vien CNTT 12. ‘a’. Viết chương trình nhập từ bàn phím 1 ký tự. nếu có thì in ra câu thông báo là có ký tự “A” trong chuỗi ký tự và ngược lại. In ra màn hình các kết quả tìm được. ‘b’ có trong chuỗi hay không. Sau đó in đảo ngược chuỗi nhận được ra màn hình.Không có ‘B’. 6.sau đó in ra màn hình giá trị nhận được ở dạng số thập lục phân. 4.Không có ‘A’. Viết chương trình nhận 1 chuỗi ký tự thường từ bàn phím. In ra màn hình chuỗi C. Viết chương trình nhập từ bàn phím 1 ký tự. . Viết chương trình nhập 2 chuỗi A và B từ bàn phím. . 5. 2.Có ‘a’. sau đó in nội dung của string2 ra màn hình. ‘b’ có trong chuỗi hay không. Ví dụ: Hãy nhập chuỗi: Chao cac ban Sinh vien CNTT Kết quả: . Viết chương trình nhập từ bàn phím 1 số nhị phân 8 bit. Sau đó đếm số CHỮ có trong chuỗi nhận được và in ra màn hình số đếm được. Di chuyển 33 bytes từ nội dung của string1 sang string2.

khoang trang la: 9 . Hướng dẫn: dùng ngăn xếp để PUSH các dấu ngoặc trái ‘(‘. Viết chương trình nhập 1 số từ 1-7. phu am la: 24. 14: Viết chương trình nhập 1 số từ 1-12. y). Byte 0 : số byte tối đa có thể nhập. Ngược lại là hợp lệ. Ví dụ : Nhập chuỗi thứ nhất : computer information Nhập chuỗi thứ hai : compute Xuất: Chuỗi thứ hai có xuất hiện trong chuỗi thứ nhất. kiểm tra xem chuỗi thứ hai có xuất hiện trong chuỗi thứ nhất hay không. Nếu không POP được. 16. 15. Hd: Dùng hàm 0AH INT 21H để nhập chuổi DS:DX địa chỉ của buffer đệm lưu chuỗi. ‘[‘ vào ngăn xếp. sau đó đổi tất cả chuỗi thành chữ hoavà in chuỗi ra màn hình ở dòng kế.13. Nếu gặp dấu ngoặc phải ‘)’. Ví dụ: [a + (b – [ c * ( d – e )]) + f] là hợp lệ [a + (b – [ c * ( d – e )) + f)] là không hợp lệ. Viết chương trình nhập vào 1 từ. hoặc POP ra không đúng loại với dấu ngoặc phải là không hợp lệ.u.0. Thí dụ Nhập CONG Xuất : C O N G 18. cac khoang trang. Byte 1 : chứa giá trị 0 Byte 2 trở đi : để trống (lưu các ký tự sẽ nhập) Để nhập 1 chuỗi ký tự vào Buffer đệm ta khai báo như sau : . Viết chương trình nhập vào 2 chuỗi ký tự s1. cac phu am. Chèn chuỗi s2 vào chuỗi s1 ở vị trí ký tự thứ n trong chuỗi s1 . Ví dụ : Nhập chuỗi : “dai hoc khoa hoc tu nhien thanh pho ho chi minh” Xuất : Số lần xuất hiện của các nguyên âm là : 14 .i. Nhập 1 chuỗi dài tối đa 255 ký tự từ bàn phím. Sau đó kiểm tra biểu thức nhận được là hợp lệ hay không hợp lệ và in kết quả ra màn hình. Ví dụ : Nhập chuỗi s1 : “abcde” Nhập chuỗi s2 : “fgh” Nhập n = 3 Xuất kết quả : “abcfghde” 22.e. Ví dụ : Nhập chuỗi : “aBcdE” Xuất chuỗi: “AbCdE” 21.80 DUP(?) 17. Viết chương trình nhập từ bàn phím một biểu thức đại số có chứa các dấu ngoặc tròn () hay []. trong chuỗi tương ứng.o. viết thường các ký tự phụ âm. s2 và 1 số nguyên dương n. Viết chương trình nhập 1 chuỗi ký tự viết hoa các ký tự nguyên âm. in ra tên thứ tương ứng. Cho phép dùng phím BackSpace để sửa khi nhập sai và kết thúc nhập khi gỏ phím Enter. 19 Viết chương trình nhập hai chuỗi ký tự .DATA BUFFERN DB 80. 20. Viết chương trình nhập vào từ bàn phím 1 chuỗi và tính số lần xuất hiện của các nguyên âm (a. sau đó in từng ký tự trong từ theo chiều dọc. ‘]’ thì POP từ stack ra để so sánh. Viết chương trình nhập vào 1 chuỗi. in ra tên tháng tương ứng.

Xuất ra màn hình 4 số đó theo thứ tự tăng dần . Tên của các tập tin được nhập từ bàn phím khi chạy chương trình.các ký tự còn lại là chữ thường Ex : Nhập : ngo phuoc nguyen Xuất : Ngo Phuoc Nguyen Nhập : VU tHanh hIEn Xuất : Vu Thanh Hien 28. Tên tập tin phải được nhập từ bàn phím 6 Viết chương trình bằng hợp ngữ xóa một thư mục (rỗng) với tên thư mục được nhập từ bàn phím. Viết chương trình nhập vào từ bàn phím 1 chuỗi gồm các ký tự trong bảng chữ cái. Viết chương trình ghép nội dung 2 tập tin có sẳn trên đĩa thành 1 tập tin mới. Ví dụ : Nhập : 14 7 26 11 Xuất : 7 11 14 26 25. Viết chương trình tìm số hoàn thiện (giới hạn 2 chữ số) (hay còn gọi là số hoàn chỉnh. Viết chương trình nhập 1 chuỗi từ bàn phím. Yêu cầu chương trình được tổ chức như sau: . Đếm xem trong chuỗi có bao nhiêu từ. Tên tập tin nhập từ bàn phím khi chạy chương trình. 4. . BÀI TẬP 7 : NGÔN NGỮ C & HỢP NGỮ 1. Viết chương trình nhập 1 chuỗi từ bàn phím. số hoàn hảo) là số nguyên dương có tổng các ước số nguyên dương bé hơn nó bằng chính nó. Ví dụ : Nhập : 13 21 1 49 Xuất : Số lớn nhất : 49 Số nhỏ nhất : 1 26. Yêu cầu chương trình được tổ chức như sau: a. nhị phân và hexa.Thay chuỗi 2 trong chuỗi 1 bằng ký tự (nếu được) 27. Viết chương trình nhập vào từ bàn phím 4 số . sau đó đổi tất cả ký tự HOA thành ký tự thường và lưu lại vào tập tin đó.ngược lại in ra không tìm thấy . Viết chương trình nhập vào một số nguyên N (0<N<256). In thông báo xóa thành công hay không thành công lên màn hình. Viết chương trình nhập vào từ bàn phím 1 CHUỖI 1 (chuỗi dài) CHUỖI 2 (chuỗi ngắn) & 1 ký tự. tích thương của chúng rồi in ra màn hình. sau đó ghép chuỗi nhận được vào cuối của nội dung tập tin có trên đĩa. Xuất ký tự dưới dạng viết hoa ký tự đầu của từng từ. Dùng inline-assembly và C b. Viết chương trình nhập vào từ bàn phím 4 số và sau đó xuất số lớn nhất và nhỏ nhất ra màn hình.Tìm chuỗi 2 trong chuỗi 1 & in ra vị trí xuất hiện đầu tiên của chuỗi 2 trong chuỗi 1 nếu tìm thấy. 3.Tìm ký tự đã nhập trong chuỗi 1 & in ra vị trí xuất hiện đầu tiên của ký tự trong chuỗi 1 nếu tìm thấy.y<256).23. Viết tách biệt module C và hợp ngữ 2. hãy in ra N dưới các dạng: thập phân. hãy tính tổng hiệu. sau đó chèn chuỗi nhận được vào đầu của nội dung tập tin có trên đĩa. In thông báo xóa thành công hay không thành công lên màn hình. 5. Viết chương trình đọc nội dung tập tin trên đĩa. Bài 6: Xử Lý Tập Tin 1.). Xuất các số hoàn thiện từ số lớn nhất đến số nhỏ. Viết chương trình sử dụng hàm 41h/ INT 21h để xóa tập tin trên đĩa. Ví dụ : Nhập chuỗi : “ hO Chi mINh ” Xuất : chuỗi gồm có 3 từ 24. Tên tập tin cần xóa được nhập từ bàn phím khi thực hiện chương trình. Viết chương trình nhập vào từ phàn phím hai số nguyên dương (0<x. Tên tập tin nhập từ bàn phím khi chạy chương trình. Viết chương trình nhập 1 chuổi ký tự.ngược lại in ra không tìm thấy . 2.

nhưng cho phép in chuỗi ra tại một tọa độ bất kỳ. … BÀI TẬP 9 : LẬP TRÌNH VỚI BÀN PHÍM 1. Tham số ra : Không 3. Viết chương trình chặn hàm 2h ngắt 21h để luôn in ra ký tự có màu đỏ. Viết chương trình thay tổ hợp phím Alt . Giống bài 2. Viết tách biệt module C và hợp ngữ BÀI TẬP 8 : LẬP TRÌNH VỚI INTERRUPT 1. nhập vào ‘A1’ . NumLock BÀI TẬP 10 : LẬP TRÌNH VỚI MÀN HÌNH 1. Viết chương trình sửa hàm 2h ngắt 21h sao cho luôn in ra ký tự hoa 6..Nhập vào <ký tự hoa> + ‘1’ thì chuyển <ký tự hoa> thành ký tự thường. Viết chương trình chặn hàm 1h ngắt 21h để nếu người sử dụng : – Nhập vào <ký tự thường> + ‘1’ thì chuyển <ký tự thường> thành ký tự hoa. Viết chương trình bật/tắt đèn Num Lock mỗi khi người sử dụng gõ phím 3. Viết chương trình chặn hàm 8h ngắt 21h (hàm nhập ký tự từ bàn phím) để chuyển ký tự nhập vào từ chữ thường à chữ hoa. Lập chương trình thực hiện nhiệm vụ copy một file có kích thước tùy ý. Viết chương trình phục vụ ngắt 61h cho phép chuyển chuỗi thành chữ hoa hoặc thường: Tham số vào : AH = 1.F1 thành phím ‘A’ 2. Viết chương trình thay ngắt 21h bằng ngắt 60h (ngắt dành cho người sử dụng) 2. Dùng inline-assembly và C b.15). Viết chương trình sửa hàm 0Ah ngắt 21h (nhập chuỗi) cho phù hợp với chức năng xuất chuỗi của hàm 9h (chuỗi kết thúc bằng ký tự ‘$’) 5. Viết chương trình bật đèn Scroll Lock mỗi khi người sử dụng ấn phím. in ra A1 – . in ra ‘a’ nhập vào ‘a1’. Viết chương trình thay phím F1 bằng phím A bằng cách chặn hàm 0h ngắt 16h 5. 6. Không sử dụng ngắt. Tương tự bài 2. Yêu cầu chương trình được tổ chức như sau: a. Thông báo lỗi ra màn hình. Viết chương trình lặp liên tục chuỗi ‘hello’ ra màn hình cho đến khi người sử dụng bấm phím Esc 6. Insert. Ví dụ : . nhấp nháy ra màn hình tại vị trí góc trên bên trái. và tắt đèn khi người sử dụng nhả phím 4. Viết chương trình chặn ngắt 9h để nếu người sử dụng gõ : Alt – F1 : Hiển thị chuỗi “Hello” có màu vàng. Viết tách biệt module C và hợp ngữ 3. nền trắng. Dùng inline-assembly và C b. DX = Offset của chuỗi cần chuyển chuyển chuỗi tại DX sang kiểu chữ thườngTham số vào : AH = 3. AL chứa mã màu (0. viết chương trình in ra trang 0 của màn hình chuỗi ABCD có màu vàng nhấp nháy tại góc trên bên trái. Viết chương trình tự động bật tổ hợp các phím CapLock. Tên file nguồn và đích nhận vào từ bàn phím. 4. 5. 2. nền đen. DX = Offset của chuỗi cần chuyển (chuỗi kết thúc bằng dấu ‘$’) : chuyển chuỗi tại DX sang kiểu chữ hoa Tham số vào : AH = 2. • Nếu người sử dụng nhập tiếp ‘1’ thì phục hồi lại thay đổi trên ký tự trước đó 4. in ra ‘A’ nhập vào ‘A11’. Viết chương trình xử lý ngắt 58 để in ra màn hình chuỗi ký tự màu như sau : Tham số vào : DX chứa Offset chuỗi (kết thúc bởi ‘$’). và ngược lại. Nếu nsd bấm ‘1’ một lần nữa thì phục hồi lại thay đổi. 2b. nhưng chặn ngắt 1h ! 3.a.

Lập trình để khởi tạo chế độ làm việc một mạch UART 8250A cho cổng COM2 với các thông số: a. cho đến khi gõ Alt – X thì kết thúc. . Alt – F3 : Đổi màu nền và màu chữ của toàn màn hình thành nền xanh dương.7. 5. Hình vuông c. Viết chương trình chặn ngắt 9 sao cho khi người sử dụng gõ : 11. b. parity lẻ. 2. Hình tròn d. rồi ngược lại (Xem hàm 86h ngắt 15h). Viết chương trình hiển thị chuỗi “giờ:phút:giây” có màu vàng tại dòng trên cùng của màn hình và chuyển động từ bên trái màn hình sang bên phải và ngược lại. 7 bít mã kí tự truyền . Sau đó đếm lùi n trở về 0.Tốc độ truyền 2400 bít/s . 8. Tương tự bài 5.5 bít stop. khi n = 0 thì xuất hiện ra màn hình chuỗi “Good Bye !” BÀI TẬP 12 : LẬP TRÌNH VỚI UART 1. Hình Parabol BÀI TẬP 11 : LẬP TRÌNH VỚI TIMER 1. tốc độ truyền 1200 bits/ giây. b. Sử dụng các dịch vụ ngắt của BIOS phục vụ cho màn hình (ngắt 10h) trong chế độ đồ họa để vẽ ra màn hình các hình sau: a. Viết chương trình cho một ký tự chạy trên màn hình từ trái qua phải.8 bít mã kí tự . Tam giác b. 4. 6. mỗi kí tự có một thuộc tính khác nhau trong chế độ text. 1 2. 15.9). 3. 12 phút. 18. 6 bít mã kí tự truyền . nhấp nháy. Sử dụng bài tập 3 để kiểm tra. Alt – F2 : Như câu a. nhưng trong khi chuyển động phải cập nhật lại thời gian sau mỗi giây. Alt – F4 : Hiển thị thời gian hiện tại của hệ thống lên góc trên bên phải màn hình (dùng hàm 2Ch ngắt 21h để lấy thời gian) 10. 9. tốc độ truyền 9600 bits/ giây.Parity lẻ . 12. hai bít stop. Ctrl – 3 : Đưa con trỏ trở về trạng thái bình thường. thời gian là 10 giờ. Viết chương trình hiển thị chuỗi “ngày/tháng/năm – giờ/phút/giây” ra màn hình tại vị trí con trỏ. Lập trình bằng hợp ngữ cho một Modem với các cấu hình như sau: . Ctrl – 1 : Thay đổi hình dạng con trỏ thành con trỏ có kích thước lớn tối đa. chữ vàng. Vẽ một hình chữ nhật trong chế độ đồ họa VGA 17.2 bít stop Biết rằng: Modem được nối vào cổng COM 3 Yêu cầu: Truyền ( hoặc nhận về ) 3 kí tự: a. In ra màn hình 256 kí tự của bảng mã ASCII. 13. Nếu bấm Alt – F3 một lần nữa thì trả về màn hình cũ. 00 giây. nhưng hiển thị chuỗi Hello theo chiều đứng. Viết một điểm ảnh trực tiếp vào bộ nhớ hiển thị (không thông qua RAM). Viết chương trình yêu cầu người sử dụng nhập vào một số n (từ 0 . Ctrl – 2 : Thay đổi hình dạng con trỏ thành một vạch ở giữa. 16. parity chẵn 1. nền xanh dương. 14. Viết chương trình đặt lại thời gian hệ thống là ngày 11 tháng 9 năm 2001. Viết chương trình chặn ngắt 09h để khi gõ Alt-A thì hiển thị chuỗi “ngày/tháng/năm – giờ/phút/giây” tại vị trí góc trên bên trái màn hình có màu vàng.

Sign up to vote on this title
UsefulNot useful