Type |
Names |
int32 |
%eax, %ecx, %edx, %ebx, %esi, %edi, %ebp |
int3232 |
%mm0, %mm1, %mm2, %mm3, %mm4, %mm5, %mm6, %mm7 |
int6464 |
%xmm0, %xmm1, %xmm2, %xmm3, %xmm4, %xmm5, %xmm6, %xmm7 |
float80 |
%st(0), %st(1), %st(2), %st(3), %st(4), %st(5), %st(6), %st(7) |
Qhasm Instruction |
Input |
Evaluated flags |
Output |
Set flags |
Assembly Code |
r = s |
stack32 s |
|
int32 r |
|
movl s,r
|
r = *(uint8 *) (s + n) |
int32 s, immediate n |
|
int32 r |
|
movzbl n(s),r
|
r = *(uint16 *) (s + n) |
int32 s, immediate n |
|
int32 r |
|
movzwl n(s),r
|
r = *(uint32 *) (s + n) |
int32 s, immediate n |
|
int32 r |
|
movl n(s),r
|
r = *(uint8 *) (&n + s) |
int32 s, immediate n |
|
int32 r |
|
movzbl n(s),r
|
r = *(uint16 *) (&n + s) |
int32 s, immediate n |
|
int32 r |
|
movzwl n(s),r
|
r = *(uint32 *) (&n + s) |
int32 s, immediate n |
|
int32 r |
|
movl n(s),r
|
r = *(uint8 *) (&n + s * 8) |
int32 s, immediate n |
|
int32 r |
|
movzbl n(,s,8),r
|
r = *(uint16 *) (&n + s * 8) |
int32 s, immediate n |
|
int32 r |
|
movzwl n(,s,8),r
|
r = *(uint32 *) (&n + s * 8) |
int32 s, immediate n |
|
int32 r |
|
movl n(,s,8),r
|
r = *(uint8 *) (s + t) |
int32 s, int32 t |
|
int32 r |
|
movzbl (s,t),r
|
r = *(uint16 *) (s + t) |
int32 s, int32 t |
|
int32 r |
|
movzwl (s,t),r
|
r = *(uint32 *) (s + t) |
int32 s, int32 t |
|
int32 r |
|
movl (s,t),r
|
r = bottom s |
stack64 s |
|
int32 r |
|
movl s,r
|
r = top s |
stack64 s |
|
int32 r |
|
movl !shift4s,r
|
r = &s |
stack512 s |
|
int32 r, stack512 s |
|
leal s,r
|
r = &s |
stack128 s |
|
int32 r, stack128 s |
|
leal s,r
|
r = s |
stack128 s |
|
int6464 r |
|
movdqa s,r
|
r = ((uint32 *)&s)[0] |
stack128 s |
|
int32 r |
|
movl s,r
|
r = ((uint32 *)&s)[1] |
stack128 s |
|
int32 r |
|
movl 4+s,r
|
r = ((uint32 *)&s)[2] |
stack128 s |
|
int32 r |
|
movl 8+s,r
|
r = ((uint32 *)&s)[3] |
stack128 s |
|
int32 r |
|
movl 12+s,r
|
int32323232 r += s |
int6464 r, stack128 s |
|
int6464 r |
|
paddd s,r
|
uint32323232 r += s |
int6464 r, stack128 s |
|
int6464 r |
|
paddd s,r
|
int32323232 r -= s |
int6464 r, stack128 s |
|
int6464 r |
|
psubd s,r
|
uint32323232 r -= s |
int6464 r, stack128 s |
|
int6464 r |
|
psubd s,r
|
r = *(int128 *) (s + n) |
int32 s, immediate n |
|
int6464 r |
|
movdqa n(s),r
|
uint32323232 r += *(int128 *) (s + n) |
int6464 r, int32 s, immediate n |
|
int6464 r |
|
paddd n(s),r
|
r += s |
int32 r, stack32 s |
|
int32 r |
=, unsigned>, unsigned<, carry |
addl s,r
|
r += s + carry |
int32 r, stack32 s |
carry |
int32 r |
=, unsigned>, unsigned<, carry |
adcl s,r
|
r -= s |
int32 r, stack32 s |
|
int32 r |
=, unsigned>, unsigned< |
subl s,r
|
r &= s |
int32 r, stack32 s |
|
int32 r |
=, unsigned>, unsigned< |
andl s,r
|
r |= s |
int32 r, stack32 s |
|
int32 r |
=, unsigned>, unsigned< |
orl s,r
|
r ^= s |
int32 r, stack32 s |
|
int32 r |
=, unsigned>, unsigned< |
xorl s,r
|
r += *(uint32 *) (s + n) |
int32 r, int32 s, immediate n |
|
int32 r |
=, unsigned>, unsigned<, carry |
addl n(s),r
|
r += *(uint32 *) (s + n) + carry |
int32 r, int32 s, immediate n |
carry |
int32 r |
=, unsigned>, unsigned<, carry |
adcl n(s),r
|
r -= *(uint32 *) (s + n) |
int32 r, int32 s, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
subl n(s),r
|
r &= *(uint32 *) (s + n) |
int32 r, int32 s, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
andl n(s),r
|
r |= *(uint32 *) (s + n) |
int32 r, int32 s, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
orl n(s),r
|
r ^= *(uint32 *) (s + n) |
int32 r, int32 s, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
xorl n(s),r
|
r ^= *(uint32 *) (&n + s) |
int32 r, int32 s, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
xorl n(s),r
|
r ^= *(uint32 *) (&n + s * 8) |
int32 r, int32 s, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
xorl n(,s,8),r
|
r = s |
int32 s |
|
stack32 r |
|
movl s,r
|
*(uint8 *) (s + n) = r |
int32 s, immediate n |
|
|
|
movb r%8,n(s)
|
*(uint16 *) (s + n) = r |
int32 s, immediate n |
|
|
|
movw r%16,n(s)
|
*(uint32 *) (s + n) = r |
int32 r, int32 s, immediate n |
|
|
|
movl r,n(s)
|
*(uint8 *) (&n + s) = r |
int32 s, immediate n |
|
|
|
movb r%8,n(s)
|
*(uint16 *) (&n + s) = r |
int32 s, immediate n |
|
|
|
movw r%16,n(s)
|
*(uint32 *) (&n + s) = r |
int32 r, int32 s, immediate n |
|
|
|
movl r,n(s)
|
*(uint8 *) (&n + s * 8) = r |
int32 s, immediate n |
|
|
|
movb r%8,n(,s,8)
|
*(uint16 *) (&n + s * 8) = r |
int32 s, immediate n |
|
|
|
movw r%16,n(,s,8)
|
*(uint32 *) (&n + s * 8) = r |
int32 r, int32 s, immediate n |
|
|
|
movl r,n(,s,8)
|
*(uint8 *) (s + t) = r |
int32 s, int32 t |
|
|
|
movb r%8,(s,t)
|
*(uint16 *) (s + t) = r |
int32 s, int32 t |
|
|
|
movw r%16,(s,t)
|
*(uint32 *) (s + t) = r |
int32 r, int32 s, int32 t |
|
|
|
movl r,(s,t)
|
*(uint8 *) (s + n) = m |
int32 s, immediate n, immediate m |
|
|
|
movb $m,n(s)
|
*(uint16 *) (s + n) = m |
int32 s, immediate n, immediate m |
|
|
|
movw $m,n(s)
|
*(uint32 *) (s + n) = m |
int32 s, immediate n, immediate m |
|
|
|
movl $m,n(s)
|
inplace r bottom = s |
int32 s, stack64 r |
|
stack64 r |
|
movl s,r
|
r = s |
int6464 s |
|
stack128 r |
|
movdqa s,r
|
((uint32 *)&r)[0] = 0 |
|
|
stack128 r |
|
movl $0,r
|
((uint32 *)&r)[1] = 0 |
stack128 r |
|
stack128 r |
|
movl $0,4+r
|
((uint32 *)&r)[2] = 0 |
stack128 r |
|
stack128 r |
|
movl $0,8+r
|
((uint32 *)&r)[3] = 0 |
stack128 r |
|
stack128 r |
|
movl $0,12+r
|
((uint32 *)&r)[0] = s |
int32 s |
|
stack128 r |
|
movl s,r
|
((uint32 *)&r)[1] = s |
int32 s, stack128 r |
|
stack128 r |
|
movl s,4+r
|
((uint32 *)&r)[2] = s |
int32 s, stack128 r |
|
stack128 r |
|
movl s,8+r
|
((uint32 *)&r)[3] = s |
int32 s, stack128 r |
|
stack128 r |
|
movl s,12+r
|
Qhasm Instruction |
Input |
Evaluated flags |
Output |
Set flags |
Assembly Code |
r = s |
int32 s |
|
int32 r |
|
mov s,r
|
r = s |
int3232 s |
|
int32 r |
|
movd s,r
|
r = s |
int32 s |
|
int3232 r |
|
movd s,r
|
r = s |
int6464 s |
|
int32 r |
|
movd s,r
|
r = s |
int32 s |
|
int6464 r |
|
movd s,r
|
r = s & 255 |
|
|
int32 r |
|
movzbl s%8,r
|
r = (s >> 8) & 255 |
|
|
int32 r |
|
movzbl s%next8,r
|
r &= s |
int6464 r, int6464 s |
|
int6464 r |
|
pand s,r
|
r &= s |
int32 r, int32 s |
|
int32 r |
=, unsigned>, unsigned< |
andl s,r
|
r &= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
and $n,r
|
int32323232 r += s |
int6464 r, int6464 s |
|
int6464 r |
|
paddd s,r
|
uint32323232 r += s |
int6464 r, int6464 s |
|
int6464 r |
|
paddd s,r
|
r = s + t |
int32 s, int32 t |
|
int32 r |
|
lea (s,t),r
|
r += s |
int32 r, int32 s |
|
int32 r |
=, unsigned>, unsigned<, carry |
addl s,r
|
r += s + carry |
int32 r, int32 s |
carry |
int32 r |
=, unsigned>, unsigned<, carry |
adcl s,r
|
r = s + t + n |
int32 s, int32 t, immediate n |
|
int32 r |
|
lea n(s,t),r
|
r += t + n |
int32 r, int32 t, immediate n |
|
int32 r |
|
lea n(r,t),r
|
r += n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned<, carry |
add $n,r
|
r += n + carry |
int32 r, immediate n |
carry |
int32 r |
=, unsigned>, unsigned<, carry |
adc $n,r
|
int32323232 r -= s |
int6464 r, int6464 s |
|
int6464 r |
|
psubd s,r
|
uint32323232 r -= s |
int6464 r, int6464 s |
|
int6464 r |
|
psubd s,r
|
r -= s |
int32 r, int32 s |
|
int32 r |
=, unsigned>, unsigned< |
subl s,r
|
r - s |
int32 r, int32 s |
|
|
=, unsigned>, unsigned< |
cmp s,r
|
r = -n |
immediate n |
|
int32 r |
|
mov $-n,r
|
r -= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
sub $n,r
|
r - n |
int32 r, immediate n |
|
|
=, unsigned>, unsigned< |
cmp $n,r
|
r = 0 |
|
|
int6464 r |
|
pxor r,r
|
r <<= s |
int32 r |
|
int32 r |
=, unsigned>, unsigned< |
shl %cl,r
|
r <<<= 0 |
int6464 r |
|
int6464 r |
|
pshufd $0xe4,r,r
|
r = s <<< 0 |
int6464 s |
|
int6464 r |
|
pshufd $0xe4,s,r
|
r <<<= 32 |
int6464 r |
|
int6464 r |
|
pshufd $0x93,r,r
|
r = s <<< 32 |
int6464 s |
|
int6464 r |
|
pshufd $0x93,s,r
|
r <<<= 64 |
int6464 r |
|
int6464 r |
|
pshufd $0x4e,r,r
|
r = s <<< 64 |
int6464 s |
|
int6464 r |
|
pshufd $0x4e,s,r
|
r <<<= 96 |
int6464 r |
|
int6464 r |
|
pshufd $0x39,r,r
|
r = s <<< 96 |
int6464 s |
|
int6464 r |
|
pshufd $0x39,s,r
|
r <<<= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
rol $n,r
|
int32323232 r <<= n |
int6464 r, immediate n |
|
int6464 r |
|
pslld $n,r
|
uint32323232 r <<= n |
int6464 r, immediate n |
|
int6464 r |
|
pslld $n,r
|
r <<= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
shl $n,r
|
(uint32) r >>= s |
int32 r |
|
int32 r |
=, unsigned>, unsigned< |
shr %cl,r
|
(int32) r >>= s |
int32 r |
|
int32 r |
=, unsigned>, unsigned< |
sar %cl,r
|
int32323232 r >>= n |
int6464 r, immediate n |
|
int6464 r |
|
psrad $n,r
|
uint32323232 r >>= n |
int6464 r, immediate n |
|
int6464 r |
|
psrld $n,r
|
(uint32) r >>= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
shr $n,r
|
(int32) r >>= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
sar $n,r
|
r ^= s |
int6464 r, int6464 s |
|
int6464 r |
|
pxor s,r
|
r ^= s |
int32 r, int32 s |
|
int32 r |
=, unsigned>, unsigned< |
xorl s,r
|
r ^= -n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
xor $-n,r
|
r ^= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
xor $n,r
|
assign 1 to r |
|
|
|
|
|
assign 2 to r |
|
|
|
|
|
assign 3 to r |
|
|
|
|
|
assign 4 to r |
|
|
|
|
|
assign 5 to r |
|
|
|
|
|
assign 6 to r |
|
|
|
|
|
assign 7 to r |
|
|
|
|
|
r = n |
immediate n |
|
int32 r |
|
mov $n,r
|
while (n) { *y++ = x; --n } |
|
|
|
|
rep stosb
|
while (n) { *y++ = *x++; --n } |
|
|
|
|
rep movsb
|
r |= s |
int6464 r, int6464 s |
|
int6464 r |
|
por s,r
|
r |= s |
int32 r, int32 s |
|
int32 r |
=, unsigned>, unsigned< |
orl s,r
|
r |= n |
int32 r, immediate n |
|
int32 r |
=, unsigned>, unsigned< |
or $n,r
|
r ~&= s |
int6464 r, int6464 s |
|
int6464 r |
|
pandn s,r
|
Qhasm Instruction |
Input |
Evaluated flags |
Output |
Set flags |
Assembly Code |
r = *(float64 *) &n |
immediate n |
|
float80 r |
|
fldl n
|
r = *(float64 *) &s |
stack64 s |
|
float80 r |
|
fldl s
|
r = *(float64 *) (s + n) |
int32 s, immediate n |
|
float80 r |
|
fldl n(s)
|
r += *(float64 *) &n |
float80 r, immediate n |
|
float80 r |
|
faddl n
|
r += *(float64 *) &s |
float80 r, stack64 s |
|
float80 r |
|
faddl s
|
r += *(float64 *) (s + n) |
float80 r, int32 s, immediate n |
|
float80 r |
|
faddl n(s)
|
r -= *(float64 *) &n |
float80 r, immediate n |
|
float80 r |
|
fsubl n
|
r -= *(float64 *) &s |
float80 r, stack64 s |
|
float80 r |
|
fsubl s
|
r -= *(float64 *) (s + n) |
float80 r, int32 s, immediate n |
|
float80 r |
|
fsubl n(s)
|
r *= *(float64 *) &n |
float80 r, immediate n |
|
float80 r |
|
fmull n
|
r *= *(float64 *) &s |
float80 r, stack64 s |
|
float80 r |
|
fmull s
|
r *= *(float64 *) (s + n) |
float80 r, int32 s, immediate n |
|
float80 r |
|
fmull n(s)
|
r = *(int32 *) &n |
immediate n |
|
float80 r |
|
fildl n
|
r = *(int32 *) &s |
stack32 s |
|
float80 r |
|
fildl s
|
r = *(int32 *) (s + n) |
int32 s, immediate n |
|
float80 r |
|
fildl n(s)
|
*(float64 *) (s + n) = r |
float80 r, int32 s, immediate n |
|
|
|
fstpl n(s)!pop
|
*(float64 *) &s = r |
float80 r |
|
stack64 s |
|
fstpl s!pop
|