148 words
1 minute
Assembly commands พื้นฐาน

รวมคำสั่งพื้นฐานใน Assembly พอใช้เพื่อทวนความจำกัน [จะอัพเดตเรื่อยๆนะ]

mov คือ การ copy (คัดลอก) ข้อมูลจาก source ไปยัง destination

mov ebx, eax ; คัดลอกค่าจาก eax ไปสู่ ebx

add คือคำสั่งบวก โดยนำค่าจาก source ไปบวก destination แล้วเก็บผลลัพธ์ไว้ที่ destination

add eax, 0x64 ; บวกค่า eax ด้วยจำนวน 0x64 เเล้วเก็บเข้าสู่ eax
; 0x64 คือเลขฐาน 16 มีค่าเป็น 100

sub คือคำสั่งลบ โดยนำค่าจาก source ไปลบ destination แล้วเก็บผลลัพธ์ไว้ที่ destination

sub eax, 0x64 ; ลบค่าจาก eax ด้วยจำนวน 0x64 แล้วเก็บไปใส่ eax
; 0x64 คือเลขฐาน 16 มีค่าเป็น 100

inc คือคำสั่งที่ใช้เพิ่มค่าของตัวแปรหรือ memory location ที่ระบุ ซึ่งจะเพิ่มค่าเดิม 1 เป็นค่าใหม่ เช่น “INC EAX” จะเพิ่มค่าของ register EAX จากค่าเดิมเป็นค่าใหม่ +1

inc eax ; หากค่าใน ax เท่ากับ 0 แล้วใช้ inc ไปค่าใน ax จะเป็น 1

dec คือคำสั่งที่ใช้ลดค่าของตัวแปรหรือ memory location ที่ระบุ ซึ่งจะลดค่าเดิม 1 เป็นค่าใหม่ เช่น “DEC EAX” จะลดค่าของ register EAX จากค่าเดิมเป็นค่าใหม่ -1

dec eax ; หากค่าใน ax เท่ากับ 7 แล้วใช้ dec ไปค่าใน ax จะเป็น 6

cmp คือคำสั่งสำหรับเปรียบเทียบค่า source กับ destination แล้ว set ค่า flag ต่างๆ ตามผลลัพธ์ เพื่อใช้สำหรับคำสั่ง jump ต่างๆ

cmp eax, 10

jne หรือ jnz คือคำสั่งข้าม ข้ามไปยัง address ที่กำหนด ถ้า zero flag เท่ากับ 0

jne 0x7FFB5416D144
jnz 0x7FFB5416D144

je หรือ jz คือคำสั่งข้าม ข้ามไปยัง address ที่กำหนด ถ้า zero flag เท่ากับ 1

je 0x7FFB5416D144
jz 0x7FFB5416D144
Assembly commands พื้นฐาน
https://blog.0x01code.me/posts/assembly-commands-sheets/
Author
0x01code
Published at
2023-01-23
License
CC BY-NC-SA 4.0