Instrucțiunile IN și OUT realizează transferul de date prin spațiul I/O separat al procesoarelor x86 (porturile 0x0000 – 0xFFFF), utilizat pentru comunicarea directă cu placa de bază, porturile seriale COM, controlerul de tastatură și cipurile legacy.
; Trimiterea unui caracter către portul serial COM1 (0x3F8):
global trimite_port_serial
trimite_port_serial:
mov dx, 0x3F8 ; Registrul DX conține numărul portului I/O
mov al, 'A' ; Caracterul de trimis
out dx, al ; Emite caracterul pe magistrala I/O fizică
ret
; Citirea stării tastaturii din portul 0x64:
citeste_stare_tastatura:
mov dx, 0x64
in al, dx ; Citește octetul de stare în AL
ret
Nivel de permisiuni: Execuția instrucțiunilor I/O necesită permisiuni acordate de nucleul sistemului de operare (prin masca IOPL din RFLAGS sau harta de permisiuni I/O din TSS).
Întrebări & Exemple de Cod:
Instrucțiunile IN și OUT în x86_64: Comunicarea cu Porturile HardwareAi o nelămurire despre utilizarea comenzii
Instrucțiunile IN și OUT în x86_64: Comunicarea cu Porturile Hardwaresau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.