Ignore:
Timestamp:
Nov 17, 2011, 2:59:13 AM (12 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Space optimizations in AccessDPT.asm, transfer one routine to a macro (retaining some encapsulation), and transfer the unique part of another routine to the one place it was being called (which also makes what it was doing more transparent).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm

    r192 r193  
    5454;--------------------------------------------------------------------
    5555PushAddressingMode:
    56     call    AccessDPT_GetAddressingModeToAXZF
    57     mov     bl,g_szAddressingModes_Displacement
     56    CustomDPT_GetUnshiftedAddressModeToALZF
     57    ;;
     58    ;; This multiply both shifts the addressing mode bits down to low order bits, and
     59    ;; at the same time multiplies by the size of the string displacement.  The result is in AH,
     60    ;; with AL clear, and so we exchange AL and AH after the multiply for the final result.
     61    ;;
     62    mov     bl,(1<<(8-ADDRESSING_MODE_FIELD_POSITION)) * g_szAddressingModes_Displacement
    5863    mul     bl
     64    xchg    al,ah
    5965    add     ax,g_szAddressingModes
    6066    push    ax
Note: See TracChangeset for help on using the changeset viewer.