Trao đổi với tôi

http://www.buidao.com

5/31/10

[MASM] Lệnh và ASM cơ bản

Lệnh và ASM cơ bản:




MOV DTS, SRC: Chuyển giá trị từ toán hạng nguồn vào toán hạng đích

PUSH SRC: Cất giá trị toán hạng nguồn vào đỉnh ngăn xếp

PUSHF: Chuyển giá trị cờ vào đỉnh ngăn xếp

POP DST: Chuyển giá trị từ đỉnh ngăn xếp vào toán hạng đích

POPF: Chuyển giá trị từ đỉnh ngăn xếp vào cờ

XCHG DST, SRC: Chuyển đổi giá trị giữa 2 toán hạng

LEA REG, mem: Đưa địa chỉ Offset của toán hạng nguồn vào thanh ghi đích

ADD DST, SRC: Cộng toán hạng nguồn và đích. Kết quả lưu ở toán hạng đích

ADC DST, SRC: Tương tự và cộng thêm cờ CF

INC DST: Tăng 1 cho toán hạng đích

SUB / SBB / DEC: Tương tự cho phép trừ

NEG DST: Bù 2 giá trị toán hạng đích.

CMP DST, SRC: So sánh giá trị toán hạng đích và toán hạng nguồn. Tác động vào cờ, giá trị 2 toán hạng không thay đổi.

MUL / IMUL DST , SRC: Phép nhân không / có dấu. Kết quả lưu ở toán hạng đích.

DIV / IDIV DST , SRC: Tương tự cho phép chia. AX : Số nguyên, DX số dư.

NOT DST: Đảo bit.

AND DST , SRC: Phép và logic giữa toán hạng đích và nguồn. Kết quả trả về ở toán hạng đích.

OR DST, SRC: Phép hoặc logic

XOR DST, SRC: Exclusif OR ( Bit của kết quả bằng 1 nếu giá trị 2 bit được XOR khác nhau).

TEST DST , SRC: So sánh nội dung 2 toán hạng qua phép toán AND. Kết quả tác động đến các cờ.

SHL DST, CL: Dịch trái các bit toán hạng đích Count lần (Count = CL). Ý nghĩa tương đương DST = DST * 2^CL.

SHR DST, CL: Tương tự là dịch phải và là phép chia 2^CL
* Cách dịch bit bằng cách đưa bit bị dịch vào CF thay bit dồn lên là bit 0.

SAL / SAR: tương tự 2 chỉ lệnh trên nhưng dành cho các số có dấu.

ROL / ROR: Dịch bit nhưng bit bị dịch được bảo tồn bằng cách chuyển về đầu bên kia phép dịch.

RCL / RCR: Tương tự nhưng giá trị cở CF là giá trị sẽ được dùng để dồn vào đầu bên kia phép dịch.

Jump Codition

JA Jump If Above
JAE Jump If Above or Equal
JB Jump If Below
JBE Jump If Below or Equal
JC Jump If Carry
JCXZ Jump if CX Register Zero
JE Jump If Equal
JG Jump If Greater
JGE Jump If Greater or Equal
JL Jump If Less
JLE Jump If Less or Equal
JMP Jump Unconditionally
JNA Jump If Not Above
JNAE Jump If Not Above or Equal
JNB Jump If Not Below
JNBE Jump If Not Below or Equal
JNC Jump If No Carry
JNE Jump If Not Equal
JNG Jump If Not Greater
JNGE Jump If Not Greater or Equal
JNL Jump If Not Less
JNLE Jump If Not Less or Equal
JNO Jump If No Overflow
JNP Jump If No Parity
JNS Jump If No Sign
JNZ Jump If Not Zero
JO Jump If Overflow
JP Jump If Parity
JPE Jump If Parity Even
JPO Jump If Parity Odd
JS Jump If Sign
JZ Jump If Zero


Mời các bạn đón phần tiếp
RefLink: http://www.diendantinhoc.vn/archive/index.php?t-4978.html