Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
89
PLZPART/SPLINE.ASM
Normal file
89
PLZPART/SPLINE.ASM
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
IDEAL
|
||||
MODEL large
|
||||
P386
|
||||
|
||||
EXTRN C kx:word, C ky:word, C kz:word
|
||||
EXTRN C dis:word, C tx:word, C ty:word
|
||||
EXTRN C ls_kx:word, C ls_ky:word, C ls_kz:word
|
||||
|
||||
CODESEG
|
||||
|
||||
PUBLIC C getspl
|
||||
|
||||
LABEL buu WORD
|
||||
INCLUDE 'rata.inc'
|
||||
|
||||
LABEL splinecoef WORD
|
||||
INCLUDE "spline.inc"
|
||||
|
||||
PROC C getspl
|
||||
|
||||
ARG position:word
|
||||
|
||||
push ds bp si di
|
||||
|
||||
mov si, OFFSET buu
|
||||
push cs
|
||||
pop ds
|
||||
mov di, [position]
|
||||
|
||||
MASM
|
||||
|
||||
;ds:si=pointer to spline
|
||||
;di=position in spline, add 256 for next point
|
||||
|
||||
mov ax,di
|
||||
shr ax,8
|
||||
shl ax, 4d
|
||||
add si,ax
|
||||
and di,255
|
||||
shl di,1
|
||||
|
||||
ccc=0
|
||||
REPT 8
|
||||
mov ax,ds:[si+3*2*8+ccc]
|
||||
imul cs:splinecoef[di]
|
||||
mov bx,ax
|
||||
mov cx,dx
|
||||
mov ax,ds:[si+2*2*8+ccc]
|
||||
imul cs:splinecoef[di+64*8]
|
||||
add bx,ax
|
||||
adc cx,dx
|
||||
mov ax,ds:[si+1*2*8+ccc]
|
||||
imul cs:splinecoef[di+128*8]
|
||||
add bx,ax
|
||||
adc cx,dx
|
||||
mov ax,ds:[si+0*2*8+ccc]
|
||||
imul cs:splinecoef[di+192*8]
|
||||
add bx,ax
|
||||
adc cx,dx
|
||||
shld cx,bx,1
|
||||
push cx
|
||||
ccc=ccc+2
|
||||
ENDM
|
||||
|
||||
mov ax, SEG kx
|
||||
mov ds, ax
|
||||
pop cx
|
||||
mov [ls_ky], cx
|
||||
pop cx
|
||||
mov [ls_kx], cx
|
||||
pop cx
|
||||
mov [kz], cx
|
||||
pop cx
|
||||
mov [ky], cx
|
||||
pop cx
|
||||
mov [kx], cx
|
||||
pop cx
|
||||
mov [dis], cx
|
||||
pop cx
|
||||
mov [ty], cx
|
||||
pop cx
|
||||
mov [tx], cx
|
||||
|
||||
pop di si bp ds
|
||||
ret
|
||||
IDEAL
|
||||
ENDP
|
||||
|
||||
END
|
||||
Loading…
Reference in a new issue