Pages

Sunday, November 10, 2019

Fedora 31 : another FASM tutorial with Linux.

Today I wrote another tutorial about FASM and assembly language on my website.
Because I used the Fedora distro I add my tutorial here.
If you want to learn assembly programming for Windows O.S. or Linux with the Intel C.P.U. then you need the FASM tool and this manual.
Today I will show you how to create a file using my Fedora 31 Linux distro and FASM tool.
The name of this file will be new_file.txt.
The assembly program will use INT 0x08 to create the file.
entry _start

filename db "new_file.txt", 0

_start:
    ; create a new file
    mov rax, 8
    mov rbx, filename
    mov rcx, 0011
    int 0x80

    ; use descriptor
    push rax

    ; close the new file
    mov rax, 6
    pop rbx
    int 0x80

    call exit

exit:
    mov rax, 1
    mov rbx, 0
    int 0x80>
The program also set the file permissions in the rcx register.
Let's see some octal permissions:
    mov rcx, 000

----------. 1 mythcat mythcat       0 Nov 10 17:40 new_file.txt
    mov rcx, 0001

---------x. 1 mythcat mythcat       0 Nov 10 17:41 new_file.txt
    mov rcx, 0011

------x--x. 1 mythcat mythcat       0 Nov 10 17:43 new_file.txt