VirtualBox

Changeset 41654 in vbox


Ignore:
Timestamp:
Jun 11, 2012 3:15:09 PM (13 years ago)
Author:
vboxsync
Message:

BIOS: Do not save registers which do not need to be saved.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS-new/support.asm

    r41653 r41654  
    8686                push    edx
    8787                push    ecx
    88                 push    ebx
    8988
    9089                rol     eax, 16
     
    9897                mul     ecx                 ; eax * ecx -> edx:eax
    9998
    100                 pop     ebx
    10199                pop     ecx
    102100
     
    115113; memset taking a far pointer.
    116114;
     115; cx, es may be modified; di is preserved
     116;
    117117; @returns  dx:ax unchanged.
    118118; @param    dx:ax   Pointer to the memory.
     
    121121;
    122122_fmemset_:
    123                 push    es
    124123                push    di
    125                 push    cx
    126                 pushf
    127124
    128125                mov     es, dx
     
    132129                xchg    al, bl
    133130
    134                 popf
    135                 pop     cx
    136131                pop     di
    137                 pop     es
    138132                ret
    139133
     
    141135;;
    142136; memset taking far pointers.
     137;
     138; cx, es may be modified; si, di are preserved
    143139;
    144140; @returns  dx:ax unchanged.
     
    150146                push    bp
    151147                mov     bp, sp
    152                 push    es
    153148                push    di
    154149                push    ds
    155150                push    si
    156                 push    cx
    157                 popf
    158151
    159152                mov     es, dx
     
    164157                rep     movsb
    165158
    166                 pushf
    167                 pop     cx
    168159                pop     si
    169160                pop     ds
    170161                pop     di
    171                 pop     es
    172162                leave
    173163                ret
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette