diff --git a/assembly/mips/assem-rtns.lisp b/assembly/mips/assem-rtns.lisp
index 27dd4c5a5acd74a00e65a8ff9b8cd720101a7aac..3b2fe2706bb0ca459248d5db4cd263ff95d95054 100644
--- a/assembly/mips/assem-rtns.lisp
+++ b/assembly/mips/assem-rtns.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/mips/assem-rtns.lisp,v 1.5 1990/04/24 03:14:04 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/mips/assem-rtns.lisp,v 1.6 1990/04/26 22:25:27 wlott Exp $
 ;;;
 ;;;
 (in-package "C")
@@ -114,3 +114,40 @@
   (inst li ndescr (make-fixup 'unwind :assembly-routine))
   (inst j ndescr)
   (inst nop))
+
+
+
+
+;;;; Byte-blt
+
+(define-assembly-routine (byte-blt (:arg src :sc sap-reg)
+				   (:arg src-offset :sc any-reg)
+				   (:arg dst :sc sap-reg)
+				   (:arg dst-offset :sc any-reg)
+				   (:arg dst-end :sc any-reg)
+				   (:temp temp :sc non-descriptor-reg))
+
+  ;; If there is nothing to do, don't do it.
+  (inst beq dst-offset dst-end done)
+
+  ;; Fix up the src and dst offsets.
+
+  (inst sra temp src-offset 2)
+  (inst addu src temp)
+  (inst sra temp dst-offset 2)
+  (inst addu dst temp)
+
+  ;; The loop
+
+  loop
+
+  (inst lbu temp src)
+  (inst addu src 1)
+  (inst sb temp dst)
+  (inst addu dst-offset (fixnum 1))
+  (inst bne dst-offset dst-end loop)
+  (inst addu dst 1)
+  
+  done
+
+  )