Changeset 567 in xtideuniversalbios for trunk/Assembly_Library
- Timestamp:
- May 26, 2014, 1:25:15 PM (10 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/Assembly_Library
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Inc/Delay.inc
r287 r567 30 30 ; 31 31 ; LOOP instruction uses two bytes so aligned fetching will require: 32 ; 33 ; 34 ; 35 ; 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 36 ; 486: Fetched only once to internal cache 37 37 ; -
trunk/Assembly_Library/Src/Display/DisplayFormatCompressed.asm
r526 r567 65 65 ; Parameters: 66 66 ; DS: BDA segment (zero) 67 ; AX: 67 ; AX: Parameter to Format 68 68 ; ES:DI: Ptr to cursor location in video RAM 69 69 ; Returns: … … 94 94 DisplayFormatCompressed_Format_5_x: 95 95 mov si,16 ; hex output, change base to 16 96 mov bx,(04<<8) + 'h' 96 mov bx,(04<<8) + 'h' ; 4 bytes, with postfix character 'h' to emit 97 97 ; (note that the count includes the 'h') 98 98 jmp DisplayFormatCompressed_Format_u -
trunk/Assembly_Library/Src/Display/DisplayPrint.asm
r532 r567 400 400 ; Parameters: 401 401 ; AL: Character to display 402 ; 402 ; Zero value is ignored (no character is printed) 403 403 ; DS: BDA segment (zero) 404 404 ; ES:DI: Ptr to cursor location in video RAM -
trunk/Assembly_Library/Src/Serial/SerialServer.asm
r566 r567 27 27 ; SerialServer_SendReceive: 28 28 ; Parameters: 29 ; 29 ; DX: Packed I/O port and baud rate 30 30 ; ES:SI: Ptr to buffer (for data transfer commands) 31 31 ; SS:BP: Ptr to SerialServer_Command structure 32 32 ; Returns: 33 33 ; AH: INT 13h Error Code 34 ; CX:Number of 512-byte blocks transferred34 ; CX: Number of 512-byte blocks transferred 35 35 ; CF: Cleared if success, Set if error 36 36 ; Corrupts registers: … … 334 334 ; Returns: 335 335 ; BP/SI: Checksum for written bytes, compared against ACK from server in .readLoop 336 ; CX: 336 ; CX: Zero 337 337 ; DL: Receive/Transmit Register address 338 ; ES:DI: 338 ; ES:DI: Ptr to buffer 339 339 ; Corrupts registers: 340 340 ; AX … … 401 401 ; Parameters: 402 402 ; AH: UART_LineStatus bit to test (20h for write, or 1h for read) 403 ; 403 ; One entry point fills in AH with 20h for write 404 404 ; DX: Port address (OK if already incremented to UART_lineStatus) 405 ; 406 ; 405 ; BX: 406 ; Stack: 2 words on the stack below the command/count word 407 407 ; Returns: 408 ; 409 ; 408 ; Returns when desired UART_LineStatus bit is cleared 409 ; Jumps directly to error exit if timeout elapses (and cleans up stack) 410 410 ; Corrupts registers: 411 ; 411 ; AX 412 412 ;-------------------------------------------------------------------- 413 413 -
trunk/Assembly_Library/Src/Serial/SerialServerScan.asm
r526 r567 31 31 ; SerialServerScan_ScanForServer: 32 32 ; Parameters: 33 ; 34 ; 35 ; 33 ; BH: Drive Select byte for Drive and Head Select Register 34 ; 0xAx: Scan for drive, low nibble indicates drive 35 ; 0x0: Scan for Server, independent of drives 36 36 ; DX: Port and Baud to Scan for 37 37 ; 0: Scan a known set of ports and bauds … … 89 89 ; Note: hardware baud multipliers (2x, 4x) will impact the final baud rate and are not known at this level 90 90 ; 91 mov dh,030h * 2 91 mov dh,030h * 2 ; multiply by 2 since we are about to divide by 2 92 92 mov dl,[cs:di] ; restore single byte port address for scan 93 93 … … 119 119 ; SerialServer_CheckForServer_PortAndBaudInDX: 120 120 ; Parameters: 121 ; 122 ; 123 ; 121 ; BH: Drive Select byte for Drive and Head Select Register 122 ; 0xAx: Scan for drive, low nibble indicates drive 123 ; 0x0: Scan for Server, independent of drives 124 124 ; DX: Baud and Port 125 125 ; CH: 1: We are doing a scan for the serial server 126 ; 126 ; 0: We are working off a specific port given by the user 127 127 ; CL: 1, for one sector to read 128 128 ; ES:SI: Ptr to buffer for return -
trunk/Assembly_Library/Src/Util/Size.asm
r526 r567 113 113 rcr si, 1 ; Update remainder 114 114 loop .ShiftLoop 115 eSHR_IM si, 6 ; Remainder to SI beginning 115 %ifdef USE_186 116 shr si, 6 ; Remainder to SI beginning 117 %else 118 mov cl, 6 119 shr si, cl 120 %endif 116 121 pop cx 117 122 inc cx ; Increment magnitude
Note:
See TracChangeset
for help on using the changeset viewer.