Changeset 287 in xtideuniversalbios for trunk/Assembly_Library/Inc


Ignore:
Timestamp:
Mar 2, 2012, 12:31:39 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to Assembly Library:

  • Hopefully fixed a problem of wrong sized MDA cursor.
  • Some minor improvements.
Location:
trunk/Assembly_Library/Inc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Inc/Delay.inc

    r247 r287  
    2929;   486:         7 cycles for jump + 6 cycles for last comparison
    3030;
     31; LOOP instruction uses two bytes so aligned fetching will require:
     32;   8088:       8 cycles (two BYTE reads)
     33;   8086:       4 cycles (one WORD read)
     34;   286:        2 cycles + wait states (usually 1)
     35;   386:        ?
     36;   486:        Fetched only once to internal cache
     37;
     38; DELAY_WITH_LOOP_INSTRUCTION_NA    ; No JUMP_ALIGN
    3139; DELAY_WITH_LOOP_INSTRUCTION
    3240;   Parameters
    3341;       CX:     Loop iterations (0 is maximum delay with 65536 iterations)
    3442;   Returns:
     43;       CX:     Zero
     44;   Corrupts registers:
    3545;       Nothing
    36 ;   Corrupts registers:
    37 ;       CX
    3846;--------------------------------------------------------------------
     47%macro DELAY_WITH_LOOP_INSTRUCTION_NA 0
     48%%StartOfLoop:
     49    loop    %%StartOfLoop
     50%endmacro
     51
    3952%macro DELAY_WITH_LOOP_INSTRUCTION 0
     53ALIGN JUMP_ALIGN
    4054%%StartOfLoop:
    4155    loop    %%StartOfLoop
  • trunk/Assembly_Library/Inc/Display.inc

    r186 r287  
    179179
    180180; Cursor shapes
    181 CURSOR_NORMAL               EQU     0607h       ; Two line cursor near or at the bottom of cell
     181CURSOR_NORMAL               EQU     0607h       ; Two line cursor near or at the bottom of cell (not valid for IBM MDA)
    182182CURSOR_HIDDEN               EQU     2000h
    183183
     
    212212
    213213; Non ASCII characters (code page 437)
     214BETA                                        EQU     225
    214215QUOTATION_MARK                              EQU     34
    215216DOUBLE_TOP_RIGHT_CORNER                     EQU     187
  • trunk/Assembly_Library/Inc/Math.inc

    r181 r287  
    6565
    6666;--------------------------------------------------------------------
     67; SHL_DXAX
     68;   Parameters:
     69;       %1:     Number of bits to shift
     70;   Returns:
     71;       DX:AX   Shifted value
     72;   Corrupts registers:
     73;       CX
     74;--------------------------------------------------------------------
     75%macro SHL_DXAX 1
     76    %ifnidni %1, cx
     77        mov     cx, %1
     78    %endif
     79ALIGN JUMP_ALIGN
     80.ShiftNextBit:
     81    shl     ax, 1
     82    rcl     dx, 1
     83    loop    .ShiftNextBit
     84%endmacro
     85
     86
     87;--------------------------------------------------------------------
    6788; SHR_DXAX
    6889;   Parameters:
  • trunk/Assembly_Library/Inc/SystemTimer.inc

    r256 r287  
    3434CONTROL_WORD_REGISTER_out               EQU 43h
    3535
    36 ; Timer 2 is Connected to PC Speaker that can be controller from port 61h.
     36; Timer 2 is connected to PC Speaker that can be controller from port 61h.
    3737SPEAKER_CONTROL_REGISTER                EQU 61h
    3838FLG_TIMER_2_OUTPUT_in                   EQU (1<<5)  ; AT+ only
Note: See TracChangeset for help on using the changeset viewer.