mov a, b |
Copy from a to b . |
movs a, b |
Copy from a to be with sign extension. Needs two width specifiers. |
movz a, b |
Copy from a to be with zero extension. Needs two width specifiers. |
lea a, b |
Compute address and store in b . Note: the scaling parameter of memory operands can only be 1, 2, 4, or 8. |
push src |
Push src onto the stack and decrement stack pointer. |
pop dst |
Pop from the stack into dst and increment stack pointer. |
call <func> |
Push return address onto stack and jump to a procedure. |
ret |
Pop return address and jump there. |
add a, b |
Add a to b and store in b (and set condition codes). |
sub a, b |
Subtract a from b (compute b - a ) and store in b (and set condition codes). |
imul a, b |
Multiply a and b and store in b (and set condition codes). |
neg a |
Compute -a according to 2's complement and store in a (and set condition codes). |
and a, b |
Bitwise AND of a and b, store in b (and set condition codes). |
or a, b |
Bitwise OR of a and b, store in b (and set condition codes). |
xor a, b |
Bitwise XOR of a and b, store in b (and set condition codes). |
sar a, b |
Shift value of b right (arithmetic) by a bits, store in b (and set condition codes). |
shr a, b |
Shift value of b right (logical) by a bits, store in b (and set condition codes). |
shl a, b |
Shift value of b left by a bits, store in b (and set condition codes). |
sal a, b |
Shift value of b left by a bits, store in b (and set condition codes). |
cmp a, b |
Compare b with a (compute b - a ), set condition codes based on result (result is not stored). |
test a, b |
Bitwise AND of a and b , set condition codes based on result (result is not stored). |
jmp <label> |
Unconditional jump to address. |
jCOND <label> |
Considtion jump based on condition codes . |
setCOND a |
Set byte a to 0 or 1 based on condition codes. |