Changeset 146 in xtideuniversalbios
- Timestamp:
- Mar 18, 2011, 8:20:55 AM (14 years ago)
- google:author:
- aitotat
- Location:
- trunk/Assembly_Library/Inc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Inc/BiosFunctions.inc
r141 r146 6 6 ; BIOS interrupts 7 7 BIOS_VIDEO_INTERRUPT_10h EQU 10h 8 BIOS_DISK_INTERRUPT_13h EQU 13h 8 9 BIOS_SYSTEM_INTERRUPT_15h EQU 15h 9 10 BIOS_KEYBOARD_INTERRUPT_16h EQU 16h … … 18 19 TELETYPE_OUTPUT EQU 0Eh 19 20 21 ; BIOS disk functions 22 GET_DRIVE_PARAMETERS EQU 08h 23 GET_DISK_TYPE EQU 15h 24 20 25 ; BIOS keyboard functions 21 26 GET_KEYSTROKE EQU 00h -
trunk/Assembly_Library/Inc/Emulate.inc
r113 r146 145 145 ; Nothing 146 146 ;-------------------------------------------------------------------- 147 %macro eCMOVA 2 148 jbe SHORT %%Return 149 mov %1, %2 150 %%Return: 151 %endmacro 152 147 153 %macro eCMOVC 2 148 154 jnc SHORT %%Return -
trunk/Assembly_Library/Inc/Registers.inc
r105 r146 3 3 %ifndef REGISTERS_INC 4 4 %define REGISTERS_INC 5 6 struc INTPACK 7 %ifdef USE_386 8 .gs resb 2 9 .fs resb 2 10 %endif 11 .es resb 2 12 .ds resb 2 13 .di resb 2 14 .si resb 2 15 .bp resb 2 16 .sp resb 2 17 .bx: 18 .bl resb 1 19 .bh resb 1 20 .dx: 21 .dl resb 1 22 .dh resb 1 23 .cx: 24 .cl resb 1 25 .ch resb 1 26 .ax: 27 .al resb 1 28 .ah resb 1 29 .ip resb 2 30 .cs resb 2 31 .flags resb 2 32 endstruc 33 34 ; 8086/8088 FLAGS 35 FLG_FLAGS_CF EQU (1<<0) 36 FLG_FLAGS_PF EQU (1<<2) 37 FLG_FLAGS_AF EQU (1<<4) 38 FLG_FLAGS_ZF EQU (1<<6) 39 FLG_FLAGS_SF EQU (1<<7) 40 FLG_FLAGS_TF EQU (1<<8) 41 FLG_FLAGS_IF EQU (1<<9) 42 FLG_FLAGS_DF EQU (1<<10) 43 FLG_FLAGS_OF EQU (1<<11) 44 45 46 ;-------------------------------------------------------------------- 47 ; This macro must be the first thing to call on Interrupt Service Routine. 48 ; 49 ; SAVE_AND_GET_INTPACK_TO_SSBP 50 ; Parameters 51 ; Nothing 52 ; Returns: 53 ; SS:BP: Points to INTPACK 54 ; Corrupts registers: 55 ; Nothing 56 ;-------------------------------------------------------------------- 57 %macro SAVE_AND_GET_INTPACK_TO_SSBP 0 58 ePUSHA 59 push ds 60 push es 61 %ifdef USE_386 62 push fs 63 push gs 64 %endif 65 mov bp, sp 66 %endmacro 67 68 ;-------------------------------------------------------------------- 69 ; This macro must be the last thing to call on Interrupt Service Routine. 70 ; 71 ; RESTORE_INTPACK_FROM_SSBP 72 ; Parameters 73 ; SS:BP: Ptr to INTPACK 74 ; Returns: 75 ; All Registers will be loaded from INTPACK 76 ;-------------------------------------------------------------------- 77 %macro RESTORE_INTPACK_FROM_SSBP 0 78 %ifdef USE_386 79 pop gs 80 pop fs 81 %endif 82 pop es 83 pop ds 84 ePOPA 85 iret 86 %endmacro 87 5 88 6 89 ;--------------------------------------------------------------------
Note:
See TracChangeset
for help on using the changeset viewer.