TIPO DE DATO DB=8 BITS
8 BITS 2 HEXADECIMALES
variable DIRECCION 64 BITS [DATO]
d1 0000000000403010 15 0000000000403010 15 15 15 15 EB EB EB EB 00 00 00 00 00 00 00 00 ...
d2 0000000000403011 15
d3 0000000000403012 15 8 7 6 5 4
d4 0000000000403013 15 128 64 32 16 8
d5 0000000000403014 EB 0 0 0 1 0
d6 0000000000403015 EB
d7 0000000000403016 EB 0 0 0 1 0
d8 0000000000403017 EB 1 1 1 0 1
0000000000403018
0000000000403019 1 1 1 0 1
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;nasm -f win64 -o defDB.o defDB.asm -l defDB.lst
;x86_64-w64-mingw32-gcc.exe -o defDB.exe defDB.o
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;0000000000401550 direccion donde se alojan los programas ensamblador en el x64dbg
;-----------------------------------------
segment .data
;------un byte SS (sin signo)-----------
d1 db 21 ; decimal
d2 db 0x15 ;hexadecimal
d3 db 15h ;hexadecmial
d4 db 00010101b ; binario
;-------un byte CS (con signo)----------
d5 db -21 ; decimal
d6 db -0x15 ; hexadecimal
d7 db -15h ; hexadeciaml
d8 db -0b00010101 ; binario
segment .bss
segment .text
global main
main:
XOR RAX,RAX
XOR RBX,RBX
XOR RCX,RCX
XOR EDX,EDX
MOV RAX,d1
ret
EB 00 00 00 00 00 00 00 00 ....ëëëë........
3 2 1 decimal
4 2 1
1 0 1 21 hexadecimal 15
1 0 1 21
0 1 0 invertir los bits
1 sumar 1 bits
0 1 1 hexadecimal EB
8 BITS DW =16 BITS
VARIABLE DIRECCION 64 BITS [DATO] 0000000000403010 AF 15 AF 15 AF 15 AF 55 27 02 51 EA 51
d1 0000000000403010 AF 4 hexadecimales
0000000000403011 15
d2 0000000000403012 AF 16 15 14 13 12 11 10
0000000000403013 15 32768 16384 8192 4096 2048 1024 512
d3 0000000000403014 AF 0 0 0 1 0 1 0
0000000000403015 15
d4 0000000000403016 AF 1 1 1 0 1 0 1
0000000000403017 55
d5 0000000000403018 27 1 1 1 0 1 0 1
0000000000403019 02
d6 000000000040301A 51 CUANDO SON NUMEROS SE INTRODUCE A LA MEMORIA DE D
000000000040301B EA CUANDO SON CADENAS SE INTRODUCE A LA MEMORIA DE IZ
d7 000000000040301C 51
000000000040301D EA
d8 000000000040301E 51
000000000040301F AA
d9 0000000000403020 AF
0000000000403021 55
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;nasm -f win64 -o defDW.o defDW.asm -l defDW.lst
;x86_64-w64-mingw32-gcc.exe -o defDW.exe defDW.o
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;0000000000401550 direccion donde se alojan los programas ensamblador en el x64dbg
;-----------------------------------------
segment .data
; WORD difinicion sin signo
d1 dw 5551 ; decimal
d2 dw 0x15AF ;hexadecimal
d3 dw 15AFh ;hexadecmial
d4 dw 0101010110101111b ; binario
; WORD definicion con signo
d5 dw +551
d6 dw -0x15AF
d7 dw -15AFh
d8 dw -0b0101010110101111
d9 dw +0b0101_0101_1010_1111
segment .bss
segment .text
global main
main:
XOR RAX,RAX
XOR RBX,RBX
XOR RCX,RCX
XOR EDX,EDX
ret
15 AF 55 27 02 51 EA 51 EA 51 AA ¯.¯.¯.¯U'.QêQêQª
9 8 7 6 5 4 3 2 1 decimal
256 128 64 32 16 8 4 2 1
1 1 0 1 0 1 1 1 1 5551 hexadecimal 15AF
0 0 1 0 1 0 0 0 0 INVERTIR LOS BITS
1 SUMAR UN BITS
0 0 1 0 1 0 0 0 1 -5551 hexadecimal EA51
UCE A LA MEMORIA DE DERECHA A IZQUIERDA
CE A LA MEMORIA DE IZQIUIERDA A DERECHA
8 BITS DD = 32 BITS
VARIABLE DIRECCION 64 BITS [DATO] 8 HEXADECIMALES
dato1 0000000000403010 78
0000000000403011 56
0000000000403012 34 32 31 30
0000000000403013 12 2147483648 1073741824 536870912
dato2 0000000000403014 FF 0 0 0
0000000000403015 FF 1 1 1
0000000000403016 FF
0000000000403017 FF 1 1 1
dato3 0000000000403018 31
0000000000403019 32 DECLARACIONES EN CADENAS ENTRAN A MEMORIA IZQUIERDA
000000000040301A 33 DECLARACIONES EN NUMERICOS ENTRAN A MEMORIA DERECH
000000000040301B 34
dato4 000000000040301C 30
000000000040301D 31
000000000040301E 32
000000000040301F 33
0000000000403020 34
0000000000403021 35
0000000000403022 36
0000000000403023 37
0000000000403024 38
0000000000403025 39
0000000000403026 00
0000000000403027 00
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;nasm -f win64 -o defDD.o defDD.asm -l defDD.lst
;x86_64-w64-mingw32-gcc.exe -o defDD.exe defDD.o
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;-----------------------------------------
;0000000000401550 direccion donde se alojan los programas ensamblador en el x64dbg
segment .data
;-------una palabra doble(double word)CS---
dato1 DD +0x12345678
dato2 DD -1
dato3 DD "1234"
Dato4 DD "0123456789"
segment .bss
segment .text
global main
main:
XOR RAX,RAX
XOR RBX,RBX
XOR RCX,RCX
XOR EDX,EDX
ret
29 28 27 26 25 24 23 22 21 20
268435456 134217728 67108864 33554432 16777216 8388608 4194304 2097152 1048576 524288
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
S ENTRAN A MEMORIA IZQUIERDA A DERECHA dato3 DD "1234"
COS ENTRAN A MEMORIA DERECHA A IZQUIERDA dato1 DD +0x12345678
DD =32 BITS
0000000000403010 78 56 34 12 FF FF FF FF 31 32 33 34 30 31 32 33 xV4.ÿÿÿÿ12340123
4 hexadecimales
19 18 17 16 15 14 13 12 11 10 9 8 7 6
262144 131072 65536 32768 16384 8192 4096 2048 1024 512 256 128 64 32
0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 xV4.ÿÿÿÿ12340123
5 4 3 2 1 decimal
16 8 4 2 1
0 0 0 0 1 +1
1 1 1 1 0 INVERTIR LOS BITS
1 SUMAR 1 BITS
1 1 1 1 1 HEXADECIMAL =FFFFFFFF
8 BITS DQ = 64 BITS
VARIABLE DIRECCION 64 BITS [DATO] 16 HEXADECIMALES
var1 0000000000403010 FF
0000000000403011 FF
0000000000403012 FF 64 63 62 61 60 59 58 57 56 55 54
0000000000403013 FF ### ### ### ### ### ### ### ### ### ### ###
0000000000403014 FF 0 0 0 0 0 0 0 0 0 0 0
0000000000403015 FF 1 1 1 1 1 1 1 1 1 1 1
0000000000403016 FF
0000000000403017 FF 1 1 1 1 1 1 1 1 1 1 1
var2 0000000000403018 FF
0000000000403019 FF DECLARACIONES EN CADENAS dato3 DD "1234"
000000000040301A FF DECLARACIONES EN NUMERICOdatoDD +0x12345678
000000000040301B FF
000000000040301C FF
000000000040301D FF
000000000040301E FF
000000000040301F FF
var3 0000000000403020 41
0000000000403021 42
0000000000403022 43
0000000000403023 44
0000000000403024 45
0000000000403025 46
0000000000403026 47
0000000000403027 48
var4 0000000000403028 30
0000000000403029 31
000000000040302A 32
000000000040302B 33
000000000040302C 34
000000000040302D 35
000000000040302E 36
000000000040302F 37
0000000000403030 38
0000000000403031 00
0000000000403032 00
0000000000403033 00
0000000000403034 00
0000000000403035 00
0000000000403036 00
0000000000403037 00
var5 0000000000403038 61
0000000000403039 62
000000000040303A 63
000000000040303B 64
000000000040303C 65
000000000040303D 66
000000000040303E 67
000000000040303F 68
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;nasm -f win64 -o defDQ.o defDQ.asm -l defDQ.lst
;x86_64-w64-mingw32-gcc.exe -o defDQ.exe defDQ.o
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;-----------------------------------------
;0000000000401550 direccion donde se alojan los programas ensamblador en el x64dbg
segment .data
var1 DQ 0xFF_FF_FF_FF_FF_FF_FF_FF
var2 DQ -1
var3 DQ "ABCDEFGH"
var4 DQ "012345678"
var5 DQ "abcdefgh"
segment .bss
segment .text
global main
main:
XOR RAX,RAX
XOR RBX,RBX
XOR RCX,RCX
XOR EDX,EDX
ret
53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
DD "1234"
D +0x12345678
28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 512 256 128 64 32 16
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 3 2 1 decimal
8 4 2 1
0 0 0 1 +1
1 1 1 0 INVERTIR LOS BITS
1 SUMAR 1 BITS
1 1 1 1 HEXADECIMAL =FFFFFFFF FFFFFFFF