Changeset 44 in xtideuniversalbios for trunk/Assembly_Library/Src/Display/DisplayContext.asm
- Timestamp:
- Sep 27, 2010, 7:23:36 PM (15 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Display/DisplayContext.asm
r41 r44 2 2 ; Project name : Assembly Library 3 3 ; Created date : 25.6.2010 4 ; Last update : 13.8.20104 ; Last update : 27.9.2010 5 5 ; Author : Tomi Tilli 6 6 ; Description : Functions for managing display context. … … 23 23 mov WORD [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fnCharOut], DEFAULT_CHARACTER_OUTPUT 24 24 mov WORD [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCursorShape], CURSOR_NORMAL 25 mov BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bAttribute], MONO_NORMAL 25 mov BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bAttribute], SCREEN_BACKGROUND_ATTRIBUTE 26 mov BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_ATTRIBUTES 26 27 27 28 xor ax, ax … … 152 153 153 154 ;-------------------------------------------------------------------- 154 ; DisplayContext_SetChar acterOutputFunctionFromAX155 ; DisplayContext_SetCharOutputFunctionFromAXwithAttribFlagInDL 155 156 ; Parameters: 156 157 ; AX: Offset to character output function 157 ; DS: BDA segment (zero) 158 ; Returns: 159 ; Nothing 160 ; Corrupts registers: 161 ; Nothing 162 ;-------------------------------------------------------------------- 163 ALIGN JUMP_ALIGN 164 DisplayContext_SetCharacterOutputFunctionFromAX: 158 ; DL: Attribute Flag 159 ; DS: BDA segment (zero) 160 ; Returns: 161 ; Nothing 162 ; Corrupts registers: 163 ; Nothing 164 ;-------------------------------------------------------------------- 165 ALIGN JUMP_ALIGN 166 DisplayContext_SetCharOutputFunctionFromAXwithAttribFlagInDL: 165 167 mov [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fnCharOut], ax 168 and BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], ~FLG_CONTEXT_ATTRIBUTES 169 mov al, dl 170 and al, FLG_CONTEXT_ATTRIBUTES 171 or [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], al 166 172 ret 167 173 … … 211 217 mov dx, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCharOutParam] 212 218 ret 219 220 221 ;-------------------------------------------------------------------- 222 ; DisplayContext_GetCharacterOffsetToAXfromByteOffsetInAX 223 ; Parameters: 224 ; AX: Offset in bytes from some character to another 225 ; DS: BDA segment (zero) 226 ; Returns: 227 ; AX: Offset in characters from some character to another 228 ; Corrupts registers: 229 ; Nothing 230 ;-------------------------------------------------------------------- 231 ALIGN JUMP_ALIGN 232 DisplayContext_GetCharacterOffsetToAXfromByteOffsetInAX: 233 test BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_ATTRIBUTES 234 jz SHORT ReturnOffsetInAX 235 sar ax, 1 ; BYTE count to WORD count 236 ret 237 238 ;-------------------------------------------------------------------- 239 ; DisplayContext_GetByteOffsetToAXfromCharacterOffsetInAX 240 ; Parameters: 241 ; AX: Offset in characters from some character to another 242 ; DS: BDA segment (zero) 243 ; Returns: 244 ; AX: Offset in bytes from some character to another 245 ; Corrupts registers: 246 ; Nothing 247 ;-------------------------------------------------------------------- 248 ALIGN JUMP_ALIGN 249 DisplayContext_GetByteOffsetToAXfromCharacterOffsetInAX: 250 test BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bFlags], FLG_CONTEXT_ATTRIBUTES 251 jz SHORT ReturnOffsetInAX 252 sal ax, 1 ; WORD count to BYTE count 253 ALIGN JUMP_ALIGN, ret 254 ReturnOffsetInAX: 255 ret
Note:
See TracChangeset
for help on using the changeset viewer.