# Copyright 2022 Gabriel Jensen. # This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. # If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. .globl zap_memfill zap_memfill: # rdi: Address of the current element. # rsi: Address of the element after the last element. # rdx: Byte value. addq %rdi,%rsi # Iterate over buffer: .loop: # Check if we have reached the final element: cmpq %rdi,%rsi je .done # Exit loop if we have. # Set the value of the current element: movb %dl,(%rdi) # Continue to next element: incq %rdi jmp .loop # Finish: .done: ret