Code optimisations

This commit is contained in:
pagefault
2001-09-07 23:46:33 +00:00
parent d7151e66d1
commit b7ea91ce57
4 changed files with 52 additions and 26 deletions

View File

@@ -283,7 +283,8 @@ void sw_drawwin()
" movl (%%ebx, %%eax, 4), %%edx\n" \ " movl (%%ebx, %%eax, 4), %%edx\n" \
" movl %%edx, (%%edi)\n" \ " movl %%edx, (%%edi)\n" \
" addl $4, %%edi\n" \ " addl $4, %%edi\n" \
" loop CopyLoop32b\n" \ " decl ecx\n" \
" jnz CopyLoop32b\n" \
" popl %%eax\n" \ " popl %%eax\n" \
" incl %%eax\n" \ " incl %%eax\n" \
" addl pitch, %%edi\n" \ " addl pitch, %%edi\n" \

View File

@@ -196,7 +196,8 @@ NEWSYM dsp1teststuff
.cvloop .cvloop
mov byte[eax],0 mov byte[eax],0
inc eax inc eax
loop .cvloop dec ecx
jnz .cvloop
pop ecx pop ecx
pop eax pop eax
ret ret

View File

@@ -1169,28 +1169,32 @@ NEWSYM drawhline
.loop .loop
mov byte[esi],al mov byte[esi],al
inc esi inc esi
loop .loop dec ecx
jnz .loop
ret ret
NEWSYM drawhline16b NEWSYM drawhline16b
.loop .loop
mov [esi],ax mov [esi],ax
add esi,2 add esi,2
loop .loop dec ecx
jnz .loop
ret ret
NEWSYM drawvline NEWSYM drawvline
.loop .loop
mov byte[esi],al mov byte[esi],al
add esi,288 add esi,288
loop .loop dec ecx
jnz .loop
ret ret
NEWSYM drawvline16b NEWSYM drawvline16b
.loop .loop
mov [esi],ax mov [esi],ax
add esi,288*2 add esi,288*2
loop .loop dec ecx
jnz .loop
ret ret
%macro determinenewhelp 2 %macro determinenewhelp 2
@@ -1291,7 +1295,8 @@ NEWSYM CapturePicture
mov [edi],ax mov [edi],ax
add esi,8 add esi,8
add edi,2 add edi,2
loop .loop dec ecx
jnz .loop
pop edx pop edx
pop esi pop esi
add esi,288*2*4 add esi,288*2*4
@@ -1312,7 +1317,8 @@ NEWSYM CapturePicture
or bx,ax or bx,ax
mov [edx],bx mov [edx],bx
add edx,2 add edx,2
loop .loop2 dec ecx
jnz .loop2
.noneweng .noneweng
popad popad
ret ret
@@ -1329,7 +1335,8 @@ GetPicture:
.loop .loop
mov byte[edx],0 mov byte[edx],0
inc edx inc edx
loop .loop dec ecx
jnz .loop
mov edx,fnamest+1 mov edx,fnamest+1
call Open_File call Open_File
jc near .nodraw2 jc near .nodraw2
@@ -1377,7 +1384,8 @@ GetPicture:
or bx,ax or bx,ax
mov [edx],bx mov [edx],bx
add edx,2 add edx,2
loop .loop2 dec ecx
jnz .loop2
.noneweng .noneweng
; draw border ; draw border
mov esi,75*2+9*288*2 mov esi,75*2+9*288*2
@@ -1389,7 +1397,8 @@ GetPicture:
.ploopb .ploopb
mov word[esi],0FFFFh mov word[esi],0FFFFh
add esi,2 add esi,2
loop .ploopb dec ecx
jnz .ploopb
pop esi pop esi
add esi,288*2 add esi,288*2
dec edx dec edx
@@ -1407,7 +1416,8 @@ GetPicture:
mov word[esi],ax mov word[esi],ax
add esi,2 add esi,2
add edi,2 add edi,2
loop .ploopb2 dec ecx
jnz .ploopb2
pop esi pop esi
add esi,288*2 add esi,288*2
dec edx dec edx
@@ -1610,7 +1620,8 @@ NEWSYM saveselect
.loop .loop
mov byte[esi],144 mov byte[esi],144
inc esi inc esi
loop .loop dec ecx
jnz .loop
add esi,288-150 add esi,288-150
dec al dec al
mov ecx,150 mov ecx,150
@@ -1797,7 +1808,8 @@ NEWSYM saveselect
mov byte[eax],2 mov byte[eax],2
.notpr .notpr
inc eax inc eax
loop .looppr dec ecx
jnz .looppr
%ifdef __MSDOS__ %ifdef __MSDOS__
mov byte[pressed+1],0 mov byte[pressed+1],0
%endif %endif
@@ -1835,7 +1847,8 @@ NEWSYM saveselect
shr dx,1 shr dx,1
mov [esi],dx mov [esi],dx
add esi,2 add esi,2
loop .loop16b2 dec ecx
jnz .loop16b2
add esi,288*2-150*2 add esi,288*2-150*2
dec al dec al
mov ecx,150 mov ecx,150
@@ -1881,7 +1894,8 @@ NEWSYM saveselect
.loop16b .loop16b
mov [esi],dx mov [esi],dx
add esi,2 add esi,2
loop .loop16b dec ecx
jnz .loop16b
add esi,288*2-150*2 add esi,288*2-150*2
dec ah dec ah
jnz .nocolinc16b jnz .nocolinc16b
@@ -2115,7 +2129,8 @@ NEWSYM saveselect
mov byte[eax],2 mov byte[eax],2
.notpr2 .notpr2
inc eax inc eax
loop .looppr2 dec ecx
jnz .looppr2
.prwin .prwin
%ifdef __MSDOS__ %ifdef __MSDOS__
mov byte[pressed+1],0 mov byte[pressed+1],0
@@ -2243,7 +2258,8 @@ NEWSYM doveg
mov eax,[cgram+ebx] mov eax,[cgram+ebx]
mov [cgramback+ebx],eax mov [cgramback+ebx],eax
add ebx,4 add ebx,4
loop .loop dec ecx
jnz .loop
xor eax,eax xor eax,eax
mov al,[coladdr] mov al,[coladdr]
add al,[coladdg] add al,[coladdg]
@@ -2298,7 +2314,8 @@ NEWSYM dovegrest
mov eax,[cgramback+ebx] mov eax,[cgramback+ebx]
mov [cgram+ebx],eax mov [cgram+ebx],eax
add ebx,4 add ebx,4
loop .loop dec ecx
jnz .loop
popad popad
ret ret
@@ -2724,7 +2741,8 @@ NEWSYM ClockOutput
.loop .loop
mov dword[esi],0C0C0C0C0h mov dword[esi],0C0C0C0C0h
add esi,4 add esi,4
loop .loop dec ecx
jnz .loop
add esi,288-48 add esi,288-48
dec ebx dec ebx
jnz .loop2 jnz .loop2
@@ -2741,7 +2759,8 @@ NEWSYM ClockOutput
mov dword[esi],0 mov dword[esi],0
mov dword[esi+75036*4],0 mov dword[esi+75036*4],0
add esi,4 add esi,4
loop .loopb dec ecx
jnz .loopb
add esi,288*2-48*2 add esi,288*2-48*2
dec ebx dec ebx
jnz .loop2b jnz .loop2b
@@ -2871,7 +2890,8 @@ NEWSYM ClockOutputB
.loop .loop
mov dword[esi],0C0C0C0C0h mov dword[esi],0C0C0C0C0h
add esi,4 add esi,4
loop .loop dec ecx
jnz .loop
add esi,288-48 add esi,288-48
dec ebx dec ebx
jnz .loop2 jnz .loop2
@@ -2888,7 +2908,8 @@ NEWSYM ClockOutputB
mov dword[esi],0 mov dword[esi],0
mov dword[esi+75036*4],0 mov dword[esi+75036*4],0
add esi,4 add esi,4
loop .loopb dec ecx
jnz .loopb
add esi,288*2-48*2 add esi,288*2-48*2
dec ebx dec ebx
jnz .loop2b jnz .loop2b
@@ -3059,7 +3080,8 @@ NEWSYM hextestoutput
.loop .loop
; mov word[esi],ax ; mov word[esi],ax
add esi,2 add esi,2
loop .loop dec ecx
jnz .loop
inc word[blahrnr] inc word[blahrnr]
mov esi,216*288+32 mov esi,216*288+32
add esi,[vidbuffer] add esi,[vidbuffer]
@@ -3686,7 +3708,8 @@ NEWSYM Clear2xSaIBuffer
.nextb .nextb
mov dword[ebx],0FFFFFFFFh mov dword[ebx],0FFFFFFFFh
add ebx,4 add ebx,4
loop .nextb dec ecx
jnz .nextb
ret ret

View File

@@ -2151,7 +2151,8 @@ void drawscreenwin(void)
mov edx,[ebx+eax*4] mov edx,[ebx+eax*4]
mov [edi],edx mov [edi],edx
add edi,4 add edi,4
loop CopyLoop32b dec ecx
jnz CopyLoop32b
pop eax pop eax
inc eax inc eax
add edi,Temp1 add edi,Temp1