section .data file_path db '/ebalo/huy.txt', 0 ; Specific file path, null-terminated message db 'Hello, World from KatauOS!', 10, 0 ; Message to write, with newline message_len equ $ - message - 1 ; Length of message (14 bytes, excluding null) section .text global _start _start: ; Open the file mov eax, 5 ; System call number for sys_open mov ebx, file_path ; Pointer to file path mov ecx, 65 ; Flags: O_WRONLY (1) | O_CREAT (64) mov edx, 0x1A4 ; Mode: 0644 (rw-r--r--) int 0x80 ; Invoke system call mov edi, eax ; Save file descriptor in edi ; Write to the file mov eax, 4 ; System call number for sys_write mov ebx, edi ; File descriptor mov ecx, message ; Pointer to message mov edx, message_len ; Number of bytes to write int 0x80 ; Invoke system call ; Close the file mov eax, 6 ; System call number for sys_close mov ebx, edi ; File descriptor int 0x80 ; Invoke system call ; Exit the program mov eax, 1 ; System call number for sys_exit xor ebx, ebx ; Return status 0 int 0x80 ; Invoke system call