Interrupts are a mechanism used to signal the processor to stop its current operations and execute a special routine, known as an interrupt handler.
int.int InstructionThe int instruction is used to generate a software interrupt. The interrupt vector determines the routine to execute.
section .data
char db 'A' ; Character to print
section .text
global _start
_start:
mov rax, 0x01 ; System call: write
mov rdi, 1 ; File descriptor: stdout
mov rsi, char ; Address of the character
mov rdx, 1 ; Number of bytes to write
syscall ; Trigger the system call
mov rax, 60 ; System call: exit
xor rdi, rdi ; Exit code: 0
syscall
This example uses a Linux system call to print a character to the screen.
section .text
global _start
_start:
mov ah, 0x09 ; DOS interrupt for printing a string
mov dx, msg ; Address of the string
int 0x21 ; Call interrupt 21h
mov ah, 0x4C ; DOS interrupt for exit
int 0x21 ; Exit the program
section .data
msg db 'Hello, World!$', 0x0
This example demonstrates a DOS interrupt on x86 systems to print a string.