Bläddra i källkod

* optimize the i8086 backwards move by using movsw instead of movsb in the Move
and MoveData procedures

git-svn-id: trunk@41316 -

nickysn 6 år sedan
förälder
incheckning
5db8d6bd5e
1 ändrade filer med 16 tillägg och 2 borttagningar
  1. 16 2
      rtl/i8086/i8086.inc

+ 16 - 2
rtl/i8086/i8086.inc

@@ -137,7 +137,14 @@ asm
   add di, cx
   dec si
   dec di
-  rep movsb  // todo: movsw
+  dec si
+  dec di
+  shr cx, 1
+  rep movsw
+  adc cx, cx
+  inc si
+  inc di
+  rep movsb
   cld
 
 @@AfterMove:
@@ -183,7 +190,14 @@ asm
   add di, cx
   dec si
   dec di
-  rep movsb  // todo: movsw
+  dec si
+  dec di
+  shr cx, 1
+  rep movsw
+  adc cx, cx
+  inc si
+  inc di
+  rep movsb
   cld
 
 @@AfterMove: