10000 ビットに割り当てられた配列 = 1250 バイト (10000/8):
mov edi, 1250
call malloc
ポインタをテストしました:
cmp rax, 0
jz .error ; error handling at label down the code
メモリが割り当てられました:
(gdb) p/x $rax
$3 = 0x6030c0
その割り当てられたメモリをゼロで埋めようとしました:
mov rdi, rax
xor esi, esi
mov edx, 1250 ; 10000 bits
call memset
チェックされた最初のバイト:
(gdb) p/x $rax
$2 = 0x6030c0
(gdb) x/xg $rax + 0
0x6030c0: 0x0000000000000000
チェックされた最後のバイト (0 - 最初のバイト、1249 - 最後のバイト)
(gdb) p/x $rax + 1249
$3 = 0x6035a1
(gdb) x/xg $rax + 1249
0x6035a1: 0x6100000000000000
解決した質問
入力する必要がありましたx/1c $rax + 1249