summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386/strchr.S
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
commit02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch)
treef4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/i386/strchr.S
parent9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff)
downloaddrakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/i386/strchr.S')
-rw-r--r--mdk-stage1/dietlibc/i386/strchr.S47
1 files changed, 47 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/i386/strchr.S b/mdk-stage1/dietlibc/i386/strchr.S
new file mode 100644
index 000000000..0a2a5aa52
--- /dev/null
+++ b/mdk-stage1/dietlibc/i386/strchr.S
@@ -0,0 +1,47 @@
+#define NEW
+
+.text
+.global strchr
+strchr:
+ mov %esi,%edx
+ mov 0x4(%esp,1),%esi
+ mov 0x8(%esp,1),%cl
+ cld
+.L1:
+ lods (%esi),%eax
+ cmp %al,%cl
+ jz .Lafound
+ test %al,%al
+ jz .Lnotfound
+
+ cmp %ah,%cl
+ jz .Lbfound
+ test %ah,%ah
+ jz .Lnotfound
+
+ shr $16,%eax
+ cmp %al,%cl
+ jz .Lcfound
+ test %al,%al
+ jz .Lnotfound
+
+ cmp %ah,%cl
+ jz .Ldfound
+ test %ah,%ah
+
+ jnz .L1
+.Lnotfound:
+ sub %eax,%eax
+ mov %edx,%esi
+ ret
+.Lafound:
+ dec %esi
+.Lbfound:
+ dec %esi
+.Lcfound:
+ dec %esi
+.Ldfound:
+ mov %esi,%eax
+ mov %edx,%esi
+ dec %eax
+ ret