Files
lba1-classic/SOURCES/BALANCE.ASM
Gwen Gourevich c5f4f6ba25 Initial commit
2021-10-27 10:34:18 +02:00

73 lines
980 B
NASM

.386p
jumps
.model SMALL, SYSCALL
.data
extrn NoLanguage P_SinTab:WORD
.code
public NoLanguage Balance
public NoLanguage BalanceWord
Balance PROC uses ebx,\
bal:DWORD, vol:DWORD, volleft:DWORD, volright:DWORD
mov eax, bal
shl eax, 1
mov edx, vol
xor ecx, ecx
mov cx, word ptr[P_SinTab + eax]
imul ecx, edx
shr ecx, 14
mov ebx, volright
mov dword ptr[ebx], ecx
xor ecx, ecx
mov cx, word ptr[P_SinTab + 512 + eax]
imul ecx, edx
shr ecx, 14
mov ebx, volleft
mov dword ptr[ebx], ecx
ret
Balance ENDP
BalanceWord PROC uses ebx,\
bal:DWORD, vol:DWORD, volleft:DWORD, volright:DWORD
mov eax, bal
shl eax, 1
mov edx, vol
xor ecx, ecx
mov cx, word ptr[P_SinTab + eax]
imul ecx, edx
shr ecx, 14
mov ebx, volright
mov word ptr[ebx], cx
xor ecx, ecx
mov cx, word ptr[P_SinTab + 512 + eax]
imul ecx, edx
shr ecx, 14
mov ebx, volleft
mov word ptr[ebx], cx
ret
BalanceWord ENDP
END