Changeset 491 in xtideuniversalbios for trunk/Assembly_Library/Src/Util/Size.asm


Ignore:
Timestamp:
Dec 15, 2012, 2:46:29 PM (11 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • Added a new define (USE_UNDOC_INTEL) that enables optimizations possible by using undocumented instructions available on all Intel processors and truly compatible clones. AFAIK the only exceptions are the NEC V-series and the Sony CXQ70108 processors so this option should be safe for use on the AT builds.
  • Building BIOSDRVS or the BIOS without MODULE_STRINGS_COMPRESSED would fail due to the recent code exclusions so I changed them a bit. Also fixed the mistaken change to Main.asm
  • Changed the Tandy specific info in Configuration_FullMode.txt so it matches the info in the Wiki.
  • Optimizations and fixes in general.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Util/Size.asm

    r489 r491  
    33
    44;
    5 ; XTIDE Universal BIOS and Associated Tools 
     5; XTIDE Universal BIOS and Associated Tools
    66; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2012 by XTIDE Universal BIOS Team.
    77;
     
    1010; the Free Software Foundation; either version 2 of the License, or
    1111; (at your option) any later version.
    12 ; 
     12;
    1313; This program is distributed in the hope that it will be useful,
    1414; but WITHOUT ANY WARRANTY; without even the implied warranty of
    1515; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    16 ; GNU General Public License for more details.     
     16; GNU General Public License for more details.
    1717; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    18 ;       
     18;
    1919
    2020%ifdef INCLUDE_MENU_LIBRARY
     
    6868    ; Convert remainder to tenths
    6969    xchg    bx, ax                      ; Store AX
    70     mov     ax, 10
    71     mul     cx                          ; DX:AX = remainder * 10
    72     eSHR_IM ax, 10                      ; Divide AX by 1024
     70    mov     ax, 5
     71    mul     cx                          ; DX:AX = remainder * (10 / 2)
     72%ifdef USE_186
     73    shr     ax, 9                       ; Divide AX by (1024 / 2)
     74%else
     75    shr     ax, 1
     76    mov     al, ah
     77    cbw
     78%endif
    7379    xchg    cx, ax                      ; CX = tenths
    7480    xchg    ax, bx
     
    124130;--------------------------------------------------------------------
    125131ALIGN UTIL_SIZE_JUMP_ALIGN
    126 Size_ConvertSectorCountInBXDXAXtoKiB:               ; unused entrypoint ok
     132Size_ConvertSectorCountInBXDXAXtoKiB:   ; unused entrypoint ok
    127133Size_DivideBXDXAXbyTwo:
    128134    shr     bx, 1                   ; Divide sector count by 2...
Note: See TracChangeset for help on using the changeset viewer.