Db *May tính dang dung co cong LPT không? $° co đb “Co $°

Một phần của tài liệu Bài tập mẫu NN assembly (Trang 37 - 38)

co đb “Co $°

khong db “ Khong $°

M2 db 13,10,°So luong cong LPT ma may tỉnh co la : $” M4 db 13,10,°Dia chỉ cac cong LPT la : $°

space đb“ $° .CODE .CODE PS: mov ax,(@data mov đs,ax CLRSCR

HienString MI ; Hiện thông báo “May tỉnh dang dung co cong LPT khong ?°

in 11h ; Ngắt hệ thông thực hiện việc đưa nội dung ô nhớ 0:411h -> ah

mov al,ah ; Đưa nội dung 0:411h -> al mov cl6

shr al,cl ; al = số lượng công LPT

jnz LI ; Nếu al # 0 (có công LPT thì nhảy)

HienString khong ; còn không thì hiện thông báo “Khong” Jmp Exit ; Nhảy đến nhãn Exit

LI:

HienString co ; Hiện thông báo “Co” mov cl,al

xor ch,ch ; cx = số lượng công LPT (chỉ số vòng lặp hiện địa chỉ) HienString M2 ; Hiện thông báo “So luong cong LPT ma may tỉnh co la : °

add alL30h ; al là mã ASCII số lượng cổng LPT

mov ah,0ch ; Chức năng hiện I ký tự ASCH lên màn hình

ít 10h

HienString M3 ; Hiện thông báo “Dia chỉ cac cong LPT la : °

XOr aX,aX ImOV ۤ,aX ImOV ۤ,aX

lea bx,40§h ; es:bx = 0:408h (nơi chứa địa chí cổng LPT1) L2:

mov ax,es:[bx] ¡ ax = địa chỉ LPT

call HIEN HEXA ; Hiện địa chỉ dạng HEXA lên màn hình

HienString space ; Hiên một số dấu cách

add bx,2 ; bx trỏ đến các byte chứa địa chí công COM tiếp theo

loop L2

Exit:

mov ah,4ch ; Về DOS in 21h

INCLUDE lib3.asm ; lib3.asm chứa chương trình con HIEN_HEXA

END PS Bài 4 Bài 4

Hãy viết chương trình cho biết máy tính bạn đang dùng có card điều khiến màn hình

loại gì (mono hay color)?

Cách giải : Chú ý byte của có địa chỉ 0:410h của vùng dữ liệu ROM BIOS có chứa các thông (adsbygoogle = window.adsbygoogle || []).push({});

tin liên quan đên loại card điêu khiên màn hình, cụ thê như sau :

jmmmmmmmw

{ 1 1... mono

# 1 1... color

Khi chương trình chạy yêu câu có dạng :

Loai card dieu khien man hinh ma may tỉnh co la : Color

INCLUDE libl.asm .MODEL small .STACK 100h .DATA

MI dbLoai card dieu khien man hinh ma may tỉnh co la : $° color db “Color $” mono đb *Mono $° .CODE PS: mov ax,(@data mov đs,ax CLRSCR

HienString MI ; Hiện “Loai card dieu khien man hinh ma may tính co la :”

in 11h ; Ngắt hệ thống thực hiện việc đưa nội dung ô nhớ 0:410h -> al

and al,00110000b ; Tách 2 bit có thông tin liên quan đến loại card đ/k màn hình cmp al,00110000b ; Liệu có phải loại card điều khiển màn hình là mono? Jne LI ; Không phải là card mono thì nhảy đến LI

HienString mono ; còn phải thì hiện thông báo “Mono”

jmp Exit ; Nhảy đến nhãn Exit LI:

HienString color ; Hiện thông báo “Color” Exit:

mov ah,4ch ;Về DOS ¡mt 21h

Một phần của tài liệu Bài tập mẫu NN assembly (Trang 37 - 38)