@@ -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
@@ -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