Changeset 223 in xtideuniversalbios for trunk/Assembly_Library/Src/Display
- Timestamp:
- Jan 25, 2012, 8:20:06 PM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/Assembly_Library/Src/Display
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Display/CgaSnow.asm
r162 r223 99 99 cli ; Interrupt request would mess up timing 100 100 WAIT_UNTIL_SAFE_CGA_WRITE 101 eSEG es 102 movsb 101 es movsb 103 102 sti 104 103 loop .MovsbNextByte -
trunk/Assembly_Library/Src/Display/DisplayFormat.asm
r184 r223 92 92 ALIGN JUMP_ALIGN 93 93 ReadCharacterAndTestForNull: 94 eSEG cs 95 lodsb ; Load from CS:SI to AL 94 cs lodsb ; Load from CS:SI to AL 96 95 test al, al ; NULL to end string? 97 96 ret … … 321 320 %endif 322 321 323 ALIGN JUMP_ALIGN 322 ALIGN JUMP_ALIGN 324 323 u_FormatUnsignedDecimalWord: 325 324 mov ax, [bp] … … 339 338 mov ax, [bp] 340 339 test ax,ax 341 jnz u_FormatUnsignedDecimalWord 340 jnz u_FormatUnsignedDecimalWord 342 341 mov [bp], word g_szDashForZero 343 342 ;;; fall-through 344 343 345 344 ALIGN JUMP_ALIGN 346 345 s_FormatStringFromSegmentCS: -
trunk/Assembly_Library/Src/Display/DisplayFormatCompressed.asm
r202 r223 157 157 158 158 .decode: 159 eSEG cs 160 lodsb ; load next byte of the string 159 cs lodsb ; load next byte of the string 161 160 162 161 mov ch,al ; save a copy for later processing of high order bits -
trunk/Assembly_Library/Src/Display/DisplayPrint.asm
r194 r223 5 5 SECTION .text 6 6 7 7 8 8 ;-------------------------------------------------------------------- 9 9 ; Supports following formatting types: … … 104 104 ; AX, DX 105 105 ;-------------------------------------------------------------------- 106 106 107 107 %ifndef MODULE_STRINGS_COMPRESSED 108 108 109 109 ALIGN JUMP_ALIGN 110 110 DisplayPrint_WordFromAXWithBaseInBX: … … 126 126 .PrintNextDigit: 127 127 pop ax ; Pop digit 128 eSEG cs 129 xlatb 128 cs xlatb 130 129 call DisplayPrint_CharacterFromAL 131 130 loop .PrintNextDigit … … 152 151 ;-------------------------------------------------------------------- 153 152 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 154 155 153 ALIGN JUMP_ALIGN 156 154 DisplayPrint_CharacterBufferFromBXSIwithLengthInCX: … … 167 165 loop .PrintNextCharacter 168 166 169 ;mov ds, cx ; Restore DS to BDA. Not needed unless DisplayPrint_CharacterFromAL changes DS.170 167 pop cx 171 168 pop si … … 173 170 ret 174 171 %endif 175 176 177 172 178 173 … … 278 273 pop cx 279 274 .NothingToRepeat: 280 281 ret 275 ret 276 282 277 283 278 ;-------------------------------------------------------------------- … … 292 287 ; AX, DX 293 288 ;-------------------------------------------------------------------- 294 295 289 %ifndef MODULE_STRINGS_COMPRESSED 296 290 ;;; 297 291 ;;; Take care when using this routine with compressed strings (which is why it is disabled). 298 292 ;;; All strings in CSSI should go through the DisplayFormatCompressed code to be decoded. 299 ;;; 293 ;;; 300 294 ALIGN JUMP_ALIGN 301 295 DisplayPrint_NullTerminatedStringFromCSSI: … … 304 298 call DisplayPrint_NullTerminatedStringFromBXSI 305 299 pop bx 306 307 ret 308 %endif 309 310 300 ret 301 %endif 311 302 312 303 … … 314 305 ;;; Note that the following routines need to be at the bottom of this file 315 306 ;;; to accomodate short jumps from the next file (DisplayFormat/DisplayFormatCompressed) 316 ;;; 307 ;;; 317 308 318 309 ;-------------------------------------------------------------------- … … 329 320 ALIGN JUMP_ALIGN 330 321 DisplayPrint_Newline_FormatAdjustBP: 331 inc bp ; we didn't need a parameter after all, readjust BP 322 inc bp ; we didn't need a parameter after all, readjust BP 332 323 inc bp 333 324 ; fall through to DisplayPrint_Newline … … 335 326 336 327 ALIGN JUMP_ALIGN 337 338 328 DisplayPrint_Newline: 339 329 mov al, LF … … 364 354 365 355 366 367 356 ;-------------------------------------------------------------------- 368 357 ; DisplayPrint_NullTerminatedStringFromBXSI … … 396 385 pop cx 397 386 pop si 398 399 DisplayPrint_Ret: ; random ret to jump to 400 ret 401 402 387 388 DisplayPrint_Ret: ; random ret to jump to 389 ret 390
Note:
See TracChangeset
for help on using the changeset viewer.