PNC the 3
Alright, so PNC3!! So guys the goal is to create a primereg in assembly. It should be possible with our current knowledge in assembly. If you would like, and just primereg isn't enough for you by all means go further and do things such as:
good luck guys! Have fun!
compiling
nasm -f elf64 -o pnc3.o pnc3.asm ld -o pnc3 pnc3.o
gdb commands
example of displaying registers:
break _start \\Breakpoint 1, 0x0000000000400080 in _start () (gdb) display/x $rax 1: /x $rax = 0x0 (gdb) display/x $rbx 2: /x $rbx = 0x0 (gdb) display/x $rcx 3: /x $rcx = 0x0 (gdb) display/x $rip 4: /x $rip = 0x400080 (gdb) si
Helpful sources:
Register usage: Take note of registers r12-r15
http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/
https://cs.brown.edu/courses/cs033/docs/guides/x64_cheatsheet.pdf
https://www.cs.uaf.edu/2017/fall/cs301/reference/x86_64.html
http://www.egr.unlv.edu/~ed/assembly64.pdf
http://www.felixcloutier.com/x86/ (large list of assembly instructions)
kupala nasm tutorial!! great tutorial!! https://www.youtube.com/watch?v=VQAKkuLL31g&list=PLetF-YjXm-sCH6FrTz4AQhfH6INDQvQSn