Changeset 258 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm
- Timestamp:
- Feb 22, 2012, 7:01:53 PM (13 years ago)
- google:author:
- gregli@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm
r241 r258 2 2 ; Description : Functions for printing drive configuration 3 3 ; information on Boot Menu. 4 4 ; 5 ; Included by BootMenuPrint.asm, this routine is to be inserted into 6 ; BootMenuPrint_HardDiskRefreshInformation. 7 ; 5 8 ; Section containing code 6 9 SECTION .text 10 11 ;;; fall-into from BootMenuPrint_HardDiskRefreshInformation. 7 12 8 13 ;-------------------------------------------------------------------- … … 16 21 ; Nothing 17 22 ; Corrupts registers: 18 ; AX, BX, CX, DX , SI, DI23 ; AX, BX, CX, DX 19 24 ;-------------------------------------------------------------------- 20 ALIGN JUMP_ALIGN 21 BootMenuPrintCfg_ForOurDrive: 25 .BootMenuPrintCfg_ForOurDrive: 22 26 eMOVZX ax, BYTE [di+DPT.bIdevarsOffset] 23 xchg si, ax ; CS:SInow points to IDEVARS27 xchg bx, ax ; CS:BX now points to IDEVARS 24 28 ; Fall to .PushAndFormatCfgString 25 29 … … 28 32 ; Parameters: 29 33 ; DS:DI: Ptr to DPT 30 ; CS: SI: Ptr to IDEVARS34 ; CS:BX: Ptr to IDEVARS 31 35 ; Returns: 32 36 ; Nothing (jumps to next push below) 33 37 ; Corrupts registers: 34 ; AX, BX38 ; AX, CX 35 39 ;-------------------------------------------------------------------- 36 40 .PushAddressingMode: … … 41 45 ;; with AL clear, and so we exchange AL and AH after the multiply for the final result. 42 46 ;; 43 mov bl,(1<<(8-ADDRESSING_MODE_FIELD_POSITION)) * g_szAddressingModes_Displacement44 mul bl47 mov cl,(1<<(8-ADDRESSING_MODE_FIELD_POSITION)) * g_szAddressingModes_Displacement 48 mul cl 45 49 xchg al,ah 46 50 add ax,g_szAddressingModes … … 51 55 ; Parameters: 52 56 ; DS:DI: Ptr to DPT 53 ; CS: SI: Ptr to IDEVARS57 ; CS:BX: Ptr to IDEVARS 54 58 ; Returns: 55 59 ; Nothing (falls to next push below) … … 69 73 ; Parameters: 70 74 ; DS:DI: Ptr to DPT 71 ; CS: SI: Ptr to IDEVARS75 ; CS:BX: Ptr to IDEVARS 72 76 ; Returns: 73 77 ; Nothing (jumps to next push below) … … 77 81 .PushBusType: 78 82 mov al,g_szBusTypeValues_Displacement 79 mul BYTE [cs: si+IDEVARS.bDevice]83 mul BYTE [cs:bx+IDEVARS.bDevice] 80 84 81 85 shr ax,1 ; divide by 2 since IDEVARS.bDevice is multiplied by 2 … … 88 92 ; Parameters: 89 93 ; DS:DI: Ptr to DPT 90 ; CS: SI: Ptr to IDEVARS94 ; CS:BX: Ptr to IDEVARS 91 95 ; Returns: 92 96 ; Nothing (falls to next push below) … … 95 99 ;-------------------------------------------------------------------- 96 100 .PushIRQ: 97 mov al, BYTE [cs: si+IDEVARS.bIRQ]101 mov al, BYTE [cs:bx+IDEVARS.bIRQ] 98 102 cbw 99 103 push ax … … 103 107 ; Parameters: 104 108 ; DS:DI: Ptr to DPT 105 ; CS: SI: Ptr to IDEVARS109 ; CS:BX: Ptr to IDEVARS 106 110 ; Returns: 107 111 ; Nothing (falls to next push below) … … 114 118 push ax 115 119 116 ;-------------------------------------------------------------------- 117 ; PrintValuesFromStack 118 ; Parameters: 119 ; Stack: All formatting parameters 120 ; Returns: 121 ; Nothing 122 ; Corrupts registers: 123 ; AX, SI, DI 124 ;-------------------------------------------------------------------- 125 .PrintValuesFromStack: 126 jmp BootMenuPrint_HardDiskRefreshInformation.output 127 120 ;;; fall-out to BootMenuPrint_HardDiskRefreshInformation.
Note:
See TracChangeset
for help on using the changeset viewer.