Unterschiede zwischen: INT 10H INT 16H INT 21H
Könnte jemand bitte erklären Sie mir die Unterschiede zwischen: INT 10H INT 16H INT 21H in Assembler? Wann sollen wir alle von Ihnen verwenden und für was?
Beispiel: in diesem einfachen code, der für den Druck "Hallo, Welt!"
Warum benutzen wir int 10h in der vierten Zeile?
Warum benutzen wir int 16h in der Zeile vor dem letzten?
name "hi-world"
org 100h
mov ax, 3
int 10h
mov ax, 1003h
mov bx, 0
int 10h
mov ax, 0b800h
mov ds, ax
mov [02h], 'H'
mov [04h], 'e'
mov [06h], 'l'
mov [08h], 'l'
mov [0ah], 'o'
mov [0ch], ','
mov [0eh], 'W'
mov [10h], 'o'
mov [12h], 'r'
mov [14h], 'l'
mov [16h], 'd'
mov [18h], '!'
mov cx, 12 ; number of characters.
mov di, 03h ; start from byte after 'h'
c: mov [di], 11101100b
add di, 2 ; skip over next ascii code in vga memory.
loop c
; wait for any key press:
mov ah, 0
int 16h
ret
InformationsquelleAutor Mariah | 2015-05-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst
INT
bedeutet unterbrechen und hat nichts zu tun mitint
Daten geben.Jeder
INT
stellt eine Funktion der Familie, wo in der RegelAH
stellt die Funktion Anzahl.Beispiel :
INT 0x10 verwendet für Bildschirm-manipulation
INT 0x13 wird für die Lagerung (HDD-und FDD)
Finden Sie alle diese Funktionen hier: Interrupt-Sprung-Tabelle
Aber das sind nur BIOS-INT, die umgeschrieben werden kann durch das Betriebssystem während des Startvorgangs. Zum Beispiel verwendet Windows
INT 0x21
für die Kommunikation zwischen user-space und kernel-space; Linux-Basis verwendenINT 0x80
. Siehe auch Linux System Call TableIn Ihrem code:
mov ax, 3
) bedeutet: die video-Modus, Textmodus 80x25 chars und 16 Farben.InformationsquelleAutor Gabriel Ciubotaru
Hinblick auf dieses Stück die Frage:
Wohl nie.
Diese BIOS-interrupts wurden in Erster Linie verwendet, von MS-DOS-Anwendungen, und sind im wesentlichen veraltet heute. Sie sind nicht verfügbar in runtime-Anwendungen laufen auf jedem modernen Betriebssystem, so dass Sie wahrscheinlich nie verwenden. (Ausnahmen könnte es zählen, wenn Sie die Entwicklung bestimmter Teile der software, die sehr früh im boot-Prozess, wie z.B. ein bootloader, firmware für ein hardware-Gerät, oder wenn Sie entwickeln das BIOS selbst.)
InformationsquelleAutor duskwuff
INT hier steht für INTERRUPT und es hat die Funktion, Modus wie 00,01,02 und so weiter,
INT 10h
wird verwendet für Grafik-und video-Modus-Initialisierung undINT 16h
wird verwendet, um die Tastatur Schlaganfall.InformationsquelleAutor M Mustafa