Đang tải... (xem toàn văn)
[r]
(1)Các ngắt BIOS Số hiệu
ngắt Hàm Công dụng Tham số vào Tham số ra
10h Chọn chế độ hiển thịcho hình. ah=0; al=chế độ(VGA, 16 mau>: al=3) Không
Thay đổi kích thớc trỏ, phải chọn dịng qt bắt đầu kết thúc trỏ
ah=1; bit thấp ch=dòng quét đầu; bit
thp cl=dịng qt cuối Khơng Dịch chuyển trỏ (vịtrí). ah=2; bh=số trang;dh=hàng; dl=cột Khơng Xác định vị trí kíchthớc thời
trá ah=3; bh=số trang;
ch=dòng quét đầu; cl=dòng quét cuối; dh=dòng; dl=cột
5 Chọn trang hiển thị ah=5;dh=dòng; dl=cộtal=số trang; Kh«ng
6 Cuốn hình hay cửasổ lên số dịng xác định
ah=6; al=sè dßng cn (al=0 hình hay cửa sổ); bh=thuộc tính dòng trống; (ch,cl)=(dòng,cột) góc trái cửa sổ; (dh,dl)=(dòng,cột) góc dới phải cửa sổ
Không
7 Cuốn hình hay cửasổ xuống số dũng xỏc nh
ah=6; al=số dòng (al=0 hình hay cửa sổ); bh=thuộc tính dòng trống; (ch,cl)=(dòng,cột) góc trái cửa sổ; (dh,dl)=(dòng,cột) góc dới phải cửa sổ
Không
8 Đọc ký tự với thuộc tínhtại vị trí trá (m·
ASCII) ah=8; bh=sè trang
ah=thuéc tÝnh; al=m· ASCII cđa ký tù
9 HiƯn ký tù với thuộctính vị trí trỏ. ah=9; al=mà ASCII cđa kýtù; bh=sè trang; bl=thc
tÝnh; cx=sè lÇn viÕt ký tự Không 0ah Viết ký tự vị trí contrá, ký tù nhËn thuéc
tÝnh cña ký tù viÕt tríc
ah=0ah; al=m· ASCII cđa ký tù; bl=sè trang; cx=số
lần viết ký tự Không 0bh Thiết lập bảng màu,nền viền.
0ch Vit im nh đồ hoạ 0dh Đọc điểm ảnh đồ hoạ 0eh Viết ký tự chế độtelex
0fh Xác định chế độ mànhình 10h (hàm
con 10h) ThiÕt lËp ghi mµu 10h (hµm
con 12h) ThiÕt lËp nhãm cácthanh ghi màu 10h (hàm
con 15h) Xỏc nh ghi màu 10h (hàm
(2)13h ghi/đọc
đĩa Đọc sector
ah=2; al=số sector; ch=track; cl=sector; dh=head; dl=ổ đĩa (0-7f với đĩa mềm, 80-ffh với đĩa cứng); ES:BX=seg:off vùng đệm chứa dự liệu c
Thành công:
CF=0; ah=0; al=s cung c c
Không thành công: CF=1; ah=mà lỗi
3 Ghi sector
ah=3; al=số sector; ch=track; cl=sector; dh=head; dl=ổ đĩa (0-7f với đĩa mềm, 80-ffh với đĩa cứng); ES:BX=seg:off ca vựng m cha d liu ghi
Thành công:
CF=0; ah=0; al=s cung c ghi
Không thành công: CF=1; ah=mà lỗi 16h
Bàn phím Đọc ký tù tõ bµn phÝm ah=0; ah=scan code cđa phÝm;al=m· ASCII ký tự
2 Lấy cờ bàn phÝm ah=2;
al=các cờ (8); al7=1: Phím insert đợc ấn; al6=1: Phím Caps Lock đợc ấn; al5=1: Phím Num Lock đợc ấn; al4=1: Phím Scrol Lock đợc ấn; al3=1: Phím Alt đợc ấn; al2=1; Phím Ctrl đợc ấn; al1=1: Phím Shif trái đợc ấn; al0=1: Phím Shif phải đợc n
10h Đọc ký tự tự bàn phím(loại 101 phÝm) ah=10h ah=scan code cña phÝm;al=m· ASCII cña ký tù 17h
M¸y in ViÕt ký tù m¸y in Các ngắt DOS
Số hiệu
ngắt Hàm Công dụng Tham số vào Tham số ra
21h Kết thúc việc thi hànhmột chơng trình ah=0; CS=địa đoạn củađoạn mào đầu (PSP) Không
1
Vào ký tự từ bàn phím (đợi đọc ký tự từ thiết bị vào chuẩn (nếu cha có), sau đa ký tự tới thiết bị chuẩn đa mã ASCII ký tự vào al
ah=1 al=m· ASCII cña ký tù
2
Hiển thị lên hình (đa ký tự có mà ASCII dl tíi thiÕt bÞ chn)
ah=2; dl=mà ASCII ký
tự cần (đa ra) hiển thị Không In ký tự (đa ký tự có m·ASCII dl tíi thiÕt
bÞ in chn)
ah=5; dl=mà ASCII ký
tự cần (đa ra) in Không Hiển thị chuỗi (đa chuỗiký tự tới thiết bị
chuẩn)
ah=9; ds:dx=trỏ tới chuỗi
ký tù kÕt thóc b»ng ‘$’ Kh«ng
2ah Xác định ngày tháng ah=2ah;
al=ngµy (0=chđ nhËt, 1=thø hai, , 6=thứ bảy); cx=năm (1980 2099); dh=tháng (1 12); dl=ngày (1 31) 2bh Đặt ngày tháng
ah=2bh;
cx=năm(1980 2099); dh=tháng (1 12); dl=ngày (1 31)
al=00h ngày hợp lệ; al=ffh ngày không hợp lệ
(3)dh=giây (0 59); dl=phần trăm giây(0 99)
2dh Đặt thời gian
ah=2dh; ch=giờ (0 23); cl=phút(0 59);
dh=giây (0 59); dl=phần trăm giây(0 99)
al=00f nÕu tgian hỵp lƯ; al=ffh nÕu thêi gian không hợp lệ
30h Xỏc nh s phiờn bảncủa DOS hành ah=30h;
bx=0000h; cx=0000h; al=sè chÝnh phiên (trớc dấu chấm); ah=số phụ phiên b¶n (sau dÊu chÊm)
31h
Kết thúc chơng trình lại thờng trú (kết thúc chơng trình dành vùng nhớ tính theo n v 16 byte)
ah=31h; al=mà trả lại; dx=kích thíc bé nhí tÝnh
theo đơn vị 16 byte Không
33h Kiểm tra Ctrl-Break(thiết lập xác định trạng thái Break)
ah=33h;
al=00h để xác định trạng thái Ctrl-Break al=01h để thiết lập trạng thái Ctrl-Break dl=00h để thiết lập trạng thái OFF Ctrl-Break dl=01h để thiết lập trạng thỏi ON ca Ctrl-Break
dl=trạng thái hành (00h=OFF, 01h=ON)
35h Xác định vector ngắt(nhận địa
vector ng¾t) ah=35h; al=sè hiƯu ng¾t;
es:bx=con trỏ trỏ đến ch-ơng trình phục vụ ngắt
36h Xác định dung lợng còntrống đĩa ah=36h;(0=default, 1=A, …);dl=ổ đĩa
bx=số free cluster; dx=số cluster/đĩa; cx=số byte/sector; ax=số sector/cluster, =ffffh ổ đĩa không hợp lệ
39h Tạo th mục (MkDir) ah=39h; ds:dx=con trỏ trỏđến chuỗi ASCIIZ
(đ-ờng dẫn-path) ax=mã lỗi CF=1 3ah Xoá thu mục con(RmDir) ah=3ah; ds:dx=con trỏ trỏđến chuỗi ASCIIZ
(đ-ờng dẫn-path) ax=mã lỗi CF=1 3bh Thay đổi th mục hiệntại (ChDir) ah=3bh; ds:dx=con trỏ trỏđến chui ASCIIZ
(đ-ờng dẫn-path) ax=mà lỗi CF=1 3ch
Tạo lập tệp (Creat) – Tạo tệp cắt bỏ tệp cũ để có đọ dài để chuẩn bị ghi
ah=3ch; ds:dx=con trỏ trỏ đến chuỗi ASCIIZ (đ-ờng dẫn-path); cx=thuộc tớnh ca
ax=mà lỗi CF=1, =thẻ 16 bit nÕu CF=0
3dh Më mét tƯp cho tríc
ah=3dh; ds:dx=con trỏ trỏ đến chuỗi ASCIIZ (đ-ờng dn-path); al=mó truy nhp
ax=mà lỗi CF=1, =thẻ 16 bit CF=0 3eh Đóng thẻ tệp chotrớc ah=3eh; bx=thẻ tệp đa lạibởi thao tác mở hay tạo tệp ax=mà lỗi CF=1,không có nghĩa CF=0
3fh
Đọc từ tệp hay từ thiết bị (chuyển số byte cho trớc từ tệp vào đệm cho trớc)
ah=3fh; bx=thẻ tệp; ds:dx=địa đệm; cx=số byte đọc;
ax=số byte đọc đợc, =mã lỗi CF=1
40h Ghi vào tệp hay vào thiết bị (chuyển số byte cho trớc từ đệm vào tệp
ah=40h; bx=thẻ tệp; ds:dx=địa đệm (dữ liệu để viết); cx=số byte đợc viết;
(4)cho tríc) 41h
Xoá tệp th mục định (Unlink) – Xoá danh mục t-ơng ứng với tên tệp th mục
ah=41h; ds:dx=địa
một ASCIIZ ax=mà lỗi CF=1,không cónghĩa CF=0
42h
Di chuyển trỏ ghi/đọc tệp (LSeek) theo phng thc nh trc
ah=42h; ds:dx=khoảng cách (offset) di chun theo byte; al=ph¬ng thøc di chun (0, 1, 2); bx=thẻ tệp
ax=mà lỗi CF=1; dx:ax=vị trÝ trá míi nÕu CF=0
47h
Xác định th mục thời Đa đờng dẫn đầy đủ (bắt đầu từ th mục gốc) th mục cho ổ đĩa cho trớc vào vùng nhớ có địa ds:si
ah=47h; ds:si=con trỏ tới vùng nhớ 64 byte ngời sử dụng; dl=số hiệu ổ đĩa (0=default, 1=A, )
ds:si tên đờng dẫn đầy đủ từ th mục gốc CF=0; ax=mã lỗi CF=1
48h Cấp phát nhớ theosố đơn vị 16 byte (paragraph) yêu cầu
ah=48h; bx=số đơn vị 16 byte nhớ yêu cầu;
ax:0=địa ch nh cp phỏt;
ax=mà lỗi CF=1; ax nghĩa CF=0
49h 4ch
Kết thúc chơng trình (exit) trả điều khiển cho chơng trình gọi
ah=4ch; al=mà đa lại Không
25h c a tuyt i
al=số hiệu ổ đĩa; cx=số sector cần đọc; dx=số cung logic bắt đầu; ds:bx=địa chuyển đến
Thành công: CF=0 Không thành công: CF=1 ax chứa mã lỗi 26h Ghi đĩa tuyệt đối
al=số hiệu ổ đĩa; cx=số sector cần ghi; dx=số cung logic bắt đầu; ds:bx=địa chuyển
Thành công: CF=0 Không thành công: CF=1 ax chứa mã lỗi 27h Kết thúc chơng trình vàở lại thờng trú dx=độ lệch chỗ bắt đầuvùng nhớ đợc giải phóng,