1. Trang chủ
  2. » Công Nghệ Thông Tin

BT Cấu Trúc máy tính có lời giải

11 1,4K 14

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 23,26 KB

Nội dung

BÀI TẬP Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM sử dụng ngắt INT 10h/AH=0 để đặt chế độ hình 02h Sau đó, sử dụng ngắt INT 10h/AH=13h để hiển thị lên hình máy tính dòng chữ: “HOC VIEN KTQS” thuộc tính đỏ chữ vàng (4Eh) bắt đầu vị trí cột 15, dòng 20 org 100h Begin: ;dat mode man hinh: mov ah,00h mov al,02h int 10h ;hien thi dong chu: mov al,00 mov ah,13h mov cx,13 mov bl,4eh lea bp,str ;vi tri tro: mov dh,0fh mov dl,14h int 10h ;ket thuc: int 20h str db "HOC VIEN KTQS" ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM sử dụng ngắt INT 10h/AH=0 thiết lập chế độ hình 03.Sau đó, sử dụng ngắt INT 10h/AH=13h để hiển thị lên hình bắt đầu vị trí cột 30, dòng 12, chuỗi ký tự “CAU TRUC MAY TINH” thuộc tính chữ màu đỏ, màu vàng (1110_0100b) org 100h ;dat mode man hinh: mov ah,00h mov al,03h int 10h ;hien thi dong chu: mov al,00 mov ah,13h mov cx,17 mov bl,0e4h lea bp,str ;vi tri tro: mov dh,0ch mov dl,1eh int 10h ;ket thuc: int 20h str db "CAU TRUC MAY TINH" ret Bài tập: Viết chương trình hợp ngữ sử dụng ngắt INT 14h/AH=00 để thiết lập tham số truyền cổng COM1: tốc độ truyền 4800 baud, độ dài liệu bit, bit dừng (1 stop bit), kiểm tra lỗi bit bậc chẵn (Even Parity) Sau đó, kiểm tra ghi đệm phát rỗng (bit D5=1 từ trạng thái cổng COM) sử dụng ngắt INT 14h/AH=01 để gửi chuỗi ký tự “Hello!” cổng COM1 org 100h DATA DB "HELLO","$" ;che cong com1 mov ah,00 mov dx,00 mov al,82h; 110=4800;11=BAC CHAN;0=1 BIT DUNG;10=7 BI int 14h ;thiet lap duong truyen: mov al,80h mov dx,3fbh out dx,al ;gui so chia: mov ax,18h mov dx,3f8h out dx,al mov al,ah inc dx out dx,al ;thiet lap tham so truyen: mov al,82h mov dx,03fbh out dx,al mov [SI],OFFSET DATA ;hoi bi trang thai cua ghi mov dx,03fdh lap1: mov ah,01 int 14h in al,dx and al,20h cmp al,20h jnz lap1 mov al,[SI] cmp al,"$" je kt kt: int 20h ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM thiết lập hình chế độ đồ họa 13h, sau vẽ hình đường dọc toạ độ cột 62 hàng 60 (62,60) đến toạ độ cột 62 hàng 30 (62,30) org 100h ; xoa man hinh mov ax,0600h mov bh,07h mov cx,0000 ;toa dau man hinh mov dx,184fh int 10h ;dat che do hoa cho man hinh mov ax,0013h int 10h ;ve duong doc mov dx,60 mov cx,62 lap: mov ah,0ch mov al,01h int 10h dec cx cmp cx,30 jnz lap ;ket thuc int 20h ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM sử dụng ngắt INT 21h/AH=9 hiển thị thông báo: “Nhan phim:” Sau đó, dùng ngắt INT16h/AH=00 để đọc ký tự từ bàn phím ký tự hình ngắt INT 10h/AH=0Eh Quá trình lặp liên tục bạn ấn phím ESC mã ASCII 1Bh chương trình kết thúc org 100h ;hien thong bao: mov ah, 09h lea dx,tb int 21h ;doc ki tu tu ban phim: dkt: mov ah, 00H int 16h jz dkt ;hien kt man hinh: mov ah, 0eh int 10h ;neu an ESC thi kt: cmp al,1bh jz kt jmp dkt ;ket thuc ct: kt: int 20h tb db "nhan phim:$" ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM sử dụng ngắt INT 10h/AH=0 thiết lập hình chế độ 0, sau sử dụng ngắt INT 10h/AH=09 hiển thị lên hình bắt đầu ví trí toạ độ cột 20 , hàng 12 ký tự mã ASCII sau: 31h, 32h, 33h, 34h, 35h, 36h, với thuộc tính chữ trắng đỏ? org 100h ;sd ghi si làm dem: mov si,06 ;dat che hien thi: mov ax,0002h int 10h ;dat vi tri tro: mov dh,0ch mov dl,14h call vitri ;hien ki tu co thuoc tinh: mov al,31h mov bl,47h lap: mov ah,03; vi tri hien thoi tro int 10h mov cx,01 mov ah,09 int 10h inc dl dec al ;tao khoang trong: call kt dec si jnz lap int 20h ;dich vi tri tro: call vitri ;ct dat tro vao vi tri: vitri proc near mov ah,02h int 10h ret ;ct tao kt: kt proc near push ax push dx mov ah,02 mov dl,00 int 21h pop dx pop ax ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM thiết lập tham số truyền cho vi mạch UART 8250 máy tính địa giải mã 3f8h sau: bit data, bits stop, kiểm tra lẻ, tốc độ truyền 14.400 bps, với tần số clock 1,843MHz (Có thể dùng ngắt INT 14h/AH=0 để thiết lập tham số truyền cổng COM1) org 100h ;thiet lap duong truyen:dat bit D7 co ghi 3fbh len 1: mov al,80h mov dx,3fbh;nap dia chi out dx,al ;gui so chia mov ax,08h;toc truyen 14.400 mov dx,3f8h;dia chi phan thap so chia out dx,al; chuyen phan cao so chia sang al inc dx; dia chi phan cao so chia out dx,al; nap phan cao so chia ;thiet lap tham so truyen: mov al,82h mov dx,03fbh ;dia chi ghi dk duong truyen out dx,al int 20h ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM sử dụng ngắt INT 16h/AH=0 đọc ký tự từ bàn phím Nếu phím ấn thị thông báo "Phim duoc an la:" ký tự Sau lại quay lại đọc bàn phím Chương trình kết thúc ấn phím ESC (mã ASCII 1Bh) org 100h begin: ;hien thong bao: mov ah, 09h lea dx,tb int 21h ;kiem tra co phim an: mov ah,08 int 21h ;doc ki tu tu ban phim: dkt: mov ah, 00H int 16h jz dkt ;hien kt man hinh: mov ah,0eh int 10h ;neu an ESC thi kt: cmp al,1bh jz kt jmp dkt jmp begin ;ket thuc ct: kt: int 20h tb db "phim duoc an la:$" ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM sử dụng ngắt INT 10h/AH=0 để thiết lập chế độ hình 06 (chế độ hình đồ hoạ, độ phân giải 640x200, màu) Sau đó, sử dụng ngắt INT 10h/AH=0Ch để vẽ đường chéo màu trắng từ điểm ảnh toạ độ (60,60) đến toạ độ (40,40) org 100h ; xoa man hinh mov ax,0600h mov bh,07h mov cx,0000 ;toa dau man hinh mov dx,184fh int 10h ;dat che do hoa cho man hinh mov ax,0013h int 10h ;ve duong cheo mov dx,60 mov cx,60 lap: mov ah,0ch mov al,01h int 10h dec cx dec dx cmp cx,40 jnz lap 10 11 ret Bài tập: Lập trình hợp ngữ Assembly file phần mở rộng COM sử dụng ngắt INT 16h/AH=0 liên tục đọc liệu từ bàn phím Nếu ký tự nhấn ‘b’ bật loa cách đặt bit D1, D0 cổng với địa 61h Sau đó, quay lại đọc liệu bàn phím Nếu phím nhấn (không phải phím ‘b’) loa tắt cách xóa bit D1, D0 cổng 61h Rồi quay lại đọc bàn phím org 100h dockitu: mov ah, 00H int 16h jz dockitu cmp al,"b" jz batloa mov al,00h out 61h,al batloa: mov bl,00000011b mov al,bl out 61h,al jmp dockitu ret Bài tập: Viết chương trình hợp ngữ sử dụng ngắt INT 14h/AH=00 để thiết lập tham số truyền cổng COM1: tốc độ 4800 baud, độ dài liệu bit, bit dừng (1 stop bit), kiểm tra lỗi bit bậc chẵn (Even Parity) Sau đó, kiểm tra liệu nhận (bit D0=1 từ trạng thái cổng COM) sử dụng ngắt INT 14h/AH=02 để nhận ký tự từ cổng COM1, cất vào nhớ địa DS:200h Nếu nhận ký tự Esc (mã ASCII 1Bh) kết thúc chương trình org 100h ;che cong com1 mov ah,00 mov dx,00 mov al,82h; 110=4800;11=BAC CHAN;0=1 BIT DUNG;10=7 BI 12 int 14h ;thiet lap duong truyen: mov al,80h mov dx,3fbh out dx,al ;gui so chia: mov ax,18h mov dx,3f8h out dx,al mov al,ah inc dx out dx,al ;thiet lap tham so truyen: mov al,82h mov dx,03fbh out dx,al ;hoi bi trang thai cua ghi mov dx,03fdh lap1: mov ah,02 int 14h in al,dx and al,01h cmp al,01h jnz lap1 ;nhan so lieu tu cong mov cx,00 mov dx,03f8h in al,dx mov di:[200h],al inc di cmp al,1bh je kt jnz lap1 kt: int 20h ret Bài tập: Lập trình hợp ngữ sử dụng ngắt INT 14h/AH=1 khởi tạo cổng máy in LPT1 Sau kiểm tra trạng thái cổng máy in Nếu trạng thái máy in sẵn sàng (bit D7=1 trạng thái cổng máy in), sử dụng ngắt INT 14h/AH=0 để in chuỗi ký tự “I print a message” Sau thoát org 100h ;khoi tao cong may in mov ah,0 mov dx,0 mov ah,01 int 14h ;dieu khien may in out dx,al inc dx B3: sub cx,cx B3_1: in al,dx mov ah,al test al,80h jnz B4 loop B3_1 dec bl jnz B3 or ah,01 and ah,0f9h B4: mov al,0dh inc dx out dx,al mov al,0ch out dx,al mov [SI],OFFSET DATA ;kiem tra bit D7 lap1: mov ah,01 int 14h in al,dx and al,80h cmp al,80h jnz lap1 mov al,[SI] cmp al,"$" je kt kt: int 20h DATA DB "I print a message","$" ret

Ngày đăng: 18/10/2017, 04:33

TỪ KHÓA LIÊN QUAN

w