Created
July 29, 2020 01:50
-
-
Save racerxdl/60581b66c7cdd2a466b69ebdb0c69686 to your computer and use it in GitHub Desktop.
Assembly Live 0 - "CODIGO"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; A B C D = 8 bits | |
; IP = Instruction Pointer = 16 bits = 65535 | |
; SP = Stack Pointer = 16 bits = 65535 | |
; | AX | | |
; | A | | |
; AX = 0000 0000 0000 0000 | |
; AX, BX, CX, DX = 16 bits | |
; | EAX | | |
; | AX | | |
; | Ah | Al | | |
; | A | | |
; EAX = 0000 0000 0000 0000 0000 0000 0000 0000 | |
; EAX, EBX, ECX, EDX = 32 bits | |
; EIP = Enhanced IP = 32 bits | |
; ESP = Enhanced SP = 32 bits | |
; | |
; ----- PAE - Physical Address Extension ------ | |
; | |
; | |
; RAX, RBX, RCX, RDX = 64 bits | |
; RIP = Register IP = 64 bits | |
; RSP = Register SP = 64 bits | |
mov EAX, EBX ; A = B | |
mov EBX, EAX ; B = A | |
add EAX, EBX ; A = A + B | |
sub EAX, EBX ; A = A - B | |
inc EAX ; A = A + 1 | |
inc AX | |
inc A | |
dec EBX ; B = B - 1 | |
; RAX = int64 = 64 bits = 1844674407370955161 | |
; 88 × 10 ^ 27 m | |
; 5 × 10 ^ -5 m | |
; /\ /\ /\ | |
; Mantissa Base Expoente | |
; 1 sinal 57 bits mantissa - 1 sinal 5 bits de expoente | |
; 88 25 ( -31 a 31 ) | |
; ponto flutuante decimal => a * 10 ^ b | |
; | |
; | |
; 5 * 2 = 10 ; 0101 * 0000 0010 = 0000 1010 | |
; 5 * 4 = 20 ; 0101 * 0000 0100 = 0001 0100 | |
; 5 * 8 = 40 ; 0101 * 0000 1000 = 0010 1000 | |
; 5 * 16 = 80 ; 0101 * 0001 0000 = 0101 0000 | |
; 5 / 2 = 2 ; 0101 / 0000 0010 = 0000 0010 | |
; float = 32 bit | |
; Base 2 | |
; ponto flutuante binario => a * 2 ^ b | |
; | |
; | |
; Mantissa 8 bits = 1 bit sinal, 7 bits numero | |
; -128 a 127 | |
; Expoente 4 bits = 1 bit sinal, 3 bits numero | |
; -8 a 7 | |
; | Matissa | Expoente | Valor | |
; |S| Numero |S| | |
; 0 0000001 0 000 | 1 * 10 ^ 0 = 1 | |
; 0 | 12 * 10 ^ -2 = 0.12 | |
; 0 1 011 |128 * 10 ^ -3 = 0.128 | |
; | 13 * 10 ^ -2 = 0.13 | |
; 0 0101001 1 010 | 25 * 10 ^ -2 = 0.25 | |
; 0 1001011 1 010 | 75 * 10 ^ -2 = 0.75 | |
; 0 0000101 1 001 | 5 * 10 ^ -1 = 0.5 | |
; 0 0000010 0 000 | 2 * 10 ^ 0 = 2 | |
; a * 0.5 == a / 2 | |
; multiplicacoes em FLOAT = ~3 | |
; divisoes em FLOAT = ~7 | |
; ´ | |
; MMX, SSE, AVX, 3DNOW, NEON | |
; XMM0 = 4 x 64 bits = 4 double | |
; XMM0 = 8 x 32 bits = 8 float | |
; XMM0 - XMM15 = 16 FUCKING REGISTRADORES DE 256 BITS | |
; | |
; XMM0 + XMM1 == 1 instrução | |
; | |
; XMM0[0], XMM0[1], XMM0[2], XMM0[3] | |
; * XMM1[0], XMM1[1], XMM1[2], XMM1[3] | |
; = | |
; FMA = Fused-multiply-add | |
; XMM0 * XMM1 + XMM2 =>> ONE FUCKING INSTRUCTION!!! | |
; SIMD = Single Instruction Multiple Data |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment