[0m[1;31m--- [35m[[37m2[35m][0m [1;33mHello World In Assembly[0m [1;31m--------------------------------------------[37m//[31m--
[0m
[31m[[1;37m CODE - bigsmile.asm [0;31m]
[37m
[1;35mSECTION .DATA
[37m  [35mmsg:     db[37m [33m"[^0^] u!!"[37m,[36m10[37m
  [35mmsgLen:  equ $[37m-[35mmsg
[37m
[35mSECTION .TEXT
GLOBAL _start
[37m
[35m_start:[37m
[0m; Print ----------------------------------------------------------------
[1m  [31mmov[37m [36mrax[37m, [32m1[37m      [0m; Syscall 1[1m
  [31mmov[37m [36mrdi[37m, [32m1[37m      [0m; The File Descriptor - STDOUT
[1m  [31mmov[37m [36mrsi[37m, [35mmsg[37m    [0m; Pointer to the message
[1m  [31mmov[37m [36mrdx[37m,[35m msgLen [0m; Length of the Message
[1m  [31msyscall
[37m
[0m; Exit -----------------------------------------------------------------
[1m  [31mmov[37m [36mrax[37m, [32m60[37m     [0m; Syscall 60
[1m  [31mmov [36mrdi[37m, [32m0[37m      [0m; Error code - eg return 0;[1m
  [31msyscall[37m

[0;31m[[1;37m Build and Execute [0;31m]
[37m
[1m [36mnasm -f elf64 bigsmile.asm -o bigsmile.o
 ld bigsmile.o -o bigsmile
[37m [36m./bigsmile
[0m
[31m[ [1;37mRead attributes about the elf binary [0;31m]
[1;37m
[36m readelf -a bigsmile
[0m
[31m[ [1;37mDisassembly[0;31m ]
[1;37m
[36m r2 bigsmile
[37m
[32m[0x00400082]>[37m pd
  ;-- entry0:
  ;-- section..TEXT:
  ;-- rip:
  [33m0x00400082[37m b801000000     mov eax, 1
  [33m0x00400087[37m bf01000000     mov edi, 1
  [33m0x0040008c[37m 48be78004000.  movabs rsi, 0x400078 ; section..DATA ;"[^0^] u!!\n"[0m
[1m  [33m0x00400096[37m ba0a000000     mov edx, 0xa
  [33m0x0040009b[37m 0f05           syscall
  [33m0x0040009d[37m b83c000000     mov eax, 0x3c
  [33m0x004000a2 [37mbf00000000     mov edi, 0
  [33m0x004000a7 [37m0f05           syscall
[0m
[31m[ [1;37mChanges Made[0;31m ][37m

 [31m-[1;37m Using syscalls directly[0m
[1m [0;31m-[1;37m Using nasm to compile and ld to link[0m

 [1;31m-----------------------------------------------------------------------------
[32m  [0;31m[[1;32m [37mPREV[0m [31m][1;32m [36mcurl -sL n0.lol/i2ao/1             [0;31m[[1;37m NEXT[32m [0;31m][1;32m [36mcurl -sL n0.lol/i2ao/3
[0m


