รวมคำสั่งพื้นฐานใน Assembly พอใช้เพื่อทวนความจำกัน [จะอัพเดตเรื่อยๆนะ]
mov คือ การ copy (คัดลอก) ข้อมูลจาก source ไปยัง destination
mov ebx, eax ; คัดลอกค่าจาก eax ไปสู่ ebxadd คือคำสั่งบวก โดยนำค่าจาก source ไปบวก destination แล้วเก็บผลลัพธ์ไว้ที่ destination
add eax, 0x64 ; บวกค่า eax ด้วยจำนวน 0x64 เเล้วเก็บเข้าสู่ eax
; 0x64 คือเลขฐาน 16 มีค่าเป็น 100sub คือคำสั่งลบ โดยนำค่าจาก source ไปลบ destination แล้วเก็บผลลัพธ์ไว้ที่ destination
sub eax, 0x64 ; ลบค่าจาก eax ด้วยจำนวน 0x64 แล้วเก็บไปใส่ eax
; 0x64 คือเลขฐาน 16 มีค่าเป็น 100inc คือคำสั่งที่ใช้เพิ่มค่าของตัวแปรหรือ memory location ที่ระบุ ซึ่งจะเพิ่มค่าเดิม 1 เป็นค่าใหม่ เช่น “INC EAX” จะเพิ่มค่าของ register EAX จากค่าเดิมเป็นค่าใหม่ +1
inc eax ; หากค่าใน ax เท่ากับ 0 แล้วใช้ inc ไปค่าใน ax จะเป็น 1dec คือคำสั่งที่ใช้ลดค่าของตัวแปรหรือ memory location ที่ระบุ ซึ่งจะลดค่าเดิม 1 เป็นค่าใหม่ เช่น “DEC EAX” จะลดค่าของ register EAX จากค่าเดิมเป็นค่าใหม่ -1
dec eax ; หากค่าใน ax เท่ากับ 7 แล้วใช้ dec ไปค่าใน ax จะเป็น 6cmp คือคำสั่งสำหรับเปรียบเทียบค่า source กับ destination แล้ว set ค่า flag ต่างๆ ตามผลลัพธ์ เพื่อใช้สำหรับคำสั่ง jump ต่างๆ
cmp eax, 10jne หรือ jnz คือคำสั่งข้าม ข้ามไปยัง address ที่กำหนด ถ้า zero flag เท่ากับ 0
jne 0x7FFB5416D144jnz 0x7FFB5416D144je หรือ jz คือคำสั่งข้าม ข้ามไปยัง address ที่กำหนด ถ้า zero flag เท่ากับ 1
je 0x7FFB5416D144jz 0x7FFB5416D144