summaryrefslogtreecommitdiff
path: root/zap/source/amd64/mem/strlen.S
diff options
context:
space:
mode:
Diffstat (limited to 'zap/source/amd64/mem/strlen.S')
-rw-r--r--zap/source/amd64/mem/strlen.S37
1 files changed, 0 insertions, 37 deletions
diff --git a/zap/source/amd64/mem/strlen.S b/zap/source/amd64/mem/strlen.S
deleted file mode 100644
index a3f68b1..0000000
--- a/zap/source/amd64/mem/strlen.S
+++ /dev/null
@@ -1,37 +0,0 @@
-# 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_strlen
-
-zap_strlen:
-# Address of the current character:
-#define addr %rax
-# Address of the first character:
-#define start %rdi
-# Current character:
-#define chr %dl
-
- movq start,addr
-
- # Iterate over the string:
-.loop:
-
- # Move the character into a register:
- movb (addr),chr # chr = *addr
-
- # Check if we have reached the null-terminator:
- testb chr,chr # if (chr == 0x0)
- jz .done # goto done
-
- # Continue to the next character:
- incq addr # ++addr
- jmp .loop # goto loop
-
- # Done:
-.done:
-
- # Get the length:
- subq start,addr # addr -= start
-
- ret # return addr