瀏覽代碼

* fixed the alignment filler in code sections on i8086 to always use nops,
instead of using the optimized instructions for 386+, which assume also a
32-bit address and operand size, so they didn't work even on a 386+ in real
mode

git-svn-id: trunk@33371 -

nickysn 9 年之前
父節點
當前提交
b562bcfdbd
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      compiler/x86/aasmcpu.pas

+ 10 - 0
compiler/x86/aasmcpu.pas

@@ -667,6 +667,15 @@ implementation
           #$0F#$1F#$00,
           #$66#$90,
           #$90);
+{$ifdef i8086}
+        alignarray:array[0..5] of string[8]=(
+          #$90#$90#$90#$90#$90#$90#$90,
+          #$90#$90#$90#$90#$90#$90,
+          #$90#$90#$90#$90,
+          #$90#$90#$90,
+          #$90#$90,
+          #$90);
+{$else i8086}
         alignarray:array[0..5] of string[8]=(
           #$8D#$B4#$26#$00#$00#$00#$00,
           #$8D#$B6#$00#$00#$00#$00,
@@ -674,6 +683,7 @@ implementation
           #$8D#$76#$00,
           #$89#$F6,
           #$90);
+{$endif i8086}
       var
         bufptr : pchar;
         j : longint;