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