Changeset 369 in xtideuniversalbios for trunk/Assembly_Library/Src/Display/DisplayFormat.asm
- Timestamp:
- Mar 29, 2012, 9:29:28 AM (12 years ago)
- google:author:
- gregli@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Display/DisplayFormat.asm
r341 r369 18 18 ; AX, BX, CX, DX, BP 19 19 ;-------------------------------------------------------------------- 20 ALIGN JUMP_ALIGN20 ALIGN DISPLAY_JUMP_ALIGN 21 21 DisplayFormat_ParseCharacters: 22 22 call ReadCharacterAndTestForNull … … 69 69 ; AX 70 70 ;-------------------------------------------------------------------- 71 ALIGN JUMP_ALIGN71 ALIGN DISPLAY_JUMP_ALIGN 72 72 ParsePlaceholderSizeDigitFromALtoCX: 73 73 mov [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition], di … … 90 90 ; Nothing 91 91 ;-------------------------------------------------------------------- 92 ALIGN JUMP_ALIGN92 ALIGN DISPLAY_JUMP_ALIGN 93 93 ReadCharacterAndTestForNull: 94 94 cs lodsb ; Load from CS:SI to AL … … 106 106 ; AX, BX 107 107 ;-------------------------------------------------------------------- 108 ALIGN JUMP_ALIGN108 ALIGN DISPLAY_JUMP_ALIGN 109 109 GetFormatSpecifierParserToAX: 110 110 mov bx, .rgcFormatCharToLookupIndex 111 ALIGN JUMP_ALIGN111 ALIGN DISPLAY_JUMP_ALIGN 112 112 .CheckForNextSpecifierParser: 113 113 cmp al, [cs:bx] … … 118 118 mov ax, c_FormatCharacter 119 119 ret 120 ALIGN JUMP_ALIGN120 ALIGN DISPLAY_JUMP_ALIGN 121 121 .ConvertIndexToFunctionOffset: 122 122 sub bx, .rgcFormatCharToLookupIndex … … 171 171 ; AX, BX, CX, DX 172 172 ;-------------------------------------------------------------------- 173 ALIGN JUMP_ALIGN173 ALIGN DISPLAY_JUMP_ALIGN 174 174 PrependOrAppendSpaces: 175 175 mov ax, di … … 210 210 ; AX, BX, CX, DX 211 211 ;-------------------------------------------------------------------- 212 ALIGN JUMP_ALIGN212 ALIGN DISPLAY_JUMP_ALIGN 213 213 .PrependWithSpaces: 214 214 xchg ax, cx … … 248 248 ; AX, CX, DX, SI 249 249 ;-------------------------------------------------------------------- 250 ALIGN JUMP_ALIGN250 ALIGN DISPLAY_JUMP_ALIGN 251 251 .ReverseCopyCXbytesFromESSItoESDI: 252 252 test BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_ATTRIBUTES … … 256 256 dec di ; Point to preceeding character instead of attribute 257 257 ret 258 ALIGN JUMP_ALIGN258 ALIGN DISPLAY_JUMP_ALIGN 259 259 .CopyWithoutDisplayProcessing: 260 260 eSEG_STR rep, es, movsb … … 271 271 ; Corrupts registers: 272 272 ; AX, CX, DX 273 ALIGN JUMP_ALIGN273 ALIGN DISPLAY_JUMP_ALIGN 274 274 .ReversePrintAXspacesStartingFromESDI: 275 275 call DisplayContext_GetCharacterOffsetToAXfromByteOffsetInAX … … 292 292 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 293 293 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 294 ALIGN JUMP_ALIGN294 ALIGN DISPLAY_JUMP_ALIGN 295 295 a_FormatAttributeForNextCharacter: 296 296 mov bl, [bp] … … 307 307 %endif 308 308 309 ALIGN JUMP_ALIGN309 ALIGN DISPLAY_JUMP_ALIGN 310 310 A_FormatAttributeForRemainingString: 311 311 mov al, [bp] … … 314 314 315 315 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 316 ALIGN JUMP_ALIGN316 ALIGN DISPLAY_JUMP_ALIGN 317 317 d_FormatSignedDecimalWord: 318 318 mov ax, [bp] … … 321 321 %endif 322 322 323 ALIGN JUMP_ALIGN323 ALIGN DISPLAY_JUMP_ALIGN 324 324 u_FormatUnsignedDecimalWord: 325 325 mov ax, [bp] … … 327 327 jmp DisplayPrint_WordFromAXWithBaseInBX 328 328 329 ALIGN JUMP_ALIGN329 ALIGN DISPLAY_JUMP_ALIGN 330 330 x_FormatHexadecimalWord: 331 331 mov ax, [bp] … … 335 335 jmp DisplayPrint_CharacterFromAL 336 336 337 ALIGN JUMP_ALIGN337 ALIGN DISPLAY_JUMP_ALIGN 338 338 I_FormatDashForZero: 339 339 mov ax, [bp] … … 343 343 ;;; fall-through 344 344 345 ALIGN JUMP_ALIGN345 ALIGN DISPLAY_JUMP_ALIGN 346 346 s_FormatStringFromSegmentCS: 347 347 push si … … 367 367 ret 368 368 369 ALIGN JUMP_ALIGN369 ALIGN DISPLAY_JUMP_ALIGN 370 370 z_FormatStringFromSegmentZero: 371 371 xchg si, [bp] … … 376 376 377 377 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 378 ALIGN JUMP_ALIGN378 ALIGN DISPLAY_JUMP_ALIGN 379 379 S_FormatStringFromFarPointer: 380 380 mov bx, [bp-2] … … 387 387 %endif 388 388 389 ALIGN JUMP_ALIGN389 ALIGN DISPLAY_JUMP_ALIGN 390 390 c_FormatCharacter: 391 391 mov al, [bp] … … 393 393 394 394 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 395 ALIGN JUMP_ALIGN395 ALIGN DISPLAY_JUMP_ALIGN 396 396 t_FormatRepeatCharacter: 397 397 push cx … … 404 404 ret 405 405 406 ALIGN JUMP_ALIGN406 ALIGN DISPLAY_JUMP_ALIGN 407 407 percent_FormatPercent: 408 408 mov al, '%' … … 410 410 %endif 411 411 412 ALIGN JUMP_ALIGN412 ALIGN DISPLAY_JUMP_ALIGN 413 413 PrepareToPrependParameterWithSpaces: 414 414 neg cx 415 415 ; Fall to PrepareToAppendSpacesAfterParameter 416 416 417 ALIGN JUMP_ALIGN417 ALIGN DISPLAY_JUMP_ALIGN 418 418 PrepareToAppendSpacesAfterParameter: 419 419 add sp, BYTE 2 ; Remove return offset
Note: See TracChangeset
for help on using the changeset viewer.