Browse Source

* replaced or cx,cx/jz with jcxz in IndexByte, IndexWord and IndexDWord for i8086

git-svn-id: trunk@31961 -
nickysn 9 years ago
parent
commit
5e3a88b7f5
1 changed files with 3 additions and 6 deletions
  1. 3 6
      rtl/i8086/i8086.inc

+ 3 - 6
rtl/i8086/i8086.inc

@@ -166,8 +166,7 @@ function IndexByte(Const buf;len:SizeInt;b:byte):SizeInt; assembler; nostackfram
 asm
 asm
   mov bx, sp
   mov bx, sp
   mov cx, ss:[bx + 4 + extra_param_offset]  // len
   mov cx, ss:[bx + 4 + extra_param_offset]  // len
-  or cx, cx
-  jz @@NotFound
+  jcxz @@NotFound
 {$ifdef FPC_X86_DATA_NEAR}
 {$ifdef FPC_X86_DATA_NEAR}
   mov di, ss:[bx + 6 + extra_param_offset]  // @buf
   mov di, ss:[bx + 6 + extra_param_offset]  // @buf
   mov ax, ds
   mov ax, ds
@@ -200,8 +199,7 @@ function IndexWord(Const buf;len:SizeInt;b:word):SizeInt; assembler; nostackfram
 asm
 asm
   mov bx, sp
   mov bx, sp
   mov cx, ss:[bx + 4 + extra_param_offset]  // len
   mov cx, ss:[bx + 4 + extra_param_offset]  // len
-  or cx, cx
-  jz @@NotFound
+  jcxz @@NotFound
 {$ifdef FPC_X86_DATA_NEAR}
 {$ifdef FPC_X86_DATA_NEAR}
   mov di, ss:[bx + 6 + extra_param_offset]  // @buf
   mov di, ss:[bx + 6 + extra_param_offset]  // @buf
   mov ax, ds
   mov ax, ds
@@ -234,8 +232,7 @@ function IndexDWord(Const buf;len:SizeInt;b:DWord):SizeInt; assembler; nostackfr
 asm
 asm
   mov bx, sp
   mov bx, sp
   mov cx, ss:[bx + 6 + extra_param_offset]  // len
   mov cx, ss:[bx + 6 + extra_param_offset]  // len
-  or cx, cx
-  jz @@NotFound
+  jcxz @@NotFound
 {$ifdef FPC_X86_DATA_NEAR}
 {$ifdef FPC_X86_DATA_NEAR}
   mov di, ss:[bx + 8 + extra_param_offset]  // @buf
   mov di, ss:[bx + 8 + extra_param_offset]  // @buf
   mov ax, ds
   mov ax, ds