読者です 読者をやめる 読者になる 読者になる

linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

メモリ割り当て - memset_erms()

概要

rdiレジスタの指すアドレスからrdxレジスタの値分のメモリを初期化する

詳細

最初に以下の操作を行い処理の準備を行う

その後、rep stosb命令でメモリのコピーを行う

stosb命令はalレジスタの指すアドレスの内容をrdiレジスタの指すアドレスにコピーし、rep命令はrcxレジスタに保持されている回数分処理を繰り返すことで、指定したサイズのメモリを初期化する

最後にr9レジスタに退避した保存先のアドレスの値をraxレジスタにコピーすることで返り値を設定する