diff --git a/mach/i86/libem/exg.s b/mach/i86/libem/exg.s index 6360c8e3a..35fa93110 100644 --- a/mach/i86/libem/exg.s +++ b/mach/i86/libem/exg.s @@ -5,7 +5,7 @@ .sect .text .exg: push di - mov sp,di + mov di,sp add di,4 mov bx,di add bx,cx @@ -14,6 +14,8 @@ mov ax,(bx) xchg ax,(di) mov (bx),ax + add di,2 + add bx,2 loop 1b 2: pop di diff --git a/mach/i86/libem/iaar.s b/mach/i86/libem/iaar.s index e55f4287a..940e52981 100644 --- a/mach/i86/libem/iaar.s +++ b/mach/i86/libem/iaar.s @@ -10,10 +10,9 @@ jne .unknown pop bx ! descriptor address pop ax ! index - pop dx ! array base sub ax,(bx) mul 4(bx) - mov bx,dx + pop bx ! base address add bx,ax push cx ret