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

Schreibe einen Kommentar