Thông tin tài liệu:
Tài liệu tham khảo Bài giảng hợp ngữ gồm 9 chương - Chương 8 Sử dụng ngắt trong hợp ngữ
Nội dung trích xuất từ tài liệu:
Bài giảng hợp ngữ - Chương 8Bài gi ng h p ng Ch ng VIII: S d ng ng t trong h p ng CH NG VIII: S D NG NG T TRONG H P NG8.1 Khái ni m ng t Trong ch ng II ta ã c p t i khái ni m ch ng trình ng t nh ng ch a gi i thíchng t là gì. Có th tóm t t v khái ni m ng t nh sau: Ng t là hành ng d ng ch ng trình ang ch y th c hi n m t ch ng trình khác(ch ng trình này c g i là ch ng trình x lý ng t). vi x lý s d ng các côngvi c ang th c hi n khi nó nh n c m t t ín hi u yêu c u ng t r i trao quy n u khi n i cho ch ng trình x lý ng t. Tín hi u yêu c u ng t có th do m t thi t b p h n c ngho c do m t l nh INT trong ch ng trình sinh ra. Quá trình ng t c mô t trong hình i ây: Ch ng trình b ng t Ch ng trình x lý ng t nh 1 nh 2 nh 1 nh 2 ... ... INT ... IRET Ch ng trình x lý ng t c n c k t thúc b ng l nh IRET sau khi th c hi n xongcó th quay tr v th c hi n ti p ch ng trình b ng t tr c ó. Có nhi u lo i ng t khác nhau, p hân bi t các ng t c n d a vào s hi u c a chúng. Bvi x lý 8086 có th qu n lý 256 ng t, c ánh s l n l t t 0, 1, 2,..., FFh. D i â ylà b ng danh sách các ng t: hi u ng t Ch c n ng 0 – 1Fh Ng t c a BIOS 20h – 3Fh Ng t c a DOS 40h – 7Fh D tr 80h – F0h Dùng cho ch ng trình BASIC trong ROM F1h – FFh Không s d ng Gi i thích: Ch ng trình x lý ng t có th là m t b ph n c a BIOS hay c a DOS, c ng có th dong i s d ng t vi t. Ta c n phân bi t rõ hai khái ni m: “Ng t” và “Ch ng trình x lýng t”. Không ph i s hi u ng t nào c ng có có ch ng trình x lý ng t t ng ng. Khi m t ng t có s hi u t 0 – 1Fh xu t hi n thì chúng s c x lý b i các ch ngtrình vi t s n n m trong ROM BIOS (ch y u là gi i quy t các yêu c u vào/ ra c b n).Còn n u ng t có s hi u t 20h – 3Fh thì s do h u hành DOS x lý. 60Bài gi ng h p ng Ch ng VIII: S d ng ng t trong h p ng8.2 Phân lo i ng t phân lo i c n d a trên m t t iêu chí nào ó, ây ta s phân lo i ng t d a trên cáchth c phát sinh ng t, t m chia làm hai lo i sau: Ng t m m và Ng t c ng.8.2.1 Ng t m m Ta g i m t ng t là ng t m m n u nó c phát sinh khi có l i g i ng t b ng l nh INTtrong ch ng trình. Cú pháp c a l nh INT là: INT Ví d : INT 21h ;G i ng t 21h c a DOS INT 13h ;G i ng t 13h c a BIOS8.2.2 Ng t c ng M t ng t c ng phát sinh khi có m t t hi t b ph n c ng g i tín hi u yêu c u ng t t i bvi x lý.Ví d : Khi ta gõ m t phím trên bàn phím hay b m chu t, s có tín hi u ng t g i t i b vi xlý yêu c u x lý hành ng v a th c hi n. Các ng t c kích ho t t thi t b ngoài (bàn phím, chu t...) gi ng nh ví d trên c g i là Ng t c ng ngoài. Còn n u ng t phát sinh b i các kinh ki n b tr n m trênmainboard thì c g i là Ng t c ng trong (hay ng t c ng n i b ).8.3 M t s ng t thông d ng Trong ph n này ta s tìm hi u tác d ng c a m t s ng t và cách th c s d ng chúngtrong ch ng trình. Nói chung m i ng t th ng có nhi u ch c n ng khác nhau, s hi uch c n ng c n c t vào thanh ghi AH tr c khi g i ng t b ng l nh INT.8.3.1 Ng t 17h – Vào/ra máy in ây là ng t do BIOS qu n lý, nó có ba ch c n ng:a) Ch c n ng s 0: a m t kí t ra máy in Các tham s : AH = 0 AL = Mã ASCII c a kí t c n in DX = S hi u máy inVí d : G i kí t ‘A’ ra máy in.Gi i: MOV AH, 0 MOV AL, ‘A’ ;Kí t c n in MOV DX, 0 ;Máy in s 0 INT 17h MOV AH, 0 MOV AL, 0Ah ;in ti p kí t xu ng dòng INT 17h 61Bài gi ng h p ng Ch ng VIII: S d ng ng t trong h p ngb) Ch c n ng s 1: Kh i t o c ng máy in Các tham s : AH = 1 DX = S hi u máy inc) Ch c n ng s 2: Ki m tra tr ng thái máy in Vào: AH = 2 DX = S hi u máy in Ra: AH ch a tr ng thái máy in Các tr ng thái c a máy in c li t kê trong b ng sau: Các bít c a AH Gi ...