A few bits of this:

        mov     [LIMIT1],eax
        mov     bx,[LOWER esi]                  ; set LIMIT2 (ddata1 descriptor)
        and     ebx,0ffffh
        jnz     exxis
        mov     ebx,18*12
exxis:
        fastimul        eax,ebx,96
        add     eax,[VGASTART]
        add     eax,[SCREENSTART]
        mov     ebx,[SCREEN_X]
        sar     ebx,decimal_places+2
        add     eax,ebx
        mov     [ddata1.limit],ax
        shr     eax,16
        and     al,0fh
        mov     [ddata1.gran],al
        mov     ax,ddata1-gdt                   ; load descriptor into es
        mov     es,ax
        mov     [word idt+8*13],offset print_bound

        mov     eax,[X esi]                     ; get coords
        mov     ebx,[Y esi]

...in the right places could do wonders for plex86 execution speed.

Done right, assembly code can be several times faster than C.

As this is an 80x86 only project, there's no reason why assembly
can not be used.

Small critical sections of the C source code can be commented
out and replace by inline assembly.

Just an idea from a (former) assembly language programmer.
What do you think of it?

Joaquim Carvalho



Reply via email to