background image

Summary of Contents for AT 5170

Page 1: ......

Page 2: ......

Page 3: ... Personal Computer Hardware Reference _ Library Technical Reference ...

Page 4: ... It is possible that this publication may contain reference to or information about IBM products machines and programs programming or services that are not announced in your country Such references or information must not be construed to mean that IBM intends to announce such IBM products programming or services in your country Products are not stocked at the address below Requests for copies of t...

Page 5: ...ertified to comply with the Class B limits may be attached to the computer Operation with non certified peripherals is likely to result in interference to radio and TV reception If peripherals not offered by mM are used with the equipment it is suggested to use shielded grounded cables with in line filters if necessary CAUTION This product described herein is equipped with a grounded plug for the ...

Page 6: ...Notes iv ...

Page 7: ...aspects of the IBM Personal Computer AT including signal charts and register information Section 4 describes keyboard operation the commands to and from the system and the various keyboard layouts Section 5 contains information about the usage of BIOS and a system BIOS listing Section 6 contains instruction sets for the 80286 microprocessor and the 80287 math coprocessor Section 7 provides informa...

Page 8: ...equisite Publications Guide to Operations for the IBM Personal Computer AT Suggested Reading BASIC for the IBM Personal Computer Disk Operating System DOS MA CR 0 Assembler for the IBM Personal Computer vi ...

Page 9: ...onnectors 1 25 I O Channel Signal Description 1 31 NMI and Coprocessor Controls 1 38 Other Circuits 1 40 Speaker 1 40 RAM Jumpers 1 40 Display Switch 1 41 Variable Capacitor 1 41 Keyboard Controller 1 42 Real Time Clock CMOS RAM Information 1 56 Specifications 1 69 System Unit 1 69 Connectors 1 71 Logic Diagrams Type 1 1 76 Logic Diagrams Type 2 1 98 SECTION 2 COPROCESSOR 2 1 Description 2 3 Progr...

Page 10: ...s 4 22 Logic Diagram 4 23 SECTION 5 SYSTEM BIOS 5 1 System BIOS Usage 5 3 Keyboard Encoding and Usage 5 13 Quick Reference 5 24 SECTION 6 INSTRUCTION SET 6 1 80286 Instruction Set 6 3 Data Transfer 6 3 Arithmetic 6 6 Logic 6 9 String Manipulation 6 11 Control Transfer 6 13 Processor Control 6 17 Protection Control 6 18 80287 Coprocessor Instruction Set 6 22 Data Transfer 6 22 Comparison 6 23 Const...

Page 11: ...siderations 9 3 System Board 9 3 Fixed Disk Drive 9 5 Diskette Drive Compatibility 9 5 Copy Protection 9 5 Application Guidelines 9 7 High Level Language Considerations 9 7 Assembler Language Programming Considerations 9 8 Multitasking Provisions 9 16 Machine Sensitive Code 9 19 Glossary Glossary l Bibliograpby Bibliograpby l Index Index l ix ...

Page 12: ...Notes x ...

Page 13: ...INDEX TAB LISTING Section 1 System Board Section 2 Coprocessor Section 3 Power Supply Section 4 Keyboard Section 5 System BIOS Section 6 Instruction Set xi ...

Page 14: ...Notes xii ...

Page 15: ...Section 7 Characters Keystrokes and Colors Section 8 Communications Section 9 Compatibility Glossary Bibliography Index xiii ...

Page 16: ...ply Microprocessor Coprocessor 115 230 16 Interrupt ROM Speaker Speaker Levels Connector 7 Channel RAM Keyboard Keyboard DMA Controller CMOS Real Time Battery Battery Clock Connector Fixed Diskette Disk Drives Drives I O Channel Fixed Disk and 00000000 Diskette Adapter DDDDD D xiv ...

Page 17: ...pts 1 12 Hardware Interrupt Listing 1 13 Interrupt Sharing 1 14 Design Overview 1 14 Program Support 1 15 Precautions 1 17 Examples 1 18 System Tinters 1 22 System Clock 1 23 ROM Subsystem 1 23 RAM Subsystem 1 24 110 Channel 1 24 Connectors 1 25 110 Channel Signal Description 1 31 NMI and Coprocessor Controls 1 38 Other Circuits 1 40 Speaker 1 40 RAM Jumpers 1 40 System Board 1 1 ...

Page 18: ...Status Register Bit Definition 1 49 Output Buffer 1 50 Input Buffer 1 51 Commands I O Address Hex 64 1 51 I O Ports 1 54 Real Time Clock CMOS RAM Information 1 56 Real Time Clock Information 1 57 CMOS RAM Configuration Information 1 59 1 0 Operations 1 68 Specifications 1 69 System Unit 1 69 Size 1 69 Weight 1 69 Power Cables 1 69 Environment 1 69 Heat Output 1 70 Noise Level 1 70 Electrical 1 70 ...

Page 19: ...Channel Direct Memory Access DMA Sixteen level interrupt Three programmable timers System clock 64K read only memory ROM subsystem expandable to 128K A 512K random access memory RAM Subsystem Eight input output I O slots Six with a 36 pin and a 62 pin card edge socket Two with only the 62 pin card edge socket Speaker attachment Keyboard attachment Complementary metal oxide semiconductor CMOS memor...

Page 20: ...tual address space for each task and two operating modes the 8086 compatible real address mode and the protected or virtual address mode More detailed descriptions of the microprocessor may be found in the publications listed in the Bibliography of this manual Real Address Mode In the real address mode the microprocessor s physical memory is acontiguous array of up to one megabyte The microprocess...

Page 21: ...tected mode provides a 1G virtual address space for each task mapped into a 16M physical address space The virtual address space may be larger than the physical address space because any use of an address that does not map to a physical memory location will cause a restartable exception As in the real address mode the protected mode uses 32 bit pointers consisting of 16 bit selector and offset com...

Page 22: ...Following is a block diagram of the system board 1 6 System Board ...

Page 23: ...steps one refresh address every 15 microseconds Each refresh cycle requires 5 clock cycles to refresh all of the system s dynamic memory 256 refresh cycles are required every 4 milliseconds The following formula determines the percentage of bandwidth used for refresh Bandwidth used 5 cycles X 256 1280 for Refresh 5 3 4 ms 167 ns 24000 The DMA controller operates at 3 MHz which results in a clock c...

Page 24: ...served FEFFFF on system board FFQOOO to 64K ROM on the FFFFFF system board System Memory Map Function System board memory I O channel memory IBM Personal Computer AT 128K Memory Expansion Option Reserved for graphics display buffer Reserved for ROM on I O adapters Duplicated code assignment at address FEOOOO Duplicated code assignment at address FFOOOO I O channel memory 512K to 15M installed on m...

Page 25: ...erved Ch 7 Reserved DMA Channels DMA controller 1 contains channels 0 through 3 These channels support 8 bit data transfers between 8 bit I O adapters and 8 or 16 bit system memory Each channel can transfer data throughout the 16M system address space in 64K blocks The following figures show address generation for the DMA channels Source OMA Page Registers Controller Address A23 A16 A15 AO Address...

Page 26: ...d AO are forced to a 10gicalO The following figure shows the addresses for the page register Page Register liD Hex Address DMA Channel 0 0087 DMA Channel 1 0083 DMA Channel 2 0081 DMA Channel 3 0082 DMA Channel 5 008B DMA Channel 6 0089 DMA Channel 7 008A Refresh 008F Page Register Addresses Addresses for all DMA channels do not increase or decrease through page boundaries 64K for channels 0 throu...

Page 27: ... byte boundaries When the base address for these channels is programmed the real address divided by 2 is the data written to the base address register Also when the base word count for channels 5 through 7 is programmed the count is the number of 16 bit words to be transferred Therefore DMA channels 5 through 7 can transfer 65 536 words or 128Kb maximum for any selected page of memory These DMA ch...

Page 28: ... The 80286 microprocessor s non maskable interrupt NMI and two 8259A Controller chips provide 16 levels of system interrupts Note Any or all interrupts may be masked including the microprocessor s NMI 1 12 System Board ...

Page 29: ...IRQ 11 Reserved IRQ 12 Reserved IRQ 13 Coprocessor IRQ 14 Fixed Disk Controller IRQ 15 Reserved IRQ 3 Serial Port 2 BSC BSC Alt Cluster Primary PC Network PC Network Alt SDLC IRQ 4 Serial Port 1 BSC BSC A It SDLC IRQ 5 Parallel Port 2 IRQ 6 Diskette Controller Fixed Disk and Diskette Drive IRQ 7 Parallel Port 1 Data Aguisition and Control GPIB Ii Cluster Secondary The PC Network is jumper selectab...

Page 30: ...ulsing the line to a low level The leading edge of the pulse arms the 8259A Interrupt Controller the trailing edge signals the interrupt controller to cause the interrupt The duration of this r pulse must be between 125 and 1 000 nanoseconds The adapters must have an I interrupt I status bit INT and a I interrupt enable I bit ENA that can be controlled and monitored by its software Each adapter sh...

Page 31: ...m support described in this section provides for an orderly means to Link a task s interrupt handler to a chain of interrupt handlers Share the interrupt level while the task is active Unlink the interrupt handler from the chain when the task is deactivated Linking to a Chain Each newly activated task replaces the interrupt vector in low memory with a pointer to its own interrupt handler The old 1...

Page 32: ...the chain Unlinking from the Chain To unlink from the chain a task must first locate its handler s position within the chain By starting at the interrupt vector in low memory and using the offset of each handler s FPTR to find the entry point of each handler the chain can be methodically searched until the task finds its own handler The FPTR of the previous handler in the chain is replaced by the ...

Page 33: ...he following precautions must be taken when designing hardware or programs using shared interrupts Hardware designers should ensure the adapters Do not power up with the ENA line active or an interrupt pending Do not generate interrupts that are not serviced by a handler Generating interrupts when a handler is not active to service the adapter causes the interrupt level to lock up The design relie...

Page 34: ...handler s chaining structure is known except for the handlers on adapter ROS the FPTRs can be updated when unlinking The FIRST flag is used to determine the handler s position in the chain when unlinking when sharing interrupts 7 and 15 The RESET routine an entry point for the operating system must disable the adapter s interrupt and RETURN FAR to the operating system Note All handlers designed fo...

Page 35: ...tus register Interrupt bit in your card s interrupt control status register Global Rearm location for interrupt level 7 Specific EOI for 8259 5 interrupt level 7 Non specific EOI Location of 8259 operational control register Location of 8259 interrupt mask register Entry point of handler Forward Pointer Used when unlinking to identify compatible interrupt handlers Flags Future expansion Actual sta...

Page 36: ... FLAGS FIRST set up first in chain flag SETVECTR POP ES PUSH DS Make interrupt vector in low memory point to your handler KOV DX OFFSET BNTRY Make interrupt vector point to your handler MOV AX SEG ENTRY If OS not es get it MOV DS AX and put it in DS KOV AX 250FH DOS set interrupt vector INT 21H POP DS Unmask enable interrupts for your level IN AL IMR Read interrupt mask register JKP 2 10 delay AND...

Page 37: ... using the appropriate conventions is SIGNATURE present in the interrupt chaining structure JNE exception No invoke error exception handler LDS SI ES BX 2 Get FPTR s segment and offset CHP SI OFFSET ENTRY Is this forward pointer pointing to your handler s offset JNE UNCHAIN_B No branch HOV eX DS Move to compare CHP AX CX Is this forward pointer pointing to your handler s segment JNE No branch Loca...

Page 38: ...refresh cycle Note Channel 1 is programmed as a rate generator to produce a IS microsecond period signal Channel 2 Tone Generation for Speaker GATE 2 Controlled by bit 0 of port hex 61 PPI bit CLKIN2 1 190 MHz OSC CLKOUT2 Used to drive the speaker The 8254 2 Timer Counter is a programmable interval timer counter that system programs treat as an arrangement of four external I O ports Three ports ar...

Page 39: ... 82284 System Clock Generator is driven by a 12 MHz crystal Its output I clock I signal CLK is the input to the system microprocessor the coprocessor and I O channel ROM Subsystem The system board s ROM subsystem consists of two 32K by 8 bit ROM EPROM modules in a 32K by 16 bit arrangement The code for odd and even addresses resides in separate modules ROM is assigned at the top of the first and l...

Page 40: ...through the timer counter channell The RAM initialization program performs the following functions Initializes channel 1 of the timer counter to the rate generation mode with a period of 15 microseconds Performs a memory write operation to any memory location Note The memory must be accessed or refreshed eight times before it can be used I O Channel The I O channel supports I O address space hex 1...

Page 41: ...ing figure shows the location and the numbering of the I O channel connectors These connectors consist of six 36 pin and eight 62 pin edge connector sockets Note The 36 pin connector is not present in two positions on the I O channel These positions can support only 62 pin I O bus adapters 110 CHANNEL CONNECTORS REAR PANEL r o r I O Channel Connector Location System Board 1 25 ...

Page 42: ...The following figure shows the pin numbering for I O channel connectors 11 through J8 Rear Panel B1 Al BIO AIO B20 A20 B31 A31 Component Side I O Channel Pin Numbering J1 J8 1 26 System Board ...

Page 43: ...he following figure shows the pin numbering for I O channel connectors J10 through J14 and J16 Rear Panel 01 C1 010 C10 018 c18 Component Side I O Channel Pin Numbering J10 J14 and J16 System Board 1 27 ...

Page 44: ...8 SOl A9 SOO AlO I O CH Al I AEN Al2 SAl9 Al3 SAl8 Al4 SAl7 Al5 SAl6 Al6 SAIS Al7 SAl4 Al8 SAl3 Al9 SAl2 Name I O CK I I O I O I O I O I O I O I O I O ROY I 0 0 0 0 0 0 0 0 0 A20 SA I I 0 A21 SAIO 0 A22 SA9 0 A23 SA8 0 A24 SA7 0 A25 SA6 0 A26 SA5 0 A27 SA4 0 A28 SA3 0 A29 SA2 0 A30 SAl 0 A31 SAO 0 I O Channel A Side J1 through J8 1 28 System Board ...

Page 45: ... B13 lOW B14 lOR B15 DACK3 B16 DRQ 3 B17 DACK1 B18 DRQl B19 REFRESH B20 ClK B21 IRQ7 B22 IRQ6 B23 IRQ5 B24 IRQ4 B25 IRQ3 B26 DACK2 B27 T C B28 BALE B29 5Vdc B30 OSC B31 GND I O Ground 0 Power I Power I Power I Power Ground 0 0 I O I O 0 I 0 I I O 0 I I I I I 0 0 0 Power 0 Ground I O Channel IB Side J1 through J8 System Board 1 29 ...

Page 46: ... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I O Channel C Side J10 through J14 and 16 I O Pin D1 D2 D3 D4 D5 D6 D7 D8 D9 Dl0 D11 D12 D13 D14 DIS D16 D17 D18 Signal Name MEM CS16 I O CS16 IRQ10 IRQll IRQ12 IRQ15 IRQ14 DACKO DRQO DACK5 DRQ5 DACK6 DRQ6 DACK7 DRQ7 5 Vdc MASTER GND I O I I I I I I I 0 I 0 I 0 I 0 I POWER I GROUND I O Channel D Side J10 through J14 and 16 1 30 System Board ...

Page 47: ...iven by other microprocessors or DMA controllers that reside on the I O channel LA17 through LA23 I O These signals unlatched are used to address memory and I O devices within the system They give the system up to 16M of addressability These signals are valid when BALE is high LA17 through LA23 are not latched during microprocessor cycles and therefore do not stay valid for the whole cycle Their p...

Page 48: ...gh D7 during 8 bit transfers to these devices 16 bit microprocessor transfers to 8 bit devices will be converted to two 8 bit transfers BALE 0 buffered The I buffered address latch enable I signal is provided by the 82288 Bus Controller and is used on the system board to latch valid addresses and memory decodes from the microprocessor It is available to the I O channel as an indicator of a valid m...

Page 49: ...t priority IRQ9 is the highest and IRQ3 through IRQ7 having the lowest priority IRQ7 is the lowest An interrupt request is generated when an IRQ line is raised from low to high The line is high until the microprocessor acknowledges the interrupt request Interrupt Service routine Note Interrupt 13 is used on the system board and is not available on the I O channel IRQ 8 is used for the real time cl...

Page 50: ... cycles MEMW may be driven by any microprocessor or DMA controller in the system SMEMW is derived from MEMW and the decode of the low 1M of memory When a microprocessor on the I O channel wishes to drive MEMW it must have the address lines valid on the bus for one clock cycle before driving MEMW active Both signals are active low DRQO DRQ3 and DRQ5 DRQ7 I The I DMA request I signals 0 through 3 an...

Page 51: ...o indicate a refresh cycle and can be driven by a microprocessor on the I O channel This signal is active low T C 0 The I terminal count I signal provides a high pulse when the terminal count for any DMA channel is reached SBHE I O The I system bus high enable I signal indicates a transfer of data on the upper byte of the data bus SD8 through SD15 Sixteen bit devices use SBHE to condition data bus...

Page 52: ...driver capable of sinking 20 mA I O CS16 I The I O 16 bit chip select signal indicates to the system that the present data transfer is a 16 bit 1 wait state I O cycle It is derived from an address decode I O CS16 is active low and r should be driven with an open collector or tri state driver capable of sinking 20 mA OSC 0 The oscillator signal is a high speed clock with a 70 nanosecond period 14 3...

Page 53: ...ess map Hex Range Device 000 01F DMA controller I 8237A 5 020 03F Interrupt controller I 8259A Master 040 05F Timer 8254 2 060 06F 8042 lKeyboard 070 07F Real time clock NMI non maskable interrupt mask 080 09F DMA page register 74LS612 DAO OBF Interrupt Controller 2 8259A OCO ODF DMA controller 2 8237A 5 OFO Clear Math Coprocessor Busy OFI Reset Math Coprocessor DF8 0FF Math Coprocessor Note I O A...

Page 54: ... 2 Cluster Bisynchronous 1 Monochrome Display and Printer Adapter Enhanced Graphics Adapter Color Graphics Monitor Adapter Diskette controller Serial port 1 Data Acquisition Adapter 1 Cluster Adapter 1 Data Acquisition Adapter 2 Cluster Adapter 2 Data Acquisition Adapter 3 Cluster Adapter 3 GPIB Adapter 1 Cluster Adapter 4 GPIB Adapter 2 GPIB Adapter 3 GPIB Adapter 4 GPIB Adapter 5 GPIB Adapter 6 ...

Page 55: ...int port or register This port corresponds to a read write register in the DMA page register 74LS612 The I O channel check signal I O CH CK is used to report non correctable errors on RAM adapters on the I O channel This check will create an NMI if the NMI is enabled At power on time the NMI is masked off and I O CH CK is disabled Follow these steps when enabling I O CH CK and the NMI 1 Write data...

Page 56: ... port output bit The timer counter s CLK OUT 2 Both of the above RAM Jumpers The system board has a 3 pin Berg strip connector JI8 Starting at the front of the system the pins are numbered 1 through 3 Jumper placement across these pins determines how much system board RAM is enabled Pin assignments follow Pin Assignments 1 No Connection 2 RAM SEL 3 Ground RAM Jumper Connector J18 1 40 System Board...

Page 57: ...rd the front of the system unit The primary display is attached to the Color Graphics Monitor Adapter or Professional Graphics Controller Off toward the rear of the system unit The primary display is attached to the Monochrome Display and Printer Adapter The switch may be set to either position if the primary display is attached to an Enhanced Graphics Adapter Note The primary display is activated...

Page 58: ...t be sent to the keyboard until acknowledgement is received for the previous byte sent The output buffer full interrupt may be used for both send and receive routines Keyboard Controller Initialization At power on the keyboard controller set the system flag bit to O After a power on reset or the execution of the Self Test command the keyboard controller disables the keyboard interface by forcing t...

Page 59: ...o 1 indicating a receive parity error The keyboard controller will also time a byte of data from the keyboard If a keyboard transmission does not end within two milliseconds a hex FF is placed in the keyboard controller s output buffer and the receive time out bit in the status register is set No retries will be attempted on a receive time out error Note When a receive error occurs in the default ...

Page 60: ...Keyboard 1 44 System Board ...

Page 61: ... 26 27 28 29 2A 2B 2C 2D 2E 2F Keyboard Scan Code 76 16 1E 26 25 2E 36 3D 3E 46 45 4E 55 66 OD 15 1D 24 2D 2C 35 3C 43 44 4D 54 5B 5A 14 lC lB 23 2B 34 33 3B 42 4B 4C 52 OE 12 5D lA 22 21 2A Key 90 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 43 30 31 32 33 34 35 36 37 38 39 40 41 1 44 14 46 47 48 49 Scan Code Translation Table Part 1 of 2 System Board 1 45 ...

Page 62: ... 3A 58 64 3B 05 70 3C 06 65 30 04 71 3E OC 66 3F 03 72 40 OB 67 41 02 or 83 73 42 OA 68 43 01 74 44 09 69 45 77 95 46 7E 100 47 6C 91 48 75 96 49 70 101 4A 7B 107 4B 6B 92 4C 73 97 40 74 102 4E 79 108 4F 69 93 50 72 98 51 7A 103 52 70 99 53 71 104 54 7F or 84 105 Scan Code Translation Table Part 2 of 2 1 46 System Board ...

Page 63: ...eserved 68 Reserved 69 Reserved 6A Reserved 6B Reserved 6C Reserved 60 Reserved 6E Reserved 6F Reserved 70 Reserved 71 Reserved 72 Reserved 73 Reserved 74 Reserved 75 Reserved 76 Reserved 77 Reserved 78 Reserved 79 Reserved 7A Reserved 7B Reserved 7C Reserved 70 Reserved 7E Reserved 7F Reserved Scan Code Translation Table Keyboard Scan Code 60 61 78 07 OF 17 IF 27 2F 37 3F 47 4F 56 5E 08 10 18 20 ...

Page 64: ...controller is programmed to set a 25 millisecond time limit for the keyboard to respond If this time limit is exceeded the keyboard controller places a hex FE in its output buffer and sets the transmit time out and receive time out error bits in the status register No retries are attempted by the keyboard controller for any transmission error Inhibit The keyboard interface may be inhibited by sett...

Page 65: ...may be read at any time Status Register Bit Definition Bit 7 Parity Error A 0 indicates the last byte of data received from the keyboard had odd parity A 1 indicates the last byte had even parity The keyboard should send data with odd parity Bit 6 Receive Time Out A 1 indicates that a transmission was started by the keyboard but did not finish within the programmed receive time out delay Bit 5 Tra...

Page 66: ...er uses this bit to determine if the byte in its input buffer should be interpreted as a command byte or a data byte Bit 2 System Flag This bit is monitored by the system during the reset routine If it is a 0 the reset was caused by a power on The controller sets this bit to 0 at power on and it is set to 1 after a successful self test This bit can be changed by writing to the system flag bit in t...

Page 67: ...lowing a controller command Data should be written to the controller s input buffer only if the input buffer s full bit in the status register is O The following are valid keyboard controller commands Commands I O Address Hex 64 20 Read Keyboard Controller s Command Byte The controller sends its current command byte to its output buffer 60 Write Keyboard Controller s Command Byte The next byte of ...

Page 68: ... status register Bit 1 Reserved Should be written as a O Bit 0 Enable Output Buffer Full Interrupt Writing a 1 to this bit causes the controller to generate an interrupt when it places data into its output buffer AA Self Test This commands the controller to perform internal diagnostic tests A hex 55 is placed in the output buffer if no errors are detected AB Interface Test This commands the contro...

Page 69: ...ller to read its input port and place the data in its output buffer This command should be used only if the output buffer is empty DO Read Output Port This command causes the controller to read its output port and place the data in its output buffer This command should be issued only if the output buffer is empty Dl Write Output Port The next byte of data written to I O address hex 60 is placed in...

Page 70: ... should not be modified Note Bit 0 of the controller s output port is connected to System Reset Pulsing this bit resets the microprocessor I O Ports The keyboard controller has two I O ports one assigned for input and the other for output Two test inputs are used by the controller to read the state of the keyboard s I clock I TO and I data I Tl lines The following figures show bit definitions for ...

Page 71: ...RAM on the system board o Enable 512K of system board RAM 1 Enable 256K of system board RAM Bit 3 Reserved Bit 2 Reserved Bit 1 Reserved Bit 0 Reserved Input Port Bit Definitions Bit 7 Keyboard data output Bit 6 Keyboard clock output Bit 5 Input buffer empty Bit 4 Output buffer full Bit 3 Reserved Bit 2 Reserved Bit 1 Gate A20 Bit 0 System reset Output Port Bit De finitions Keyboard data input Key...

Page 72: ...e 10 Diskette drive type byte drives A and B 11 Reserved 12 Fixed disk type byte types 1 14 13 Reserved 14 Equipment byte 15 Low base memory byte 16 High base memory byte 17 Low expansion memory byte 18 High expansion memory byte 19 Disk C extended byte lA Disk D extended byte lB 2D Reserved 2E 2F 2 byte CMOS checksum 30 Low expansion memory byte 31 High expansion memory byte 32 Date century byte ...

Page 73: ...0 00 Note The setup program initializes registers A B C and D when the time and date are set Also Interrupt lA is the BIOS interface to read set the time and date It initializes the status bytes the same as the Setup program Status Register A Bit 7 Update in Progress UIP A 1 indicates the time update cycle is in progress A 0 indicates the current date and time are available to read Bit 6 Bit 4 22 ...

Page 74: ...r at a rate specified by the rate and divider bits in register A A 1 enables an interrupt and a 0 disables it The system initializes this bit to O Bit 5 Alarm Interrupt Enable AIE A 1 enables the alarm interrupt and a 0 disables it The system initializes this bit to O Bit 4 Update Ended Interrupt Enabled UIE A 1 enables the update ended interrupt and a 0 disables it The system initializes this bit...

Page 75: ...gister B are set to 1 Bit 3 Bit 0 Reserved Should be written as a O Status Register D Bit 7 Valid RAM Bit VRB This bit is read only and indicates the status of the power sense pin battery level A 1 indicates battery power to the real time clock is good A 0 indicates the battery is dead so RAM is not valid Bits 6 Bit 0 Reserved Should be written as a O CMOS RAM Configuration Information The followi...

Page 76: ...in configuration matches the system board s display switch setting and the actual display adapter hardware in the system Memory Size Comparison A 0 indicates that the power on check determined the same memory size as in the configuration record and a 1 indicates the memory size is different Fixed Disk Adapter Drive C Initialization Status A 0 indicates that the adapter and drive are functioning pr...

Page 77: ...e drive installed 0000 0001 0010 No drive is present Double Sided Diskette Drive 48 TPI High Capacity Diskette Drive 96 TPI Note 0011 through 1111 are reserved Bit 3 Bit 0 Type of second diskette drive installed 0000 0001 0010 No drive is present Double Sided Diskette Drive 48 TPI High Capacity Diskette Drive 96 TPI Note 0011 through 1111 are reserved Hex address 11 contains a reserved byte System...

Page 78: ...ble also see BIOS 1110 listing at label FD_TBL 1111 Type 16 through 255 See Drive C Extended Byte Hex 19 on page 1 65 Defines the type of second fixed disk drive installed drive D 0000 No fixed disk drive is present 0001 Define type 1 through type 14 as shown to in the following table also see BIOS 1110 listing at label FD_TBL 1111 Type 16 through 255 See Drive D Extended Byte Hex lA on page 1 65 ...

Page 79: ...2 855 7 None 855 13 306 8 128 319 14 733 7 None 733 15 Extended Parameters hex 19 and 1A BIOS Fixed Disk Parameters Hex address 13 contains a reserved byte Equipment Byte Hex 14 Bit 7 Bit 6 Indicates the number of diskette drives installed 00 1 drive 01 2 drives 10 Reserved 11 Reserved Bit 5 Bit 4 Primary display 00 Primary display is attached to an adapter that has its own BIOS such as one of the...

Page 80: ...ocessor not installed 1 Math Coprocessor installed Diskette drive presence bit o Diskette drive not installed 1 Diskette drive installed Note The equipment byte defines basic equipment in the system for power on diagnostics Low and High Base Memory Bytes Hex 15 and 16 Bit 7 Bit 0 Address hex I5 Low byte base size Bit 7 Bit 0 Address hex I6 High byte base size Valid Sizes 0100H 0200H 0280H 256K sys...

Page 81: ...ended Byte Hex 19 Bit 7 Bit 0 Defines the type of first fixed disk drive installed drive C 00000000 through 00001111 are reserved 00010000 to 11111111 define type 16 through 255 as shown in the following table see BIOS listing at label FD_TBL Drive D Extended Byte Hex lA Bit 7 Bit 0 Defines the type of second fixed disk drive installed drive D 00000000 through 00001111 are reserved 00010000 to 111...

Page 82: ...yl 663 17 977 5 300 977 18 977 7 None 977 19 1024 7 512 1023 20 733 5 300 732 21 733 7 300 732 22 733 7 300 733 23 Reserved 255 Reserved BIOS Fixed Disk Parameters Extended Hex addresses IB through 2D are reserved Checkswn Hex 2E and 2F Bit 7 Bit 0 Address hex 2E High byte of checksum Bit 7 Bit 0 Address hex 2F Low byte of checksum Note Checksum is calculated on addresses hex 10 2D 1 66 System Boa...

Page 83: ... time This expansion memory size can be determined through system interrupt 15 see the BIOS listing The base memory at power on time is determined through the system memory size determine interrupt hex 12 Date Century Byte Hex 32 Bit 7 Bit 0 BCD value for the century BIOS interface to read and set Information Flag Hex 33 Bit 7 When set this bit indicates that the top 128K of base memory is install...

Page 84: ...e CMOS address that will be written to 2 OUT to port hex 71 with the data to be written Reading CMOS RAM also requires two steps 1 OUT to port hex 70 with the CMOS address that is to be read from 2 IN from port hex 71 and the data read is returned in the AL register 1 68 System Board ...

Page 85: ...6 8 inches Weight 20 0 kilograms 44 pounds Power Cables Length 1 8 meters 6 feet Environment Air Temperature System On 15 6 to 32 2 degrees C 60 to 90 degrees F System Off 10 to 43 degrees C 50 to 110 degrees F Wet Bulb Temperature System On 22 8 degrees C 73 degrees F System Off 26 7 degrees C 80 degrees F System Board 1 69 ...

Page 86: ...7000 feet Heat Output 1229 British Thermal Units BTU per hour Noise Level Meets Class 3 59 decibels average noise rating without printer Electrical Power 450 VA Range 1 Nominal 115 Vac Minimum 100 Vac Maximum 125 Vac Range 2 Nominal 230 Vac Minimum 200 Vac Maximum 240 Vac 1 70 System Board ...

Page 87: ...ery connector 121 Keyboard connector 122 The pin assignments for the power supply connectors PS8 and PS9 are as follows The pins are numbered 1 through 6 from the rear of the system Connector Pin Assignments 1 Power Good 2 5 Vdc ps8 3 12 Vdc 4 12 Vdc 5 Ground 6 Ground 1 Ground 2 Ground PS9 3 5 Vdc 4 5 Vdc 5 5 Vdc 6 5 Vdc Power Supply Connectors IPsa PSg System Board 1 71 ...

Page 88: ...a 5 pin Berg strip The pins are numbered 1 through 5 from the front of the system The pin assignments are as follows Pin Assignments 1 LED Power 2 Key 3 Ground 4 Keyboard Inhibit 5 Ground Power LED and Key Lock Connector J20 The battery connector J21 is a 4 pin keyed Berg strip The pins are numbered 1 through 4 from the right of the system The pin assignments are as follows Pin Assignments 1 Groun...

Page 89: ...e Printed Circuit Board PCB mounting DIN connector For pin numbering see the Keyboard Section The pin assignments are as follows Pin Assignments 1 Keyboard Clock 2 Keyboard Data 3 Reserved 4 Ground 5 5 Vdc Keyboard Connector J22 System Board 1 73 ...

Page 90: ...m board Rear Panel 1 0 Channel Connectors Variable Capacitor I rnrnrnrnrnnrnrn I rnrnrnrnrnrnrnrnrn Keyboard Connector Battery oj Connector J21 Power Supply Connectors Note The memory module layout and system board dimensions may vary 1 74 System Board ...

Page 91: ...Notes System Board 1 75 ...

Page 92: ...Logic Diagrams Type 1 N N53 z i i i ii l 2 2 2 2 II II I I l i S g f i b il M6 i iOiiliil I I I t l f9 2 i 2 i 2 liQ 1 76 System Board II II 0 G G c C co I c co il III 1 II II It G Q I 3 5 8 ...

Page 93: ...U HU A HB t l1 l D N SH 12 CNTL rEF AEN CEN DUR y 12 l R Q oo i F i JIO J Jr IIl 1 It SH e SH 3 Uq7 J LSO U FlO SH 1S LS6 6 ALSO 2 lR l i V i D SH 15 5 H 4 LSAO r t SH 1 00 500 8H 6 13 20 0 SD SD 0 1 67 17 SD 0 5 SD Tlr I 0 SD SH 1 07 I SD7 SH 6 13 20 SH 1 l0 L52 I DIR G SH l O SDB SH 6 13 1S 0 SD 11 010 SOlO Oil SOH d bb SOl2 SOil 0 4 01 5014 I I 0 1 SH 1 0 SOle 8H 6 13 19 e 0 DT if a LS40 10 U H...

Page 94: ...fi i g c i t x r r x r I i 1212 12 212 112 d d 0 iI j 5 1 e i CO r T o 0 ol j N C I 0 I Q Q c en as c as a III C I It Q c G f O_d I r OIii s It e 5 iQ r i i 1 78 System Board ...

Page 95: ...5 8 20 7 SH l5 LA2l ISH 19 22 LA I LA20 LAI iA Uf i aliT LAIS SH 15 I R co SH 19 1 SH 19 tWiml L _ lr 1 III II SH o Q I SAte SH 20 o Q I SAl SH 20 SH l H g un 1 Fs 19 SH 5 SRa D Q 1 1 SH 1 f o Q N L _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ LCS ROM SH e 11 Ol SH 8 15 20 21 SH II SH 12 AD COIN O I 3ij t1 SH 2 I I 5H 12 OMVAlE lj i t_ l SH 3 PtLU ALTALE SH 12 SH 2 J C Type 1 51 2KB Planar Sheet 4 of 22 l NOIl J...

Page 96: ... b Ij RAM JUHfI R e UM 6 SH 6 5H 11 R lf 1 S L SH 19 11Ef 1 5 If C I OJ AlS12 SH 3 HLDA UIIO b GATE ALE SH 3 5H 2 LE Als zlto SH 4 S XAI SM l 11 14 15 16 SAl lAO 5H l 11 14 15 17 S B 20 1 5H 3 11 14 15 S x SH l 11 14 18 IS lA i SH l 13 14 SAO XA6 SH l3 14 SAl XA7 SH ll 13 14 H 4 SAO I 18 XAS SH l 13 14J 5H 6 DMUEN I IR u RfiI t l AlSOZ run GRl SH 8 1S t 10 AL5Z o B 1 SH ll 13 14 SAID XAIO B SAil l...

Page 97: ... 01 01 0 CO Q tJ Q s en mm a tV c tV D m 01 II Q Q r I I I I I I I I I I I J O i I 1 5 r g i 0 Sia St m i jii r i1i N N i R N r 2 2 iii iii i i System Board 1 81 ...

Page 98: ...I FOil SH 5 RAI 1 0 CAS I UIII 1 FlO Il 1 00 10 1 U iCl 1 I U ill AAS 1 SH 9 ISH 5 R 11 0 RAS I SH 51 F Z RAS 0 FlO lOR It Uo 7 b RAS I SH S 12 FOil SH 5 RA 11 CAS uel If 10 FlO r 11 Uo q II II U i7 liAS 1 SR9 b 1011 1 I SH 51 RAMI RAS SH 5 1W11 RAS 1 FlO ALSO 2 100 12 SH 1S XAO ua I U j 0 50L SR8 11 FlO I on I Uo l SH S SH_2 11 FlO Ij 10R l SH 9 7olUIj ASt L II FlO Ofl q 10 U i CAS I fl SH 9 XAO ...

Page 99: ... RA I 1 RASi AO FI S 100 HAl b I I I l 8ANII I SA YI I HA 12 SH 4 II II If 9 lot A MAlt IA It I SA ZA Vi 1 I 1 KAt I II MAr I Ao I A n 19HA7 SA HAt I All MA7 q 7 SAI l 2 WE SA 3 T RASO It mo i SAr 00 A ASOH I m SH 4 so 1 111 I DIN DooT k l SH 51 GR 9 SH 7 RAsa SH 7 CASOl 1 1 e SH 7 CASOH SH RASI u I l __ a 1 11 DIN OOUT l1 IO I lOiN OOUT u 1 Ilf q 12 81 XI I QO M Type 1 512KB Planar Sheet 8 of 22 ...

Page 100: ... N 0 0 G c G z c r s 0 o s r 8 I C 0 I 0 0 m N It G 8 g a5 _N l 5 Q 0 t r r r J r 1 i 1 I I N_ _ 3 00 C ilC _ z lI to q 2S ii tiii i 1 84 System Board ...

Page 101: ... 0 _ nJ C I C I o o I c I I C I a III C I It ii iei 0 i System Board 1 85 ...

Page 102: ...I I Sf i 8 8 TnTr Tn TnTr 2 110 I l II II 0 j G G c CU C CU ID C II It G Q I 1 86 System Board ...

Page 103: ...O CHROY t SH 3 PUll UP SH 4 lLT ALE I 4 SH 8 SH_ 1 RESET ClK JLf j jf GClR UH SH_6 ENOCy I FII SH 22 OWS 12 L t Ul I R l lwS SH 6l I I SH I SH 6 F17 DATA COfft ONVAO L t K SH 4j RESET UIOO i C FO ONVALE SH 4 IO HPCS L SH 3 e III 11 l OFF I Uqb SH 2 I QC Type 1 512KB Planar Sheet 12 of 22 l NOll l3S ...

Page 104: ...B If x iI J xo x SH 14 15 16 17 16 5 11 18 x SH 3 14 15 16 17 18 I AlS04 gIR UlIl SH 3 DA l 1 11 ALSOS II uel SH 19 SID f 1 SH 3 SH 5 SH 4 15 2 AL527 AC SH 5 f 1H ua 12 1 2 i1 SH 1S xIOA 11 SH 3 PCS u o n SH 2 9 Ullt 11fT ALSI1II SH 5 us ro Dt1AI 5 SH 14 SH 5 VI If INTRICS SH 16 SH 5 Tf 5 SH 16 PPI S SH 18 PG REG 5 SH 15 INTR 2 5 SH 1G If GZA DMA2 S SH 14 i GZ CS 287 SH 3 G U Type 1 512KB Planar S...

Page 105: ... XAl4 OMA HEI1R SH 13 MA 1 C SH 13 MA2 C A05T8 I G Q OM I CS II cs u lEN 1 C I e lK ru I RESET r E T 1 T SH 5 SH 15 I I SH 131 8l17A 1 AI o J AD 1 17 o QIB 1 o H XAID ISH 13 18 t 7 mlh o Q 16 XAI2 o i l 40 SH 20 A b D lJi2 il S XI SH 20 XDO 30 xD 10 SH 20 UI22 2 101 D SH t9 o ze 02 O T8 01 8 SH 19 fl 27 IO rOE EN 1 21 9 fXAII I 4 b 1m2 AE I SH 6 151 AEN 2 SH B I J iPllt II UI21 10 0 T 2 lOW m SH 5...

Page 106: ... uU I I I I 1 90 System Board g i L N 0 It CD CD c as c as ii m It CD Q II l f 5 7 i i i ...

Page 107: ... m J r N N 0 ddd go CD CD CD c rJ ftI C a ftI m N It 2i n a 0 l System Board 1 91 ...

Page 108: ...R ISH 13 DO 00 I l DO 1 YD UI21 0 1 801NH XD1 o GNC I IS PlO 21 18 1 O f i 1K RAM SEl SH 5 SH 13 07 07 R II SH 221 Pl1 MC AlO GATE SH 11 P2 t 1 OPf BUF FULL SH 16 Xg 2 10K PZ i Th NC r SH l em REm 0 I AlSOO P2t 17 UI20 j II to SH 3 Z UAlI l EY8OARO CartN i 1 1 iPIN DIN V I 0 RBO LK 11 q lib II o K IO DATA SH 3 I Jft 07 12 11100 of A ll P21 XTAL2 1 J 5 I eo GND o eD 0 I TESTO SYI ICP NC m m IlpF r ...

Page 109: ... m I i J I 7 0 00 l6I IL 0 5 66 61 s Ll Lt JL CIoI CIoI f o E o CO E 4P CD J if e CD J en gv irr CO C CO it III CIoI vvvr zz It System Board 1 93 ...

Page 110: ...QII oD CI o g d I m I II I II II o 0 CI CI c J r ev r ev ii III II It 1 94 System Board ...

Page 111: ... 5H 16 Aib SAI 5 Ai SAlt 5AI7 SAl Ai SH 4 SAI 9 ORG I SH_14 BOb ORQ2 SH 14 SH 2 lOR ORG SH 14 SH_21 lOW IZ iSH 5 ME POIA GOOO SH I IS SH 7 5 EM SH 31 SYSCllC S SH l0 DSC jEll SH 14 T C Il L NN SH 3 E N GOOD SH 3 RESET ORY 10 12 0 7 G SH 21 REFRESH 1 SH 14 PACK I 81 SH 14 01 1 2 01 SH 14 DACI 10 S SH 3 012b xl t I GNC OS IO f A LE BO 5H 22 0 5 _1Ij GNO I sv DC j i b eo DC I D 51 1 1 1 l I C U Type ...

Page 112: ... l f aai N N 0 N CD CD IV c IV 0 CD N CD Q 3 lij N l i l 1 96 System Board ...

Page 113: ...H l AI SH 1 SO IZ 0 L Z 0 C R CLR SH 1 51 12 0 II ClIl VIO i UIOo VI06 1 eLI SHT OWN SH 1 i PH SH ll RC SH 15 SDClK SH 3 PULL UP SH 3 lOR WE SH 8 21 SH l 1 1110 R TWE ISH 9 SH 15 arVID SH 6 SH 1 12 20 8 l 10 R I 11 I C Type 1 51 2KB Planar Sheet 22 of 22 l NOIl J S ...

Page 114: ...Logic Diagrams Type 2 d IT N _ _ _ N g g i i I r j j J 1 1f l eili 1f M N 0 G G en J co 1 c co Q a I N It N G Q 1 98 System Board ...

Page 115: ... a _ g d d C ID 111 IDII r i e t c coe t ICCC Cc cc g 0 0 7 ilt n t I I I Ii h v gl t 02 1 Ir e IT 2 U SYI 5i d o M 5 3 8Ci IS as gg gii iQ 2 I 2 2 i i i I i 2 System Board 1 99 ...

Page 116: ...SH 4 9 11 14 20 21 15 1 PULL UBO j SH 13 14 OHAClK e DMA U SH 2O SH l a AS SH l7 SH 19 20 21 SYSCLk ISH 11 SrSCLk 6 HZ SH 1 PROCClK PROCeLk SH 2 11 PClK SH lS SH l6 VtA 10 0 SH lS ISH 16 SH 19 10 eM I SH 9 0 HHI SH l I I SH 12 J01 I SH 17 1111 C i SH l HLDA SH 1 5 12 20 SH 12 0 0 L r 1 SH lS GATt ALl 1 A yl SH 5 BALE SH 19 SH l II S T y RESET DRV SH 19 Ul Type 2 51 2KB Planar Sheet 3 of 21 ...

Page 117: ... ffi 5 r C i 0 C I IC I d iaJ CD r CD c 0 1 c ii II 0000000 II 2 ID It It C i C i CD Q I i I i 5 S S I on r r r 1 Q 1 1 1 1 Q System Board 1 101 ...

Page 118: ... MM M B Bri e iD ri i t ii r r i r iQiQ B B iQiQ iQiQiQ Q I i ii a c c 0 iddd ecce D N 0 It jf CD CD I en o c I 5 1 C I 00 00 00 0 a 1 1 i 113 N It 1 N CD Q go I I L I lrl i 1 ltJ 55 5 1 102 System Board ...

Page 119: ... N m 5 5 5 N N i I 1 _____J I 01 m i t 2 2 2 2 2 N o CD iG c tJ ftI C ftI Ii m lII N It N G Il r I I I I I I I I ___ I r7 NNN 5 System Board 1 103 ...

Page 120: ... 5 5 ii I I I I I I I a a a 1e 9 II 0 CI CI r c ii Dl II It II CI Co I 5 I I I 1 104 System Board ...

Page 121: ... N o co Q Q c cu c cu a CC N I N Q Q I I I S S S S System Board 1 105 ...

Page 122: ... e 2 f r f r t L ci 0 d II 0 0 g G G f c ca r c ca i a I 5 ID OUl v c CJ _ It II G 4 Q r 2 II j 0 N r r 2 2 ia 1 106 System Board ...

Page 123: ...Si i a 1ii 2 8 s2l g b8 2 __ _ C I o o G G c en tV c tV D III C I 1 111 It C I G C if iii n iii w 0 if iii w Q fQ System Board 1 107 ...

Page 124: ... iii N I I I I I I I I W W N o 0 0 r f J 00 d 1i F t o 0 I 0 cj H I 0 I I I I I I I W is I N I iii I I 1 108 System Board N 0 Q Q c r to C to a III N It N Q Co I ...

Page 125: ...XD1 SH 3 13 14 15 16 17 AlSOIf L OIR U1I1 n ALS08 SH 31 HLDA I CI 12 UIIO 1 SH 1S MASTER 2 ALS27 ACI SH 31 SH 5 ACk SH 4 14 SH S 11 UI I 12 SH 14 lOll f OJ SH 3 PeS AlSOIt U62 B SH 2 INT rI f 1M ALSI18 SH 5 YO 10 SH 13 SH 5 SH 15 Dr1AI S f HURI S SH St SH 15 T C S I PPI 5 SH 17 l SH 14 10 1 fIR 2 S SH 15 PG RE I S If_ 62 SH 13 OMA 2 S L t G YO G SH 3 1 I c I e Type 2 512KB Planar Sheet 12 of 21 1 ...

Page 126: ...0 1 1 i 2 l 2 C 2 2 S n g mil I I I I d 9 T 11 N _ t II Lf 1 ill i 1 j I NO m mSOOm n h I I i H mmm 000 m m Cil 0 00 II 0 M Q Q J ctI c ctI a m lI II II II Q Q 1 110 System Board ...

Page 127: ... c J 3 E I _ I 1 1 Si ii h Hn I I g o 5 L i N o 4 4 en r ftI C ftI a ID i i 1 g S6 S gg i N 2J e rrm 11 L It N JIl _llt m CD Q f g t v W 55 55 MM 5 0 System Board 1 111 ...

Page 128: ... XiOR SH 14 tIOW ASO 12 SH 20 SH 14 1051 SH 2 INTA HASTER C S2 11 SH 5 10 IRQ8 OR SH lel 0 00 20 1111 SH 17 9 RQID SH 1S IIQIO 1112 SH 18 IRQII 21 1111 I T ln IRQII SH l8 IRQI2 SH 3 IIIGlll 2Z III IRQll SH 1S J SH 18 ORO IRaIS SH 12 INTA2 S XlOR 1111 XIOW SW F III I INTA It INTA II 00 10 SH 15 01 1 I Ii CUll 11 SH 1S1 XO os os ASO OJ OJ UI01V i II SH 1SI TIM2 T 5f II SH 9 n SH 2 Type 2 512KB Plana...

Page 129: ...R ISH 12 11 1 r I OINH J 2 1 ISH 1 ALSOO I PCLK _ 7001 n I plt ln L SH3 ICEV9OARO CONN nALI PDlOIN KBO L kll OATA _P LI lOl 10IlR12 211 18 q SH J 1 KUL2 K80GNO 1 90 fJ1 5Ypt N IIII o PiNQ1NCONN IL s C I 2 IOTTOM PIN SlOE ISH i SH3 SH15 SH 20 m I IUII Type 2 512KB Planar Sheet 16 of 21 ISH 151 ISH 151 ISH 9 SH 3 RAMSEL SH 5 ISH 211 AZOGAT ISH 1 OPT 8Uf FULL ISH 15 W L NOIl J3S I ...

Page 130: ... III Q 22 e I N 0 CD CD c en ca c n ca m N It N CD Q I ll 0 0 l e g cc 11 1 rllll L 1 114 System Board ...

Page 131: ...0 1 O I 3 Hi I I I System Board 1 115 ...

Page 132: ...SAIZ IRQ 0 822 SAllf IRa 1 SH 15 SAil IRQ b AI1 A SAI i A SAil SAlb AI SAla SH 4 SAIQ ORO I SH la AI2 0 ORQZ SH 13 SH 21 lOR AI ORO 1 SH 13 SH 21 lOW SH 7 012 s MENR PWRGOOD SH l 17 SH 7 5 MEI 1W 1Pl2 SH 31 820 SVSClK P5 SH 9 A OSC POWER SH 13 27 ONN TIe All SH 3 EN SH 31 RESET ORV B02 Cj yoe 2 YOC SH 20 1 2 voe REFRESH IT l GOOD POWER SH 13 DA I I GND SH 13 2 DACI l GNO SH 13 DACK l OIf7J 1F SH 3...

Page 133: ... 13 2 N o o N G G c IV C IV ii III N Il N G C System Board 1 117 ...

Page 134: ... iD j J G t w 5 0 0 w 1 II j G IG 0 w 5 0 2 II Q N Q c r CU C CU G 0 c III e W 0 II o frt It 2 II Q Q N I 5 1 l _0_ M 1 9 li MM iII t t t rQ 1l 1 118 System Board ...

Page 135: ...SECTION 2 COPROCESSOR Contents Description 2 3 Programming Interface 2 3 Hardware Interface 2 4 Coprocessor 2 1 ...

Page 136: ...Notes 2 2 Coprocessor ...

Page 137: ... divided into the following three classes Binary integers 3 types Decimal integers 1 type Real numbers 3 types Programming Interface The coprocessor offers extended data types registers and instructions to the microprocessor The coprocessor has eight 80 bit registers which provides the equivalent capacity of forty 16 bit registers This register space allows constants and temporary results to be he...

Page 138: ...e system microprocessor 2 66 MHz The coprocessor is wired so that it functions as an I O device through I O port addresses hex OOF8 OOFA and OOFC The microprocessor sends OP codes and operands through these I O ports The microprocessor also receives and stores results through the same I O ports The coprocessor s I busy I signal informs the microprocessor that it is executing the microprocessor s W...

Page 139: ...ould be passed to the original NMI interrupt handler The coprocessor has two operating modes similar to the two modes of the microprocessor When reset by a power on reset system reset or an I O write operation to port hex 00F1 the coprocessor is in the real address mode This mode is compatible with the 8087 Math Coprocessor used in other IBM Personal Computers The coprocessor can be placed in the ...

Page 140: ...Notes 2 6 Coprocessor ...

Page 141: ...ECTION 3 POWER SUPPLY Contents Inputs 3 3 Outputs 3 4 DC Output Protection 3 4 Output Voltage Sequencing 3 4 No Load Operation 3 5 Power Good Signal 3 5 Load Resistor 3 5 Connectors 3 7 Power Supply 3 1 ...

Page 142: ...Notes 3 2 Power Supply ...

Page 143: ...a frequency of either 60 3 Hz or 50 3 Hz and it can operate at Ito Vac 5 A or 220 240 Vac 2 5 A The voltage is selected with the switch above the power cord plug at the rear of the power supply The following figure shows the input requirements Range Vo Itage Vac Current Amperes Minimum 100 115 Vac Maximum 5 Maximum 125 Minimum 200 230 Vac Maximum 3 0 Maximum 240 Input Requirements Note The maximum...

Page 144: ... 5 to 4 5 Vdc 0 0 0 3 10 to 8 12 Vdc 2 5 7 3 5 to 4 12 Vdc 0 0 0 3 10 to 9 DC Load Requirements DC Output Protection If any output becomes overloaded the power supply will switch r Off within 20 milliseconds An overcurrent condition will not damage the power supply Output Voltage Sequencing Under normal conditions the output voltage levels track within 300 milliseconds of each other when power is ...

Page 145: ...uming there are no problems This signal is a logical AND of the dc output voltage sense signal and the ac input voltage sense signal The I power good I signal is also a TTL compatible high level for normal operation or a low level for fault conditions The ac fail signal causes I power good I to go to a low level at least one millisecond before any output voltage falls below the regulation limits T...

Page 146: ... reached their minimum sense levels The I power good I signal has a turn on delay of at least 100 milliseconds but not longer than 500 milliseconds and can drive six standard TTL loads The following figure shows the minimum sense levels for the output voltages Level Vdc Minimum Vdc 5 4 5 5 3 75 12 10 8 12 10 4 Sense Level 3 6 Power Supply ...

Page 147: ...und PS9 1 Ground PS9 2 Ground PS9 3 5 PS9 4 5 PS9 5 5 PS9 6 5 Pl0 1 12 Pl0 2 Ground Pl0 3 Ground Pl0 4 5 P11 1 12 P11 2 Ground P11 3 Ground P11 4 5 P12 1 12 P12 2 Ground P12 3 Ground P12 4 5 DC Load Distribution Max Current A See Note 3 B 0 7 0 3 0 0 0 0 0 0 0 0 0 3 3 B 3 B 3 B 2 B 0 0 0 0 I B 2 B 0 0 0 0 I B 1 0 0 0 0 0 0 6 Note For more details see Power Good Signal Power Supply 3 7 ...

Page 148: ...Notes 3 8 Power Supply ...

Page 149: ...P Hex FD through F7 4 6 Set Default Hex F6 4 6 Default Disable Hex F5 4 6 Enable Hex F4 4 6 Set Typematic Rate Delay Hex F3 4 7 No Operation NOP Hex F2 through EF 4 8 Echo Hex EE 4 8 Set Reset Mode Indicators Hex ED 4 8 Commands to the System 4 9 Resend Hex FE 4 9 ACK Hex FA 4 9 Overrun Hex 00 4 10 Diagnostic Failure Hex FD 4 10 Break Code Prefix Hex FO 4 10 BAT Completion Code Hex AA 4 10 ECHO Re...

Page 150: ...yboard Data Input 4 13 Keyboard Layouts 4 15 FrenchKeyboard 4 16 German Keyboard 4 17 I Italian Keyboard 4 18 Spanish Keyboard 4 19 U K English Keyboard 4 20 U S English Keyboard 4 21 Specifications 4 22 Size 4 22 Weight 4 22 Logic Diagram 4 23 4 2 Keyboard ...

Page 151: ...rect sequence regardless of the number of keys held down Keystrokes entered while the interface is inhibited when the key lock is on will be lost Keystrokes are stored only when the keyboard is not serviced by the system Keyboard Buffer The keyboard has a 16 character first in first out FIFO buffer where data is stored until the interface is ready to receive it A buffer overrun condition will occu...

Page 152: ...ate is described under Set Typematic Rate Delay When two or more keys are held down only the last key pressed repeats at the typematic rate Typematic operation stops when the last key pressed is released even if other keys are still held down When a key is pressed and held down while the interface is inhibited only the first make code is stored in the buffer This prevents buffer overflow as a resu...

Page 153: ...the interface is enabled I clock I and I data I lines are set high the keyboard sends a completion code to the interface either hex AA for satisfactory completion or hex FC or any other code for a failure If the system issues a Resend command the keyboard sends the BAT completion code again Otherwise the keyboard sets the keys to typematic and make break Commands from the System The commands descr...

Page 154: ...tem enables the interface to allow the next keyboard output Upon receipt of Resend the keyboard sends the previous output again unless the previous output was Resend In this case the keyboard will resend the last byte before the Resend command No Operation NOP Hex FD through F7 These commands are reserved and are effectively no operation or NOP The system does not use these codes If sent the keybo...

Page 155: ...tiplied by 250 milliseconds 200 0 The period interval from one typematic output to the next is determined by the following equation Period 8 A X 2B X 0 00417 seconds where A binary value of bits 2 1 and 0 and B binary value of bits 4 and 3 The typematic rate make code per second is l period The period is determined by the first equation above table results Bit 4 0 Typematic Rate 20 00000 30 0 0000...

Page 156: ...Operation NOP Hex F2 through EF These commands are reserved and are effectively no operation NOP The system does not use these codes If sent the keyboard acknowledges the command and continues in its prior scanning state No other operation will occur Echo Hex EE Echo is a diagnostic aide When the keyboard receives this command it issues a hex EE response and continues scanning if the keyboard was ...

Page 157: ...nning and wait for the option byte The keyboard will respond to the option byte with an ACK set the indicators and continue scanning if the keyboard was previously enabled If another command is received in place of the option byte execution of the function of the Set Reset Mode Indicators command is stopped with no change to the indicator states and the new command is processed Then scanning is re...

Page 158: ...rd periodically tests the sense amplifier and sends a diagnostic failure code if it detects any problems If a failure occurs during BAT the keyboard stops scanning and waits for a system command or power down to restart If a failure is reported after scanning is enabled scanning continues Break Code Prefix Hex FO This code is sent as the first byte of a 2 byte sequence to indicate the release of a...

Page 159: ... positions of the keys and their make scan codes Key Make Code Key Make Code Key Make Code Number Number Number 1 OE 31 1C 67 OB 2 16 32 lB 68 OA 3 1E 33 23 69 09 4 26 34 2B 70 05 5 25 35 34 71 04 6 2E 36 33 72 03 7 36 37 3B 73 83 8 30 38 42 74 01 9 3E 39 4B 90 76 10 46 40 4c 91 6C 11 45 41 52 92 6B 12 4E 43 5A 93 69 13 55 44 12 95 77 14 50 46 lA 96 75 15 66 47 22 97 73 16 OD 48 21 98 72 17 15 49 ...

Page 160: ...nificant 3 Data b t 1 4 Data b t 2 5 Data b t 3 6 Data b t 4 7 Data b t 5 8 Data b t 6 9 Data b t 7 most significant 10 Parity bit always odd 11 Stop bit always 1 The parity bit is either 1 or 0 and the eight data bits plus the parity bit always equals an odd number When the system sends data to the keyboard it forces the I data I line to a negative level and allows the I clock I line to go to a p...

Page 161: ...ne contention occurs before the rising edge of the tenth clock parity bit the keyboard buffer returns the I data I and I clock I lines to a positive level If contention does not occur by the tenth clock the keyboard completes the transmission Following a transmission the system can inhibit the keyboard until the system processes the input or until it requests that a response be sent Keyboard Data ...

Page 162: ...pt of this signal the system returns to a ready state in which it can accept keyboard output or goes to the inhibited state until it is ready Each system command or data transmission to the keyboard requires a response from the keyboard before the system can send its next output The keyboard will respond within 20 milliseconds unless the system prevents keyboard output If the keyboard response is ...

Page 163: ...Keyboard Layouts The keyboard has six different layouts French German Italian Spanish U K English U S English The following pages show the six keyboard layouts Keyboard 4 15 ...

Page 164: ... I I f g a ...

Page 165: ... r I i I I to NOIl l S ...

Page 166: ... I iQO i f f ...

Page 167: ... rJj CI f C t NOll HS I ...

Page 168: ...I c N tD a e L i tr1 fI l I ...

Page 169: ...i a I N 17 NOIl J JS 00 i c r C 0 e Q ...

Page 170: ...Specifications Size Length 540 millimeters 21 6 inches Depth 100 millimeters 4 inches Height 225 millimeters 9 inches Weight 2 8 kilograms 6 2 pounds 4 22 Keyboard ...

Page 171: ... 4 1 1 Ri P1i Ui A1 7406 LEO 3 P20 i l 0 o o 00 J Q _ A3 PARTIAL ViEW A A III n _ Ui Ci i A Pi 5 r J o aRi OR1 OR3 0 LED i LED 1 LED 3 L A 10 CJ 01 L B _________ J B r LED HOLDER lED CARO W Enhancement Logic Card Assembly t NOIl J3S I ...

Page 172: ...Notes 4 24 Keyboard ...

Page 173: ...6 Other Read Write Memory Usage 5 8 BIOS Programming Hints 5 10 Adapters with System Accessible ROM Modules 5 12 Additional System Board ROM Modules 5 13 Keyboard Encoding and Usage 5 13 Character Codes 5 14 Extended Functions 5 18 Shift States 5 19 Special Handling 5 21 Quick Reference 5 24 System BIOS 5 1 ...

Page 174: ...Notes 5 2 System BIOS ...

Page 175: ... 5 13 The goal of the BIOS is to provide an operational interface to the system and relieve the programmer of concern about the characteristics of hardware devices The BIOS interface isolates the user from the hardware allowing new devices to be added to the system yet retaining the BIOS level interface to the device In this manner hardware modifications and enhancements are not apparent to user p...

Page 176: ...r is used at input to indicate the desired operation For example to set the time of day the following code is required MOV AH 1 function is to set time of day MOV CX HIGH_COUNT establish the current time MOV OX LOW_COUNT INT 1AH set the time To read the time of day MOV AH O function is to read time of day INT 1AH read the timer The BIOS routines save all registers except for AX and the flags Other...

Page 177: ...ons Communications Alternate Printer Diskette Printer Video Equipment Check Memory Diskette Disk Communications Cassette Keyboard Printer Resident Basic Bootstrap Time of Day Keyboard Break Timer Tick Video Initialization Diskette Parameters Video Graphics Chars BIOS Entry D11 D11 NM I INT D11 D11 PRINT SCREEN D11 D11 TIMER INT KB INT DlT D11 D11 D11 DISK INT Dll VIDEO 10 EQUIPMENT MEMORY SIZE DET...

Page 178: ...disk read DOS absolute disk write DOS terminate fix in storage Reserved for DOS Reserved for BIOS Reserved for user program interrupts Not used IRQ 8 Realtime clock INT BIOS entry RTC INT IRQ 9 TBIOS entry RE DIRECT IRQ 10 BIOS entry 011 IRQ 11 BIOS entry 011 IRQ 12 BIOS entry 011 IRQ 13 BIOS Redirect to NMI interrupt BIOS entry INT 287 IRQ 14 BIOS entry OIl IRQ 15 BIOS entry 011 Not used Reserved...

Page 179: ...considerations The Break may have occurred during interrupt processing so that one or more End of Interrupt commands must be sent to the 8259 controller All II0 devices should be reset in case an operation was underway at the same time Interrupt I C Timer Tick This vector points to the code that will be executed at every system clock tick This vector is invoked while responding to the timer interr...

Page 180: ... points For access to the second 128 code points this vector must be established to point at a table of up to lK where each code point is represented by 8 bytes of graphic information At power on time this vector is initialized to 000 0 and the user must change this vector if the additional code points are required Interrupt 40 Reserved When a Fixed Disk and Diskette Drive Adapter is installed the...

Page 181: ...print screen operation I Print screen in progress 255 Error encountered during print screen operation 504 DOS Single drive mode status byte 510 511 BASIC BASIC s segment address store 512 515 BASIC Clock interrupt vector segment offset store 516 519 BASIC Break key interrupt vector segment offset store 51A 51D BASIC Disk error interrupt vector segment offset store Reserved Memory Locations The fol...

Page 182: ...and absolute addresses within BIOS are subject to change without notice If an error is reported by the disk or diskette code reset the drive adapter and retry the operation A specified number of retries should be required for diskette reads to ensure the problem is not due to motor startup When altering I O port bit values the programmer should change only those bits necessary to the current task ...

Page 183: ... these interrupt routines therefore the timing of communication and the Block Move should be considered The following table shows the interrupt servicing requirements for communication devices Baud Rate 11 Bit ms 9 bit ms 300 33 33 30 00 1200 8 33 7 50 2400 4 16 7 50 4800 2 08 1 87 9600 1 04 0 93 Times are approximate Communication Interrupt Intervals The following table shows the time required to...

Page 184: ...ccurs At this point a ROM routine on an adapter may gain control and establish or intercept interrupt vectors to hook themselves into the system The absolute addresses hex C8000 through EOOOO are scanned in 2K blocks in search of a valid adapter ROM A valid ROM is defined as follows Byte 0 Hex 55 Bytel HexAA Byte 2 A length indicator representing the number of 512 byte blocks in the ROM Byte 3 Ent...

Page 185: ...efined as follows Byte 0 Hex 55 Byte 1 HexAA Byte 2 Not used Byte 3 Entry by a CALL FAR A checksum is done to test the integrity of the ROM modules Each byte in the ROM modules is summed modulo hex 100 This sum must be 0 for the modules to be valid This checksum is located at address EFFFF When the POST identifies a valid ROM at this segment it does a CALL FAR to byte 3 of the ROM which should be ...

Page 186: ...f 0 to 255 an extended code for certain extended keyboard functions and functions handled within the keyboard routine or through interrupts Character Codes The character codes described later are passed through the BIOS keyboard routine to the system or application program A 1 means the combination is suppressed in the keyboard routine The codes are returned in the AL register See Characters Keyst...

Page 187: ...The following figure shows the keyboard layout and key positions System BIOS 5 15 ...

Page 188: ... 010 1 1 1 SUB 026 CAN 024 ETX OO3 in this section this section 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8 10 9 11 0 12 13 14 15 Backs ace 008 16 1 009 17 q 18 w 19 e 20 r 21 t 22 Y 23 u 24 i 25 0 26 p 27 28 1 30 Ctrl 1 31 a 32 s 33 d 34 f 35 g 36 h 37 j 38 k 39 I 40 41 I 43 CR 44 Shift 1 Left 46 z 47 x 48 c Notes Refer to Extended Refer to Special A 1 Backs ace 008 I Q w E R T Y U I 0 p 1 A S D F G H J K L ...

Page 189: ...90 Esc Esc Esc 1 95 Num 1 1 Pause 1 Lock 100 Scroll 1 1 Break 1 Lock 107 108 Enter Enter 1 1 112 Null Nu 11 Null Null 113 Null Null Null Null 114 Null Null Null Null 115 Null Null Null Null 116 Null Null Null NulJ 117 Null Null Null NulJ 118 Null Null Nu 11 Null Notes i Refer to Extended Functions in this section Refer to Special Handling in this section Character Codes Part 2 of 2 System BIOS 5 1...

Page 190: ...OS 104 Delete 105 Sys Request 1 1 106 1 1 Notes Refer to Extended Functions in this section Refer to Special Hand ling in this section Special Character Codes Extended Functions For certain functions that cannot be represented by a standard ASCII code an extended code is used A character code of 000 null is returned in AL This indicates that the system or application program should examine a secon...

Page 191: ...17 Ctrl End Erase to End of line EOl 118 Ctrl PgDn Erase to End of Screen EOS 119 Ctrl Home Clear Screen and Home 120 131 Alt 1 2 3 4 5 6 7 8 9 0 keys 2 13 132 Ctrl PgUp Top 25 lines of Text and Cursor Home Keyboard Extended Functions Shift States Most shift states are handled within the keyboard routine and are not apparent to the system or application program In any case the current status of ac...

Page 192: ...91 through 93 96 through 99 and 101 through 103 The Alt key is then released If the number is greater than 255 a modulo 256 value is used This value is interpreted as a character code and is sent through the keyboard routine to the system or application program Alt is handled internal to the keyboard routine Caps Lock This key shifts keys 17 through 26 31 through 39 and 46 through 52 to uppercase ...

Page 193: ...is key combination changes the Num Lock bit in the keyboard memory but sends only the scan code for the Shift key to the system Shift Key Priorities and Combinations If combinations of the Alt Ctrl and Shift keys are pressed and only one is valid the priority is as follows the Alt key is first the Ctrl key is second and the Shift key is third The only valid combination is Alt and Ctrl which is use...

Page 194: ...tine This routine works in the alphanumeric or graphics mode with unrecognizable characters printing as blanks System Request When the System Request Sys key is pressed a hex 8500 is placed in AX and an interrupt hex 15 is executed When the Sys 1 key is released a hex 8501 is placed in AX and another interrupt hex 15 is executed If an application is to use System Request the following rules must b...

Page 195: ... Lock Caps Lock and Ins During each interrupt 09H from the keyboard an interrupt 15H function AH 4FH is generated by the BIOS after the scan code is read from the keyboard adapter The scan code is passed in the AL register with the carry flag set This is to allow an operating system to intercept each scan code prior to its being handled by the interrupt 09H routine and have a chance to change or a...

Page 196: ...AD 5 81 CMOS WRITE 5 81 E MSG P MSG 5 82 ERR BEEP 5 82 BEEP 5 83 WAITF 5 83 CONFIG BAD 5 83 r PRT SEG 5 84 KBD RESET 5 85 D11 Dummy Interrupt Handler 5 87 Hardware Interrupt 9 Handler Type 71 5 87 Test5 Exception Interrupt Tests 5 88 SYSINITI Build Protected Mode Descriptors 5 89 GDT BLD Build the GDT for POST 5 89 SIDT BLD Build the IDT for POST 5 91 Test6 5 93 STGTST CNT 5 93 ROM ERR 5 95 XMIT 8...

Page 197: ... 162 BIOSI 5 163 Event Wait 5 164 Joystick Support 5 165 Wait 5 166 Block Move 5 167 Extended Memory Size Determine 5 172 Processor to Virtual Mode 5 174 BIOS2 5 176 Time of Day 5 176 Alarm Intermpt Handler 5 179 Print Screen 5 180 Timer 1 Interrupt Handler 5 181 ORGS PC Compatibility and Tables 5 182 POST Error Messages 5 182 System BIOS 5 25 ...

Page 198: ... E303 FOOD 20E3 DISKETTE 0 I FOOO E2EA E304 FOOO 28C I SEEK FOOOIE30E E401 FOOO 2A t 7 DISK INT I FOOOIE31E E501 FOOO 2A2E DSKETTE SETUP FOOOIE32E E601 FOOO 2A82 DISK SETUP FOOOIE343 E602 FOOO 2C2B DISK tO FOOOl40A8 EQUIPMENT 1 FOOO 314F HD INT FOOO 1982 ERR BEEP FOOO 3172 KEYBOARD 10 I FOOD 1970 E MSG FOOD 31FE KB INT 1 FOOD E364 FT780 FOOO 3267 KI6 FOOO E379 FI781 FOOO 366C SNO DATA FOOOIE38E FI...

Page 199: ... FOOO 1089 SHUT7 FOOO E8El FOOO 438F SHUT9 FOOO E91B 0 2 FOOO FF23 SLAVE VECTOR TA8LE FOOO E955 FOOO 366C SND DATA FOOO E95F 13 FOOO 0050 START I FOOO E969 FOOO I E85 STGTST CNT FOOD E976 15 FOOO lD2A SYSINITI FOOO EFC7 DISK BASE FOOO 483F TIMER I NT I FOOO FOA4 VIDEO PARMS FOOa 4580 TIME OF DAY FOOO FOE4 5 FOOO FF66 TUTOR FOOO FOEC FOOO FEF3 VECTOR T A8LE FOOO FOF4 FOOO 3880 VIDEO To I FOOO FA6E ...

Page 200: ...13 REDIRECT 2871 57 PROG SHUTDOWN 80286 RESET ROUT I NE 58 TEST5 ASM EXCEPTToN I NTERRUPT TEST HANDLERS FOR POST TESTS 5 SYSINITI BUILD PROTECTED MODE POINTERS 60 GOT BLD BU I LD THE GOT F DR POST bl SlOT BLD BUILD THE lOT FOR POST 02 TESTb ASM POST T fSTS ANO SYSTEM BOOT STRAP b3 STGTST eNT SEGMENT STORAGE TEST b4 ROM ERR ROM ERROR DISPLAY ROUTINE b5 XMIT 80 42 KEYBOARD DIAGNOSTIC OUTPUT 00 BOOT ...

Page 201: ...NT SCREEN I NTERRUPT VECTOR ORG 4 008H NT_PTR DO HARDWARE I NTERRUPT PO INTER 8 F I ORG 4 0 I OH VIDEO_INT DO 1 V IDEO 110 I NTERRUPT VECTOR ORG 4 013H ORG_ VECTOR 00 1 DISKETTE DISK INTERRUPT VECTOR C C G 4 01BH C BAStC_PTR DO 1 POINTER TO CASSETTE BASIC C C ORG 4 010H C OPARM_PTR DO 1 I PO I NTER TO V I OED PARAMETERS C C ORG 4 01EH C ODISK_POINTER DO 1 POINTER TO DISKETTE PARAMETER TABLE C C OR...

Page 202: ...C C C OT I MER LOW ow C TIMER HIGH ow C OT IMER OFL DB I C C C SYSTEM DATA AREA C C C BIOS BREAK DB C ORE SET_FLAG OW C C C FIXED DISK DATA AREAS C C C PDISK STATUSI DB C OHF NOM DB C DCONTROL BYTE DB C DPORT_OFi DB ADDRESS 0040 0000 BASE ADDRESSES OF RSZ32 ADAPTERS SECOND LOG I CAL RS23Z ADAPTER RESERVED RESERVED BASE ADDRESSES OF PR I NTER ADAPTERS SECOND LOG I CAL PR I NTER ADAPTER TH I RD LOG ...

Page 203: ...B e e e REAL T I ME CLOCK OATA AREA I e 1 e e OUSER FLAG OW e tlU5ER FLAG 5EG OW I e PRTC COW OW C PRTC HIGH OW 1 e PRTC WA IT_FLAG 08 e e 1 e AREA FOR NETWORK ADAPTER e 1 e e ONET DB 7 DUP e e e e e I EGA PGA PALETTE POINTER e e e DO e e e e DATA AREA PRINT SCREEN e e e DRG 100H e e DB r e r e e DATA ENDS I LIST T JME OUT COUN1ERS FOR PR I NTER RESPONSE SECOND LOG I CAL PR I NTER ADAPTER TH I RD ...

Page 204: ... 21 e KEYB D LEO o g MANDS 42 OOED e LED WR TE COMMAND 42 00F2 e KB A EAD I D EQU OF2H READ KEYBOARD 10 COMMAND 30 00F4 e KB ENABLE EQU OF4H I KEYBOARD ENABLE 31 e 32 e 8042 E YBOAR A SPONSE 433 OOAA e RESPONSE FROM SELF DIAGNOSTIC 43 OOFA e KB ACK EQU OFAH ACKNOWLEDGE FROM TRANSM I SS I ON 435 OOFE e KB RESEND EQU OFEH RESEND REQUEST 436 OOFF e KB OVER_RUN EQU OFFH OVER RUN SCAN CODE 37 e 43 e FL...

Page 205: ...ERY CMOS LOST POWER 539 C 54 C CMOS I NFORMATI ON FLAGS 541 0080 C Mb40K EQU 10000000B 512K 640K OPTION INSTALLED 128K 542 C EQU 01 OOOOOOB FLAG USED BY CMOS SETUP UT I L I TY 543 C 544 C 545 C DISKETTE EQUATES 546 0001 C DUAL EQU 0000000 B MASK FOR COMBO OSP ADAPTER 547 0080 C INT FLAG EQU 10000000B I NTERRUPT OCCURRENCE FLAG 548 0080 C DSK CHG EQU 100000008 DISKETTE CHANGE FLAG MASK BIT 549 0010...

Page 206: ... STORAGE TEST FAIL EO IERROR 20X 6 618 0002 0004 C C PRO FAIL U4eS FAIL EQU EQU 00000010B OOOOOIOOB VIRTUAL MODE TEST FAILED IERROR 104 LOW MEG CHIP SELECT FAILED tERROR 1091 b19 b20 b20 b22 623 0008 0010 0020 0040 0080 C C C C C KYCLK FAIL KV SYS FAIL KVBD FAIL DSK FAIL KEV FAIL EQU EQU EQU EQU EQU 000010008 OOOIOOOOB 00100000B 010000008 10000000B KEYBOARD CLOCK TEST FAILED ERROR 3041 KEYBOARD OR...

Page 207: ... C 1 ACCESSED 690 0 0093 C CPLO OAT A ACCESS EOU 100100119 IDPL O 691 0 009B C CPLO CODE ACCESS EOU 100 110119 CPL 0 NON CONFORM I NG 692 00E2 C LOT i5ESC EOU 111000109 693 0 0081 C FREE TSS EOU 10000001B 69 0 0086 C INT GATE EOU 100001109 695 0 0081 TRAP_GATE EOU 100001118 696 691 0 000 I VIRTUAL_ENABLE EOU 0000000000000001B I PROTECTED MODE ENABLE 696 699 100 THE GLOBAL DESCRIPTOR TABLE DEFINITI...

Page 208: ...ME DSIOATA 81 815 0050 START I 8 81 0050 FA CLI 01 SABLE INTERRUPTS 0051 B8 0580 OV AX OD500H CMOS_REG_D NMI FLAG MASK IN AH AND NNI MASK IN AL 818 0054 E6 70 OUT CMOS_PORT AL 01 SABLE NMI INTERRUPTS 81 0056 SAHF SET SF IF AF PF CF FLAGS ON E 820 0057 73 27 JNC ERR02 GO TO ERROR ROUTINE IF CF NOT SET 821 0059 75 25 JNZ ERR02 GO TO ERROR ROUTINE IF ZF NOT SET 822 005B 7B 23 JNP ERR02 GO TO ERROR RO...

Page 209: ... SHUTDOWN BYTE N CMOS I S USED TO DETERM I NE WHERE CONTROL IS 9 91 RETURNED 9 91 CMOS 0 SOFT RESET OR UNEXPECTED SHUTDOWN 919 CMOS 1 SHUT DOWN AFTER MEMORY SIZE 920 CMOS 2 SHUT DOWN AFTER MEMORY TEST 921 CMOS 3 SHUT DOWN WITH MEMORY ERROR 922 CMOS 4 SHUT DOWN WITH 800T LOADER REQUEST 923 CMOS 5 JMP OWORO REQUEST INTERRUPT CHIPS 267 ARE INITIALIZED 92 CMOS 6 PROTECTED MODE TEST3 PASSED 925 CMOS 7 ...

Page 210: ...C NOV AL CMOS_REG_C NMI ADDRESS CMOS FLAGS BYTE WITH NMI OFF 102S 0163 90 NOP I O DELAY 1029 0164 E6 10 OUT CMOS_PORT AL 1030 0166 90 NOP I O DELAY 1031 0161 E4 11 IN AL CMOS_DATA READ STATUS TO CLEAR PENDING INTERRUPT 1032 1033 RESET VIDEO 1034 1035 0169 BO 00 NOV AL O CLEAR DATA BYTE TO DISABLE VIOEO 1036 016B BA 0308 NOV OX 03DSH GET COLOR MODE CONTROL PORT AODRESS 1031 Ol6E EE OUT DX AL DISABL...

Page 211: ...RCL LOOP AH CIIB I TEST 04 I 8254 CHECK TIMER I ALL BITS ON DESCRIPTION SET T I MER COUNT I I CHECK THAT TIMER 1 ALL 81TS ON 1 ASSUME DS DATA MOil AX DATA MOil DS AX MOil AL 04H OUT MFG_PORT AL oI SABLE DMA CONTROLLER OUT DMA08 AL OUT DMAI8 AL IIERIFY THAT TIMER FUNCTIONS OK MOil ox GIIRESET FLAG MOV AL 54H OUT T MER 3 AL JMP 1 2 MOil AL CL OUT T MER AL MOil BH 05H C12 MOV AL 40H JMP 1 2 OUT TlMER...

Page 212: ...254 1255 0258 BO 01 C20 MOV AL 07H 1256 0250 E6 60 OUT hlFG PORT AL CHECKPOINT 07 1251 025F E6 DA OUT DMAT ODH 2 AL SEND MASTER CLEAR TO 2ND DMA 1258 1259 WRAP DMA I CHANNEL ADDRESS AND COUNT REG I STERS 1200 1201 0201 eo FF MOV AL OFFH WRITE PATTERN FF TO ALL REGISTERS 1202 0263 6A D8 CI6A MOV 8L AL SAVE PATTERN FOR COMPARE 1263 0265 8A F6 MOV BH AL 1264 0261 89 0008 MOV CX 8 SETUP LOOP COUNT 126...

Page 213: ...DEC AH 1364 02F4 41 DEC OX 1365 02F5 81 FA 0080 CMP ox MFG_PORT CaNT I NUE TILL PORT 80 1366 02F9 75 Fa NZ C22B 1361 02FB FE C4 INC AH NEXT PATTERN TO RIPPLE I 1368 02FD 81 C4 MOV AL AH 1369 02FF E2 DB LOOP C22A 1370 137 I TEST LAST DMA PAGE REGISTER USED FOR ADDRESS LINES DURING REFRESH 1372 1313 0301 BO CC MOV AL OCCH WRITE AN CC TO PAGE REGISTERS 1374 0303 BA 008F C22 NOV DX LAST_DMA_PAGE 1375 ...

Page 214: ... FOR RESPONSE 1419 031E E4 60 E30C IN AL PORT A GET THE SW J TCH 1480 0380 E6 82 OUT OMA_PAGE AL SAVE TEMPORARY 1481 1482 WR I TE BYTE 0 OF 8042 MEMORY 1483 1484 0382 BO 60 MOV AL R ITE 8042 LDC WR I TE BYTE COMMAND 1485 0384 BC 03F2 R NOV SP OFFSET C8042B SET RETURN ADDRESS 1486 0381 EB 00 J P SHORT C8042 J SSUE THE COMMAND 1481 0389 14 05 TST4_D JZ TST4_o1 CONT 1NUE I F COMMAND ACCEPTED 1488 148...

Page 215: ... 00 POP 15910410 74 OC JZ Z5 GO IF YES 1598 0412 81 Cl 0080 AOO CX 060H POINT TO NEXT 2K BLOCK 1599 0416 81 F9 C800 CMP CX OC800H TOP OF V IDEO ROM AREA YET 1600 041 A 7C E1 JL MI TRY AGAIN 1601 041C 23 C9 ANO CX CX SET NON ZERO FLAG 1602 041E Z5 1603 041E 15 03 JNZ C32 GO IF NOT 1604 0420 E9 050F R JMP C31 0 BYPASS ERROR 01 SPLAY IF VIDEO ROM 1605 1606 1601 160e TH 1S ROUT NE I N iT 1ALI ZES THE ...

Page 216: ...2 I 171 I 04A4 28 FF SUB oT ol PO I NT TO START OF BUFFER 1712 1713 04A6 87 80 MOV 8H 080H 1714 04A8 8E C3 MOV ES 8X ES MONOCHROME 1715 04AA 87 86 MOV 8H 088H SET SEGMENT TO COLOR 1716 04AC 8E DB MOV OS 8X OS COLOR 17 I 7 04AE E8 E2 JMP Z_O 1718 1719 1 PRINT FAILING BIT PATTERN 1720 1721 0480 80 20 MOV AL I DISPLAY A BLANK 1722 0482 88 05 MOV DI AL WR I TE TO COLOR 8UFFER 1723 0484 26 66 05 NOV ES...

Page 217: ...5 MOV AX 01 1 READ THE F RST WORD 1819 0549 E2 Fl LOOP e31 G 1820 0548 e31 _H 1821 054B 89 05 MOV OI AX 1822 0540 8B 05 MOV AX OJ 1823 054F E2 FA LOOP e31 H 18240551 e31 1825 0551 89 05 MOV 01 AX 1826 0553 88 05 MOV AX 01 J 1827 0555 E2 FA LOOP e31 I 1828 1829 ROLL ERROR CODE IN MFG_PORT THEN THE LOW BYTE 1830 1831 0557 E4 82 IN AL MFG PORT 2 LOW BYTE 1832 0559 E6 80 OUT MFG_PORT AL 1833 0558 88 A...

Page 218: ...FH I PE MP EM TS BITS SHOULD BE ZERO 1933 05DC 75 34 JNZ ERR_PROT 1 GO IF STATUS NOT REAL MODE 1934 1935 TEST PROTECTED MODE REGISTERS 1936 1937 05DE BO 12 MOV AL 12H 1938 05EO E6 eo OUT MFG_PORT AL CHECKPO I NT 2 1939 1940 05E2 IE PUSH OS SET ES TO SAME SEGMENT AS OS 1941 05E3 07 POP ES 1942 05E4 BF DOAO MOV DI SYS IDT_LOC USE THIS AREA TO BUILD TEST PATTERN 1943 05E7 B9 0003 MOV CX 3 1944 05EA B...

Page 219: ...MP I O DELAY 2053 0668 BO FF MOV ALIOFFH MASK ALL NTERRUPTS OFF 2054 0660 E6 21 OUT INTAOI AL V DEO ROUT NE ENABLES INTERRUPTS 2055 2056 1 2057 I INITIALIZE THE 8259 INTERRUPT 2 CONTROLLER CHIP 2056 2059 2060 066F SO 13 MOV AL I3H 2061 0671 E6 80 OUT MFG_PORT AL CHECKPO I NT 13 2062 2063 0613 BO 11 MOV AL IIH leWI EDGE SLAVE TCW4 2064 0615 E6 AO OUT I NTBOO AL 2065 0617 EB 00 MP I O DELAY 2 2 2066...

Page 220: ...T START OF CMOS CHECKSUMEo AREA 2161 0106 B5 AE MDV CH CMOS CKSUM_HI NMI SET END OF CMOS CHECKSUMED AREA 1 2168 lFlRST 8YTE OF CHECKSUM 2169 010fl flA Cl CMOS2 MOl AL CL 2110 010A Ee 0000 E CALL CMOS READ ADDRESS THE 8EGINNING 2111 0100 2A E4 SUB AH AH INSURE AH O 2112 010F 03 De ADD 8X AX ADD TO CURRENT VALUE 2113 0111 FE C1 INC CL PO I NT TO NEXT 8YTE ADDRESS I N CMOS 2114 0113 3A E9 CMP CH CL F...

Page 221: ... 019C C6 06 0040 93 MOV BYTE PTR OS IES_TEMP DATA_ CC_RIGHTS CPLO_D T _ACCESS 2219 2280 ST RT WITH SEGMENT DDRESS 0 0000 SECOND 64K 2281 2282 OlAI Cf Of 004C 01 MOV BYTE PTR OS ES TEMP B SE HI BYTE 01H 2283 01 6 Cl 06 004 0000 MOV DS ES_TEMP B SE LO_WORD oR 2284 2285 OlAC 80 IB MOV L IBH 2286 01 E E6 80 OUT MFG_PORT L CHECKPOINT IB 2281 2288 0180 BB 0040 MOV BX 16 4 SET THE FIRST 64K DONE 2289 229...

Page 222: ...LANAR OR I O PAR I TY CHECK 2388 2389 084C C3 RET 2390 2391 0840 HOW BIG ENO 2392 0840 9C PUSHF 2393 084E BO I C MOV AL ICH SAVE T 2394 0850 E6 80 OUT MFG_PORT AL CHECKPOINT IC 2395 2396 SET OR RESET 512 TO 640 INSTALLED FLAG 2391 2398 0852 B8 B383 NOV AX X CMOS_I NFOI28 NNI SET IRESET 640K STATUS FLAG 2399 0855 E8 000 0 E CALL CMOS READ GET THE DIAGNOSTIC STATUS 2400 0858 OC 60 OR AL M640K 2401 0...

Page 223: ...ARITY CHECK 2505 08E8 24 CO ANO AL PARITY ERR 2506 08EA 26 89 05 OY ESI Dt I AX CLEAR POSSI8LE PARITY ERROR 2507 08EO 58 POP AX GET RESULTS 2508 08EE 75 27 JNZ HOW BIG ENOl GO I F PLANAR OR 1 0 PAR I TY CHECK 2509 08FO 30 FFFF eMP AX OFFFFH 2510 08F3 75 22 JNZ HOW_BIG_ENDI 2511 2512 CLEAR 64K 8LoeK OF MEMORY 2513 2514 08F5 HOW 81G 2A SU8 2515 08F5 28 CO AX AX WR I TE ZEROS 2516 08F7 89 8000 MOY eX...

Page 224: ...2625 09AF 14 03 JZ M OK GO I F YES 2626 0981 E9 OA3 R JMP BAD_MOS GO IF NOT 2627 0984 2626 09B4 24 OF AND AL ODFH CLEAR THE MINIMUM CONFIG 8IT 2629 09B6 86 C4 XCHG AL AH SAVE THE STATUS BYTE 2030 0988 E6 0000 E CALL CMOS_WRITE BACK I NTO CMOS 2631 2632 CHECK FOR CMOS RUN I N MODE 2633 2634 0988 81 3E 0072 R 1234 eMP _RESET FLAG I 1234H CHECK FOR SOFT RESET 2635 09CI 14 10 JE M_OK_64 BYPASS I F SOF...

Page 225: ...TS eMP AL 30H MUST NOT BE MONO W TH JUMPER INSTALLED OV AL AH RESTORE CONF I GURA T I ON ez BAD t 40S GO IF YES CONF I GURAT I ON MUST HAVE AT LEAST ONE 0 I SKETTE MOS_OK TEST AL OIH MUST HAVE AT LEAST ONE DI SKETTE eNZ NORMAL CONF I G GO SET CONF I GURAT I ON I F OK TEST PMFG TST MFG LOOP EXCEPT F MFG JUMPER I S I NST ALLEO ez NORMAL_CONF IG GO IF INSTALLED MINIt 4UM CONFIGURATION WITH BAD CMOS O...

Page 226: ...H 088H START NG MEMORY ADDRESS FOR COLOR CARD 2843 OAF5 BA 0308 MOV DX 3D8H MODE REG I STER FOR COLOR CARD 2844 OAF8 B5 20 MaV CH 20H MEMORY WORD COUNT FOR COLOR CARD 2845 OAFA E9 2846 OAFA AO 0065 R MaV AL OCRT MODE SET GET CURRENT MODE SET VALUE 2847 OAFD 24 37 AND AL 031H SET VIDEO BIT OFF 2848 OAFF EE OUT DX AL DI SABLE V IDEO FOR COLOR CARD 2849 OBOO 8E C3 MOV ES BX PO NT ES TO V IDEO MEMORY ...

Page 227: ...30 AND STRIP OTHER BITS 2966 OB9D 3C 30 COP AL 30H I SIT MONOCHROME 2961 089F 74 30 TRY_COLOR GO IF YES 2968 Z 2969 COLOR FAILED TRY MONOCHROME CHECKPOINT 00 COLOR FAILED 2970 2971 08AI C6 06 0015 R 00 OV ClMFG_ERR_FLAG OOH CRT ERROR CHECKPOINT 00 2972 2973 OBA6 BA 0388 OV OX 388H I DISABLE BfW 2974 OBA9 80 0 I OV AL I 2975 OBAB EE OUT OX AL OUTPUT THE 0 I SABLE 2976 08AC 88 BOOO MOV BX OBOOOH CHE...

Page 228: ... EI6 3028 3029 BOTH VIDEO CARDS FAILED SET DUMMY RETURN IF RETRACE FAILURE 3030 3031 OCIT 3032 DCIT IE PUSH OS 3033 OCIl 2B CO SUB AX AX SET OS SEGh4ENT TO 0 3034 OC IA BE DB h4DV DS AX 3035 OC I C 8F 0040 R MOV 01 OFFSET VIDEO INT I SET INTERRUPT 10H TO DUMMY 303 OCIF CT 05 0000 E MOV WORD PTR Dll OFFSET DUMMY RETURN I RETURN IF NO VIDEO CARD 303T OC23 IF POP OS 3038 OC24 E9 084F R MP E18_t I BYP...

Page 229: ...3078 OC4A A5 MOVSW MOVE ONE ROUTINE OFFSET ADDRESS 3079 OC4B AB STOSW INSERT CODE SEGMENT VALUE 3080 OC4C E2 FC LOOP MFG_B2 3081 3082 SET UP OTHER INTERRUPTS AS NECESSARY 3083 3084 ASSUME OS ASSO ES ABSO 3085 OC4E Ob PUSH ES ES ABSO 308b OC4F IF POP as SET OS TO ABSO 3081 OC50 Cl 06 0008 R 0000 E MOV WORD PTR INN I PTR OFFSET NM I I NT NM I INTERRUPT 3068 OC5b Cl Ob 0014 RODDa E MaV WORD PTR PINT5...

Page 230: ...ROR 62 EXTRN EI61 NEAR 161 ERROR CODE BAD BATTERY EXTRN EI62 NEAR 1 2 ERROR CODE CMOS CHECKSUM CONFIG EXTRN EI63 NEAR 63 ERROR CODE SAD REAL TI ME CLOCK 65 EXTRN EI64 NEAR 1 4 ERROR CODE MEMORy SIZE WRONG 66 EXTRN E201 NEAR 201 ERROR CODE MEMORY DATA ERROR 61 EXTRN E202 NEAR 202 ERROR CODE MEMORY ADDRESS ERROR 68 EXTRN E203 NEAR 203 ERROR CODE SEGMENT ADDRESS ERROR 6 EXTRN E30 I NEAR 30 ERROR CODE...

Page 231: ...J 169 0071 E6 10 OUT CMOS PORT A ADDRESS DEFAULT READ ONLY REGI STER 170 0073 89 0007 OY CX l DELAY COUNT FOR j 00 MICROSECONDS 171 0016 E8 0000 E CALL WAITF WAIT FOR HOT NM TO PROCESS 172 0019 80 80 OY AL CMOS REG O NM I TURN NMI ENABLE 8ACK OFF 173 0078 E6 10 OUT CMOS PORT A 114 00 70 80 3E 0068 R 00 e p f1INTR FLAG OOH DID ANY I NTERRUPTS OCCUR 7 175 0082 74 09 JZ Dl_C CONT I NUE I F NOT 17b 17...

Page 232: ...INTERRUPTS 27801lFE621 OUT INTAOI AL 279 0121 BO 36 OV AL 36H SELECT TIMER O LSB MSB MODE 3 280 0123 E6 43 OUT TIMER 3 AL WRITE TIMER MODE REGISTER 281 0125 EB 00 J P 110 DELAY 2 282 0127 BO 00 OV AL O 283 0129 E6 40 OUT T IMER O AL WRITE LSB TO TIMER 0 REGISTER 284 012B EB 00 JMP 2 I O DELAY 285 0120 E6 40 OUT TlMER O AL WRITE MSB TO TIMER 0 REGISTER 266 2 CHECK 6042 FOR LAST COMMAND ACCEPTED 288...

Page 233: ...ET ADDRESS 399 oleo E8 0000 E CALL CMOS WR I TE WRITE UPDATED STATUS 400 DIDO 58 POP AX RESTORE AX 401 0101 3B DO eMP DX AX I S MEMORY SIZE GREATER THAN CONF I G 7 402 0103 77 37 JA E20C DEFAULT TO MEMORY SIZE DETERMINED 7 403 0105 E2081 404 0105 8B 08 OV BX AX SET BASE MEMORY SIZE I N TOT AL REG I STER 405 0107 88 DO OV DX AX SAVE IN BASE SIZE REGISTER 406 401 CHECK MEMORY SIZE A80VE 640K FROM CO...

Page 234: ... 506 0283 72 04 JB E21_0 GO IF STILL FIRST 256K OF BASE MEMORY 01 508 0285 80 CO MOV AL PARITY CHECK IO CHECK CHECK FOR ANY TYPE OF PARITY ERROR 509 0287 E6 87 OUT OMA_PAGE 6 AL AFTER FIRST 25bK 510 CHECK END OF FIRST 640K OR ABOVE END OF MAXIMUM BASE MEMORY 0289 513 0269 80 3E 0064 OA CMP BYTE PTR OS DS TEMP BASE HI BYTEf OAH 514 OZ8E 71 16 JA NEXT CONT I NUE I F ABOVE 1 MEG 515 516 CHECK FOR END...

Page 235: ... AL HIGH 8YTE OF LOW WORD OF SEGMENT LOW 8YTE OF LOW WORD OF SEGMENT SET HIGH BYTE OF SEGMENT WORD HIGH BYTE OF SEGMENT POINT TO NEXT BLOCK OF 64K 01 MOV OUT ADD AL l3H MFG PORT AL CHECKPOINT 33 BYTE PTR ES lDS_TEMP 8ASE_HI_BYTEI 01 CHECK FOR END OF BASE NENORY TO 8E TESTED OA CMP JA 8YTE PTR ESIIDS TEMP BASE HI BYTEI OAH NEXT_A CONTINUE IF ABOVE I MEG POP POP POP PUSH PUSH PUSH CMP JB CX GET COUN...

Page 236: ...COUNTER 717 0387 C I E3 06 SHL BX 6 CONVERT TO MEMORY SIZE COUNTS 116 038A 2B C3 SUB AX 8X COMPARE LAST GOOD MEMORY WI TH BASE 719 038C 13 11 JAE E211 IF A80VE OR EQUAL USE REMA I NDER IN 720 CMOS_U_M_S_ HILI 721 ELSE SET BASE MEMORY SIZE 122 123 038E 6A 18 PUSH BYTE PTR RSDA PTR SET THE DATA SEGMENT 12 0390 IF POP OS I N PROTECTED MODE 125 72b 0391 03 C3 ADD AX 8X CONVERT 8ACK TO LAST WORK ING ME...

Page 237: ...C6 06 0016 R 01 OV tlMF G ERR FLAG l MEM FAIL CLEAR AND SET MANUFACTURING ERROR FLAG 813 03C4 80 00 OV AL CR CARR I AGE RETURN 814 03C6 E8 0000 E CALL PRT HEX 815 03C9 80 OA OOV AL LF LINE FEED 816 03ee E8 0000 E CALL PRT HEX 811 C3eE E4 84 AL DNA PAGE 3 GET THE HIGH BYTE OF 24 BI T ADDRESS N 818 OlOO E8 0000 E CALL XPC BYTE CONVERT AND PR I NT CODE 819 0303 E4 85 GET THE MIDDLE BYTE OF 24 BIT ADD...

Page 238: ... TEST 917 0420 E9 0000 E JMP POST3 GO TEST THE 286 PROTECTED MODE 8 FAILURE ENTRY FROM A SHUTDOWN 20 921 0423 E8 0000 E SHUTll CALL DDS ESTABLISH THE DATA SEGMENT 922 0426 E4 80 IN CHECK FOR CH I P SELECT ERROR 923 0428 3C 35 CM t _PORT 924 042A BE 0000 E MDV SI OFFSET El09 PR J NT ERRDR 109 925 0420 14 00 JZ SHUT78 GO IF NOT 926 042F BE 0000 E SHUT7A MOV SI OFFSET El04 PROTECTED MODE FA I LEO 927...

Page 239: ...BOARD CLOCK MUST BE LOW JZ Gil DR KEYBOARD CLOCK HIGH OV S I OFFSET E304 DISPLAY 304 ERROR J P SHORT F60 REPORT ERROR CALL KBO RESET I SSUE RESET TO KEYBOARD JCXZ Fb PR NT ERROR MESSAGE I F NO 1NTERRUPT OV AL 37H OUT MFG PORT AL CHECKPOINT 37 C P BL KB OK SCAN CODE AS EXPECTED JNE Fb NO 01 SPLAY ERROR MESSAGE CHECK FOR STUCK KEYS OV AL 38H OUT MFG_PORT AL CHECKPOINT 36 OV AL ENA KBO ASSURE KEYBOAR...

Page 240: ...PLETE SYSTEM INITIALIZATION THEN PASS CONTROL TO THE BOOT LOADER PROGRAM 150 151 152 05A6 80 3C F9A MOV AL 3CH 153 05A8 E6 80 OUT MFG_PORT AL CHECKPOINT 3C 15 155 05AA BO 02 NOV AL 02H SET DATA RATE TO 250 K BITS PER SECOND 156 05AC BA 03Fl OV OX 3F7H 151 05AF EE OUT DX AL 158 0580 F6 06 00 lOR 01 TEST BYTE PTR ClEQUIP FLAG IH DISKETTE PRESENT 159 05B5 14 55 FIS 160 0591 F6 06 0012 R 20 TEST ClMFG...

Page 241: ...TS IN AL INTAOI AND AL OFEH ENABLE TIMER INTERRUPTS JMP 1 2 1 0 DELAY OUT INTA01 AL CHECK CMOS BATTERY AND CHECKSUM TEST OMFG TST MFG LOOP MFG JUMPER JNZ Bl OK GO IF NOT JMP F15C BYPASS IF YES MOV AL CMOS DIAGl NMI ADDRESS 0 I AGNOST C STATUS 8YTE CALL CMOS_READ READ I T FROM CMOS OV SI OFFSET EI61 LOAD BAD 8ATTERY MESSAGE 16 I TEST AL BAD BAT BATTERY BAD JNZ Bl_ER DISPLAY ERROR IF BAD OV SI OFFSE...

Page 242: ...DISKETTE DRIVE 1374 1315 011C E8 0000 E CALL 005 INSURE DATA SEGt ENT 1316 011F 8A 26 0091 R MOV AH oSK STATE I GET STATE OF SECOND DR I VE 1311 0123 OA E4 OR AH AH I S THERE A DR I VE 2 ATTACHED 1378 0725 14 01 JZ FI5C SKIP IF NOT 1379012180 OE 0010 OR 8YTE PTR EQUIP FLAG 40H ELSE SET SECOND DRIVE INSTALLED 1380 012C 84 FF MOV AH OFFH SET TEST t ASK FOR DRIVE PRESENT 1381 012E FISC 1382 072E 80 8...

Page 243: ... RS232 TABLE o 1492 01C8 9A 03FA t 40V DX 3FAH CHECK IF RS232 CARD I ATTACHED 1493 01CE EC IN AL DX READ INTERRUPT 10 REGI STER 1494 01CF A8 F8 TEST AL OF8H 1495 0101 15 08 jNZ FI6 1496 0103 Cl 81 0000 R OlF8 S232_BASE BXJ 3F8H SETUP RS232 CARD 1 ADDRESS 1491 0109 43 1498 01DA 43 INC BX 1499 0lOB BA 02FA FI81 MOV DX 2FAH CHECK IF RS232 CARD 2 ATTACHED 1500 07DE EC IN AL DX READ INTERRUPT IO REG I ...

Page 244: ...P PAUSE I F NO ERROR 1597 1598 0880 80 3E 0072 R 64 CMP BYTE PTR lIRESET FLAG 64H MFG RUN IN MODE 1599 0885 BA 0002 MOV DX 2 2 SHORT BEEP COUNT FOR ERROR S 1600 0888 15 OE JNZ ERR_WAIT GO IF NOT 160 I 1602 MFG RUN I N MODE SET ERROR FLAG 1603 1604 088A C6 06 0015 R AA MDV lIMFG ERR FLAG OAAH I NO I CATE ERROR 1605 D88F E4 64 IN AL STATUS PORT CHECK KEY LOCK STATUS 1606 0891 24 10 AND AL KYBD INH 1...

Page 245: ...RE NMI OFF AND CMOS AT DEFAULT 1119 092F E6 10 OUT CMOS_PORT AL 1720 1121 ENDIF 1122 1123 0931 Co 00 0012 R 00 MOV BYTE PTR etRESET_FLAG 0 CLEAR FLAG 1124 093b B8 EOOO MOV AX OEOOOH SEGMENT OF SYSTEM CODE 1125 0939 8E CO MOV ES AX 112b 093B 2B FF SUB 01 01 1127 0930 26 8B 05 MOV AX ES 01 CHECK FOR AA55 1128 0940 53 PUSH BX BUS SETTLE 11290941 5B POP BX 1130 0942 3D AA55 CMP AX OAA55H 1131 09459C P...

Page 246: ...BUFFER pas I T I ON 1809 09A8 33 02 XOR DX OX 1810 09AA F1 F3 OIV ax DIVIDE BY 10 1811 09AC 80 CA 30 OR DL 30H AKE INTO ASCII 1812 09AF 52 PUSH DX SAVE 1813 09BO E2 F LOOP PRT_D1V 1814 1815 DISPLAY LAST OK MEMORY 1816 1817 09B2 89 0005 1818 0985 NOV PRT DEC CX 5 1819 09B5 58 POP AX j RECOVER A NUMBER 1820 09B6 E8 0000 E CALL PROT PRT HEX 1821 09B9 41 INC 01 POINT TO DISPLAY REGEN BUFFER 1822 09BA ...

Page 247: ...S CHECK THAT NO EXC INT IF WITHIN LIMIT AND THAT AN EXC NT 5 OCCURS IF OUTSIDE THE LIMITS PUSH ALL POP ALL TEST SET GENERAL PURPOSE REG I STERS TO 0 I FFERENT VALUES ISSUE A PUSH ALL CLEAR THE REGISTERS ISSUE A POP ALL AND VERIFY CORRECT 8 CHECK THE VERR I VERW I NSTRUCTI ONS THE ACCESS BYTE I S SET TO READ ONLY THEN TO A WR I TE ONLY AND THE VERR I VERW INSTRUCT ONS ARE VERIFIED 9 CAUSE AN INTERR...

Page 248: ...BEL BYTE 3 0091 88 07 MOV OX DI 0093 11000 1 LABEL BYTE 0091 ORG OFFSET CS 110000 I 0091 00 OB OOOH 5 0093 ORG OFFSET CS 110001 7 I READ AND VER IFY 286 LOT SELECTOR 170 171 0093 2B CO SUB AX AX CLEAR AX 172 SLOT AX GET THE LOT SELECTOR 173 0095 OF OB OOFH 0096 0002 LA8EL BYTE 175 0096 03 co AOO AX AX 4 17 0098 110003 LABEL BYTE 177 0096 ORG OFFSET CS 110002 17 0096 00 OB OOOH 17 0098 ORG OFFSET C...

Page 249: ...l Dl I PO I NT BEG I NN I NG OF THE BLOCK 281 OIIC 26 C1 05 0000 MOV SET FIRST WORD TO 0 282 0121 26 C1 45 02 OFFF MOV g lg 2 OFFFH SET SECOND TO OFFFH 283 0127 B8 1000 MOV AX 1000H I SET AX OUT OF BOUNDS 284 012A 26 6205 BOUND AX DWORD PTR ES 01 285 0120 28 C9 SUB CX CX WAIT FOR POSSIBLE INTERRUPT 2E16 012F LOOPC 287 012F E4 8B IN AL DMA PAGE OAH GET THE RESULTS 288 0131 3C 00 e p AL OH 0 0 AN I ...

Page 250: ... 14 CD JZ ERROR_EX I T I ERROR I F SEGMENT I S WR I TEA8LE 396 OIBB B8 0048 MOV AX ES TEMP INSURE THAT SEGMENT I S READABLE 391 SEGOV OS 398 01BE 3E DB 03EH 3 VERR AX 400 OIBF OF DB OOFH 401 OICO OOOF LABEL BYTE 402 OICO 88 EO MOV SP AX 403 0lC2 0010 LABEL BYTE 404 OICO ORG OFFSET CS OOOF 405 OICO 00 DB OOOH 406 0lC2 ORG OFFSET CS OOIO 401 0lC2 15 C4 JNZ ERROR_EXIT GO IF SEGMENT NOT READABLE 40 40...

Page 251: ...OS I ES_TEMP SEG_L I MIT OAAAAH SET SEGMENT LIMIT TO OAAAAH 514 515 0220 C6 06 0040 93 MOV BYTE PTR DSI1ES TEMP DATA ACC RIGHTSI CPLO DATA ACCESS 516 0232 B8 0048 MOV AX ES TEMP LOAD ES REGISTER 511 LSL 8X AX I GET THE DESCRIPTOR SEGMENT LIMIT 518 0235 OF DB OOFH 519 0236 0011 LABEL 8YTE 520 0236 8B 08 MOV BX AX 521 0238 770018 LABEL BYTE 522 0236 ORO OFFSET CS 11 OO I 7 523 0236 03 DB 003H 524 02...

Page 252: ...R 593 594 02A2 6A 28 PUSH BYTE PTR C CCRT PTR SET OS TO COMPATIBLE COLOR MEMORY 595 02A4 IF PDP OS 596 02A5 88 10 DV 8X DS DI GET THE WORD FROM COLOR MEMORY 597 598 EGA COLOR 59 600 02A7 6A 30 PUSH BYTE PTR E CCRT PTR EGA COLOR CRT POINTER LOW 64K 601 02A9 IF PDP OS 602 02AA 88 00 DV CX OS 01 603 60 TEST FOR ERROR 60S 606 02AC 50 PUSH AX SAVE RESULTS 607 02AO BO 35 MDV AL 35H 608 O AF E6 80 OUT MF...

Page 253: ...L INTERRUPTS ARE DISABLED TO PROTECT CMOS DATA INTEGR ITY THE CMOS ADDRESS REGISTER IS POINTED TO A DEFAULT VALUE AND THE INTERRUPT FLAG RESTORED TO THE ENTRY STATE ON RETURN ONLY THE ALI REGISTER AND THE NMI STATE IS CHANGEO PROC NEAR AL I AL I CMOS_PORT AL AL CMOS_DATA AX AL CMOS_REG_D s2 AL I CMOS_PORT AL AX CS CMOS_POPF ENDP PROC NEAR ENDP READ LOCATION ALI INTO ALI SAVE INTERRUPT ENABLE STATU...

Page 254: ... TO NEXT CHARACTER 164 0061 50 PUSH AX SAVE PRlNT CHARACTER 165 0068 E8 0128 R CALL PRT HEX CALL VIDEO 10 166 0068 58 POP AX RECOVER PRINT CHARACTER 167 006C 3C OA CMP AL LF WAS IT LINE FEED 168 006E 15 F3 NE P_MSG NO KEEP PRINTING STRING 169 0070 C3 RET 170 17 I 0071 P_MSG ENDP 172 173 ERR BEEP 174 THIS PROCEDURE WILL ISSUE LONG TONES 1 3 4 SECONDS AND ONE OR 175 MORE SHORT TONES 9 32 SECOND TO I...

Page 255: ...ER ON OUT PORT_B AL AND RESTORE INTERRUPT STATUS POPF G1 64 SECOND PER COUNT IBL MOV CX I035 DELA Y COUNT F OR 1164 OF A SECOND CALL WAITF GO TO BEEP DELAY I 164 COUNT DEC BL BL LENGTH COUNT EXP I RED NZ G7 NO CONT I NUE BEEP I NG SPEAKER PUSHF SAVE I NTERRUPT STATUS eLi BLOCK INTERRUPTS DURING UPDATE IN AL PORT B GET CURRENT PORT VALUE DR AL NOT TGATE2 SPK2 I I SOLATE CURRENT SPEAKER BITS I N CAS...

Page 256: ...3 C3 RET 364 365 0144 PRT_SEG ENDP 3 3 7 PROT_PRT_HEX 368 3 9 PUT A CHARACTER TO THE DISPLAY 8UFFERS WHEN IN PROTECTED MODE 370 371 AL ASCII CHARACTER 372 101 DISPLAY REGEN BUFFER POSITION 373 374 315 0144 PROT PRT HEX PROC NEAR 316 014406 PUSH E5 SAVE CURRENT SEGMENT REGISTERS 311 014551 PUSH 01 378 014601 E1 SAL Dr t MULTIPLY OFFSET BY TWO 379 380 MONOCHROME V IDEO CARD 381 382 01411 6A 20 PUSH ...

Page 257: ...01AD C3 RET RETURN TO CALLER 4 412 413 OIAE ROM_CHEC ENDP 414 415 80 RESET 41 THIS PROCEDURE WILL SEND A SOFTWARE RESET TO THE KEYBOARD 4n SCAN CODE OAAH SHOULD BE RETURNED TO THE PROCESSOR 416 SCAN CODE 065H IS DEFINED FOR MANUFACTURING TEST 479 480 481 01 AE KBD_RESET PROC NEAR 482 01AE BO FF MOV AL OFFH SET KEY80ARD RESET COMMAND 483 OIBO E8 0000 E CALL XMIT_8042 GO I SSUE THE COMMAND 484 0lB3 ...

Page 258: ...NDS WITHIN LIMITS GO IF NOT 560 0221 E5 021F R CALL CYT BINARY CONVERT IT TO BINARY 581 0224 68 C8 MOV cX AX MOVE COUNT TO ACCUMULAT 1ON REGI STER 582 5 58 0226 C 1 0229 B3 0228 F6 E9 02 12 E3 SHR MOV MUL CX 2 BL COUNTS SEC BL ADJUST FOR SYSTEMATIC SECONDS ERROR I COUNT FOR SECONDS 585 0220 03 C8 ADD CX AX 586 022F 80 82 MOV AL CMOS MINUTES NMI 567 0231 E8 0000 R CALL CMOS READ ACCESS MINUTES VALU...

Page 259: ...R AL AH MASK OFF LEVEL 8E I NG SERV I CEO 684 02C4 E6 2 OUT INTAOI AL SET NEW I NTERRUPT MASK 685 02C6 E8 00 MP I I O DELAY 2 2 686 02C8 681 02C8 80 20 MOV AL EOI 688 02CA E6 20 OUT I NTAOO AL 689 02CC SET I NTR FLAG 690 02CC 5B Fiop 8X RESTORE IBX FROM STACK 691 02CO IE PUSH OS SAVE ACTIVE OS 692 02CE ES 0034 R CALL DDS SET DATA SECMENT 693 0201 se 26 006B R MOV INTR FLAG AH SET FLAG 694 0205 F P...

Page 260: ...9B AL 9BH SET CHECKPOINT 62 0046 EB 61 SHORT TEST_EXC GO TEST I F EXCEPT I ON WAS EXPECTED 63 0046 64 0048 BO 9C MoV AL 9CH SET CHECKPOINT 65 004A EB 66 J P SHORT TEST_EXC GO TEST IF EXCEPTION WAS EXPECTED 66 004C 61 004C eo 90 MOV AL 9DH SET CHECKPOINT 68 004E EB 62 JMF SHORT TEST_EXC GO TEST IF EXCEPTION WAS EXPECTED 69 0050 70 0050 BO 9E NOV AL 9EH SET CHECKPO I NT 1 I 0052 E8 5E JMF SHORT TEST...

Page 261: ...EXC GO TEST I F I NTERRUPT WAS EXPECTEO SYS 36 P AL OB4H SET CHECKPO I NT 0 SHORT TEST_ EXC GO TEST IF INTERRUPT WAS EXPECTEO SYS 37 P AL OB5H SET CHECKPOINT J P SHORT TEST_EXC GO TEST F NTERRUPT WAS EXPECTEO SYS 38 0 AL OB6H SET CHECKPOINT GO TEST I F I NTERRUPT WAS EXPECTED 0 TEST EXC OUT MFG PORT AL OUTPUT THE CHECKPO I NT e p AL OAFH CHECK FOR EXCEPT ON JA TEST_EXCO GO IF A SYSTEM INTERRUPT PU...

Page 262: ...V DS AX 281 0150 BF oOAO MOV DI SYS lOT LOC 282 0153 2B CO SUB AX AX 283 0155 8E CO MOV ES AX WHERE THE lOT WILL BE 27 014C 8C CB MOV 2 015T BB 0040 MOV CS IS n SAME FOR ALL INTERRUPTS 2 5 015A B 81 MOV i pRg T S ACCESS RIGHTS BYTE FOR THE GATE 2 OISC B2 00 MOV OL O THE WORD COUNT FIELD I S UNUSED 287 OISE B9 0020 MOV CX 32 THERE ARE 32 RESERVED INTERRUPTS 28e 0161 LOW_lOT THIS LOOP BUILDS 32 DESC...

Page 263: ...S RIGHTS BYTE 377 0100 0000 DW o RESERVEO MUST BE ZERO 378 379 ENHANCED GRAPHIC ADAPTER REGEN BUFFER IE_CCRT_PRTI 380 381 OIOF FFFF DW ECCRT SIZE SEGMENT LIMIT 382 o lEI 0000 DW ECCRTiii LO LO SEGMENT BASE ADDRESS LOW WORD 383 01 3 OA DB ECCRTrp LO H I SEGMENT BASE ADDRESS HIGH BYTE 384 01 E4 93 DB CPLO DATA ACCESS ACCESS RIGHTS BYTE 385 01E5 0000 DW o RESERVED MUST BE ZERO 38 387 SECOND PART OF E...

Page 264: ... 0238 000 1 R Ow OFFSET EXC 02 EXCPT 02 NMI SYSTEM REQUEST FOR 01 47 0230 OOOF R Ow OFFSET EXC 03 EXCPT 03 BREAKPO I NT 4 0 023F 00 14 R OW OFFSET EXC 04 EXCPT 04 INTO DETECT 4 0241 0019 R OW OFFSET EXC 05 EXCPT 05 BOUND 4 2 0243 0030 R OW OFFSET EXC 06 EXCPT 06 INVALID OPCODE 483 0245 0034 R OW OFFSET EXC 01 EXCPT 01 PROCESSOR EXT NOT AVAIL 484 0247 0038 R ow OFFSET EXC 08 EXCPT 08 DOUBLE EXCEPT ...

Page 265: ...TED DATA PATTERN VS THE ACTUAL DATA READ AX BX CX DX D AND S I ARE All DESTROYED MOV BX CX SAVE WORD COUNT OF BLOCK TO TEST N AL PORT 8 OR AL RAM PAR OFF TOGGLE PARITY CHECK LATCHES OUT PORT 8 Al TO RESET ANY PEND 1NG ERROR AND AL RAM PAR ON OUT PORT_S Al 1 ROll A BIT THROUGH THE FIRST WORD XOR OX OX CLEAR THE INITIAL DATA PATTERN MDV CX 16 ROll 16 81T POSiTiONS SUB 01 01 START AT BEGINNING OF BLO...

Page 266: ... TTERN 169 OOAF E 1 F6 LOOPZ CI2 CONT I NUE TILL DONE lla 111 OOBI 15 05 JNZ CI3 J ERROR EXIT IF NOT CORRECT 172 113 CHECK FOR 110 OR BASE MEMORY PARITY CHECK 174 115 00B3 E4 61 IN AL PORT B CHECK FOR I O PAR I TY CHECK 116 00B5 86 C4 XCHG AL AH SAVE ERROR t 11 OOBl E4 87 IN AL DMA PAGE 6 CHECK FOR R OR 110 ERROR 18 00B9 22 EO AND AH AL 179 0 CHECKPOINT 32 FOR ADDRESS LINE 0 15 FAILURE 182 OOBB BO...

Page 267: ...82 283 013A Eb 60 OUT PORT A AL SEND THE COMMAND 28 013C 2B C9 SUB CX CX SET LOOP COUNT 285 28 J CHECK OUTPUT BUFFER FULL 287 288 013E E4 64 XMIT_I IN AL STATUS PORT 289 0140 8A EO MOV AH AL SAVE STATUS 290 0142 A8 01 TEST AL OUT BUF FULL CHECK IF 8042 HAS DATA 291 0144 74 02 XMIT 2 GO IF NOT 292 0146 E4 60 IN AL PORT A FLUSH DATA 293 0148 F6 C4 02 XM I T_2 TEST AH INPT BUF FULL CHECK COMMAND ACCE...

Page 268: ...ATA 396 0100 EEl 0000 E CALL 005 397 0103 F6 06 0088 R 01 TEST ClILASTRATE DUAL FLOPPY FIXED DISK CARD INSTALLED 3 8 ASSUME OS ABSO 399 0108 B6 R MOV AX ABSO ESTABLISH ADDRESSING 400 OIOB BE 06 MOV OS AX 401 01001430 JZ H GO IF NOT 02 03 CHECK FOR FIXED D SK INITIALIZATION ERROR 40 405 OIDF BO OE MOV AL CMOS DIAG GET POST POWER ON STATUS NM ENABLED 406 aiEl E8 0000 E CALL CMOS READ FROM DIAGNOSTIC...

Page 269: ...DRESS FIELDS FOR THE 63 TRACK EACH FIELD I S COMPOSED OF 4 BYTES C H R N I WHERE 64 C TRACK NUMBER H HEAD NUMBER R SECTOR NUMBER N NUMBER 65 OF BYTES PER SECTOR 00 128 01 256 02 512 03 1024 66 THERE MUST BE ONE ENTRY FOR EVERY SECTOR ON THE TRACK 67 THI S INFORMATION IS USED TO FIND THE REQUESTED SECTOR OUR NG 68 READ WRITE ACCESS 6 PRIOR TO FORMATTING A DISKETTE IF THERE EXISTS MORE THAN 70 ONE S...

Page 270: ...M SET DASD TYPE FOR FORMA T 14 141 DATA VARIABLE DISK POINTER 148 DOUBLE WORD POINTER TO THE CURRENT SET OF DISKETTE PARAMETERS 150 OUTPUT FOR ALL FUNCT IONS 151 AH STATUS OF OPERATION 152 STATUS BITS ARE DEFINED IN THE EQUATES FOR ODSKETTE STATUS 153 VARIABLE IN THE DATA SEGMENT OF THIS MODULE 154 CY 0 SUCCESSFUL OPERATION AH O ON RETURN EXCEPT FOR READ DASD 155 TYPE AH 115J 156 CY I FAILED OPERA...

Page 271: ...8B FA MDV OJ DX I 01 DRIVE 254 0038 8A 26 0041 MDV AH DSKETTE STATUS LOAD STATUS TO AH FOR STATUS FUNCTION 255 003C C6 06 0041 DO MDV ODSKETTE_STATUS O I N I TI AL I ZE FOR ALL OTHERS 25 257 THROUGHOUT THE DISKETTE BIOS THE FOLLOWING INFORMATION IS CONTAINED IN 256 THE FOLLOWING MEMORY LOCATIONS AND REGISTERS NOT ALL DISKETTE BIOS 25 FUNCTIONS REQUIRE ALL OF THESE PARAMETERS 2 0 2 01 DRIVE 2 2 51 ...

Page 272: ... I F COMMAND 357 00C4 E8 07BO R CALL NEC OUTPUT OUTPUT THE COMMAND 358 00C7 2A 02 SUB DL DL FIRST SPECIFY BYTE 359 00C9 E8 06CC R CALL GET PARM GET PARAMETER TO AH 360 OOCC E8 07BD R CALL NEC OUTPUT OUTPUT THE COMMAND 361 OOCF B2 01 OV DL T SECOND SPEC FY BYTE 362 000 I E8 06CC R CALL GET PARM GET PARAMETER TO AH 363 0004 E8 07BD R CALL NEC OUTPUT OUTPUT THE COMMAND 364 0007 58 POP AX POP ERROR RE...

Page 273: ... R CALL NEC OUTPUT 419 0143 B2 04 MDY DL 4 SECTORSITRACK VALUE TO NEC 480 0145 E8 06CC R CALL GET PARM 481 0148 E8 07BO R CALL NEC OUTPUT 482 014B 82 01 MDY DL 7 GAP LENGTH VALUE TO NEC 483 0140 E8 06CC R CALL GET PARM 484 0150 E8 0780 R CALL NEC OUTPUT 485 0153 B2 08 MaY DL 8 FILLER BYTE TO NEC 486 0155 E8 06CC R CALL GET PARM 481 0158 E8 0180 R CALL NEC OUTPUT AX 488 0158 58 POP THROW AWAY ERROR...

Page 274: ...567 588 0100 2E 88 OE 0214 R MoV CX WORO PTR CSloR PT GET DR VE PARAMETERS 360K DR I YE ATE 0 I TRK_CAPA 589 01E2 F6 85 0090 R 01 TEST 80 TRACK 590 0lE7 74 05 JZ MUST BE 360 591 592 0lE9 2E 88 OE 0218 R MOV CX WORO PTR CS DR_PT 4 GET DR I VE PARAMETERS 593 01 EE 01 SK P6 594 OlEE 89 4E 00 8P CX SAVE POINTER IN STACK FOR RETURN MOY 595 OIFI 8006 0000 E LEA AX DISK BASE ADDRESS OF 0 I SK 8ASE 596 0l...

Page 275: ...T SO 706 707 0280 NOT 320 708 0280 E8 0416 R CALL MED CHANGE CHECK FOR TI ME_OUT 700 0283 80 3E 0041 R 80 CMP OD5KETTE STATUS TIME OUT 710 0288 74 2D JZ SO 1FT I ME OUT TELL CALLER 711 7 I 2 713 028A 4E 028B 75 01 DEC JNZ SI NOT 320 12 CHECK FOR 320 360K BYPASS I F NOT IN 1 2M DRIVE 714 715 0280 80 0292 E8 8D 0090 R 23 70 OR J P TS TE D 11 MED_DET DBL_STEP RATE_300 SET STATE 7Ib 717 0294 NOT 320 1...

Page 276: ... 823 0334 75 09 JNZ CHK 250 IF SO FALL THRU 824 0336 F6 C7 20 TEST BH D8L STEP CHECK FOR DOUBLE STEP 825 0339 75 10 JNZ TST_DET MUST 8E 360 I N 1 2 82 827 0338 UNKNO 828 0338 BO 07 MOV AL MEO UNK NONE OF THE A80VE 829 0330 E8 13 MP SHORT AL_SET PROCESS COMPLETE 630 831 033F CHK 250 I 832 033F 80 00 MOV AL M3D3U AL 360 IN 3bO UNEST A8L I SHED 833 0341 80 FC 80 CMP AH RATE 250 RATE 250 834 0344 75 F...

Page 277: ...8L STEP RATE MSK CLEAR 933 03E5 OA CO OR AL AL I CHECK FOR 360 934 03E7 75 05 JNZ N 360 i IF 360 WILL BE 0 935 03E9 80 CC 90 OR AH t 4ED DET RATE 250 ESTABLISH MEDIA 936 03EC EB 1F JMP SHORT SKP_STATE SKIP OTHER STATE PROCESSING 937 938 03EE 939 03EE FE C8 DEC AL 1 2 M DRIVE 940 03FO 75 05 JNZ N 12 lUMP IF NOT 941 03F2 80 CC 0 OR AH MED DET RATE 500 DEFAULT TO 1 2M FORMAT 942 03F5 EB 16 J P SHORT ...

Page 278: ... HIGH 4 BITS MUST BE INC 1050 04M 133 1051 0488 50 PUSH SAVE START ADDRESS 1052 0489 E6 04 OUT OMA 4 AL OUTPUT LOW ADDRESS 1053 0488 E8 00 J P WAIT FOR I O 2 1054 0480 8A C4 OV AL AH 1055 048F E6 04 OUT OMA 4 AL OUTPUT HIGH ADDRESS OV 2 1056 0491 8A C5 AL CH GET HIGH 4 BITS 1051 0493 EB 00 J P I O WAIT STATE 1058 0495 24 OF AND AL OOOOIIIIB 1059 0497 E6 81 OUT 081H AL OUTPUT HIGH 4 BITS TO PAc E R...

Page 279: ...28 E8 06CC R CALL GET PARM TO THE NEC 158 0528 E8 0180 R CALL NEC OUTPUT OUTPUT TO CONTROLLER 159 052E 58 POP AX THROW AWAY ERROR EXIT 160 052F 161 052F C3 RET 162 0530 RWV_COM ENDP 163 164 j NEC_TERM TH I S ROUT I NE WA ITS FOR THE OPERAT ON THEN ACCEPTS THE STATUS 165 FROM THE NEC FOR THE READ I WR I TE VER I FY FORMA T OPERAT ON 166 161 _ N _ ______ _ _ _ A _ _ _______________ _ 166 169 0530 NE...

Page 280: ...TE_500 I SET CY FOR RATE 500 1278 05DC DO DC RCR AH I TO NEXT STATE 1279 050E 80 E4 CO AND AH RATE NSK KEEP ONLY RATE BITS 1280 05EI 80 A5 0090 R IF AND tlDSK STATE Dl NOT RATE MSK DBL STEP RATE OBL STEP OFF 1281 05E6 08 A5 0090 R OR Il IDSK STATE DI AH TURN ON NEW RATE 1282 05EA C6 06 0041 R 00 MOV Il IDSKETTE STATUS O RESET STATUS FOR RETRY 1283 05EF F9 STC SET CARRY FOR RETRY 1284 05FO C3 RET R...

Page 281: ...E8 069E R CALL READ_ID READ 0 HEAD 0 1390 0618 9C PUSHF SAVE RETURN FROM READ 10 1391 0679 81 E7 00F8 ANa 01 11 I I O IB TURN OFF HEAD 1 BIT 1392 0670 90 POPF RESTORE ERROR RETURN 1393 067E 59 POP ex RESTORE COUNT 1394 061F 73 08 JNe DO CHK IF OK ASKED RETURNED TRACK 1 1395 0681 FE C5 INe eH I NC FOR NEXT TRACK 1396 0683 3A E9 e p CH Cl REACHED MAX MUM YET 1397 0685 15 DA JNZ CNT_OK CONTINUE TILL ...

Page 282: ... ON EXIT AX BX CX OX DESTROYED 1508 1509 06El PROC NEAR 1510 06El E8 012A R CALL TURN ON TURN ON MOTOR 1511 06E4 12 43 JC MOT Ts ON IF CY 1 NO WAIT 1512 06E6 E8 02EE R CALL XLAT 0 0 TRANSLATE STATE TO COMPATIBLE MODE 1513 06E9 B8 90FD MOV AX 090FDH LOAD WA I T CODE TYPE 1514 06EC CD 15 INT ISH TELL OPERAT I NG SYSTEM ABOUT TO 00 WA I T 1515 06EE 9C PUSHF SAVE CY FOR TEST 1516 06EF E8 02C8 R CALL X...

Page 283: ... B2 09 MOV DL 9 GET HEAD SETTLE PARAMETER Ib20 0778 E8 ObCC R CALL GET PARM 1621 077E F6 Ob 003F R 80 TEST ClMOTOR STATUS 10000000B SEE IF A WRITE OPERATION 1622 0783 74 14 JZ ISNT WRITE I F NOT 00 NOT ENFORCE ANY VALUES 1623 0785 OA E4 OR AH AH CHECK FOR ANY WA I T 1624 0787 75 14 JNZ 00 WAT I F THERE DO NOT ENFORCE lb25 0789 84 OF MOV AH HD 12 SETTLE LOAD 1 2104 HEAD SETTLE 104 I N I MUM 1b2b 07...

Page 284: ...9 Ina ISSUE RECALIBRATE FOR 80 TRACK DISKETTES 1731 1732 07FB C6 06 0041 R 00 CllDSKETTE STATUS O CLEAR OUT INVALID STATUS l73l 0800 E8 083E R RECAL RECALIBRATE DRIVE 1734 0803 72 37 RB IF RECALIBRATE FAILS TWICE THEN ERROR 1735 1736 0805 1FT RECAL 1737 l805 C6 85 0094 R 00 MOV DSK TRK I D I 1 0 SAVE NEW CYLINDER AS PRESENT POSITION 1738 080A OA ED OR CH CH CHECK FOR SEEK TO TRACK 0 1739 O lOC 74 ...

Page 285: ...000008 TEST FOR CORRECT VALUE JZ J35 IF ERROR GO MARK IT CLC GOOO RETURN J34 POP AX I THROW AWAY ERROR RETURN CS BACK RET J35 OR CIIDSKETTE_STATUS BA _SEEK STC ERROR RETURN CODE JMP SHORT J34 CHK STAT 2 ENDP WAIT INT THIS ROUTINE WAITS FOR AN INTERRUPT TO OCCUR A Tlh4E OUT ROUTINE TAKES PLACE DURING THE WAIT SO THAT AN ERROR MAY BE RETURNED IF THE DRIVE IS NOT READY I ON EXIT PDSKETTE STATUS CY RE...

Page 286: ...LL SEEK 19 41 08FA 12 35 JC DO BAC ERROR NO DR I VE 1942 08FC B5 08 MOV CH QUIET_SEEK l SEEK TO TRACK 10 1943 oaFE SK_GIN 194 4 08FE FE CD DEC eH DECREMENT TO NEXT TRACK 19 450900 51 PUSH ex SAVE TRACK 19 46 0901 E8 01DE R CALL SEEK 1941 0904 12 2C JC POP BAC POP ANa RETURN 1948 0906 B8 0931 R OV AX OFFSET DO BAC LOAD NEC OUTPUT ERROR ADDRESS 1949 0909 50 PUSH AX 1950 090A B4 04 OV AH SENSE DRV ST...

Page 287: ...E8 0000 E CALL ODS POINT DATA SEGMENT TO 8105 DATA AREA 2018 0954 80 OE OOAO R 01 OR tRTC WAIT FLAG OI NO RTC WAIT FORCE USE OF LOOP 2019 0959 33 FF XOR D 0T 1 INITIALIZE DRIVE POINTER 2020 0958 C1 06 0090 R 0000 NOV WORD PTR o DSK STATE O 1 INITIALIZE STATES 2021 0961 80 26 008B R 33 ND ILASTRATE NOT STRT MSK SENO MSK CLEAR START SEND 2022 0966 80 OE 006B R CO OR O LASTRATE SEND MSK INITIALIZE SE...

Page 288: ...UNUSED 50 AH 08H RETURN THE CURRENT DRIVE PARAMETERS 51 AHI 09H INITlAL IZE DRIVE PAIR CHARACTERISTICS 52 INTERRUPT 41 PO I NTS TO DATA BLOCK FOR DR I VE 53 INTERRUPT 46 POINTS TO DATA BLOCK FOR DRIVE 54 AH I OAH READ LONG 55 AHI OBH WRITE LONG READ WRITE LONG ENCOMPASS 512 4 BYTES ECCI 56 AHI OCH SEEK 51 IAHI ODH ALTERNATE DISK RESET SEE Dli 58 IAH OEH UNUSED 5 I AH OFH UNUSED 60 IAH IOH TEST DRI...

Page 289: ...ED 3 OOEO NO ERR EQU OEOH STATUS ERROR ERROR REGI STER O DOCe WRITE FAULT EQU OCCH WRITE FAULT ON SELECTED DRIVE 5 OOBB UNOEF ERR EQU OBBH UNDEF I NED ERROR OCCURRED 6 OOAA NOT ROY EQU OAAH DR I VE NOT READY 7 OOSO TIME OUT EQU 80H ATTACHMENT FAILED TO RESPOND 8 0040 8AD SEEK EQU OH SEEK OPERA T I ON F A I LEO 9 0020 BAD CNTLR EQU 20H CONTROLLER HA S FA I LED 150 0011 DATA CORRECTED EQU ECC CORREC...

Page 290: ...1 ERROR REGISTER 232 233 000 I ERR DAM EOU OOOOOOOIS DATA ADDRESS MARK NOT FOUND 23 0002 ERR TRK a EOU 0000001 DB TRACK a NOT FOUND ON RECAL 235 0004 ERR ABORT EOU 00000 t OOB ASORTED COMMAND 236 EOU 0000 I OOOS NOT USED 231 00 10 ERR ID EOU 000 I 00009 10 NOT FOUND 238 EOU OOIOOOOOB NOT USED 23 0040 iRR DATA ECC EOU 010000009 2 0 0080 ERR BAD_BLOCK EOU 100000009 2 2 2 2 3 00 1a RECAL CMD EOU 000 ...

Page 291: ...06 0077 R 00 OOV IIPORT OFF O ZERO CARD OFFSET 327 007F 8A Da OOv Bl AL SAVE F I XED DISK BYTE 328 0061 25 OOFO ANa AX OOOFOH GET FIRST DRIVE TYPE AS OFFSET 32 0064 74 72 JZ POD_DONE NO FIXED DISKS 330 331 00a6 3C FO COP AL OFOH CHECK FOR EXTENDED DR I VE TYPE BYTE USE 332 0088 75 10 JNE L2 USE DRIVE TYPE I 14 IF NOT IN USE 333 33 ooaA 80 99 OOv AL CMOS DISK I NMI GET EXTENDED TYPE FOR DR I VE C 3...

Page 292: ... C3 TCHK I CMP 415 019F 72 04 JB A16 OIAI 38 Ct TCHK2 CMP 411 0lA3 72 02 Je 41B 419 olAS F9 TCHKNG STC 4BO oIA6 C3 RET 4BI otA1 FB TCHKG CLC 482 01 A8 C3 RET 4B3 0lA9 POO_TCHK 4BA 4B5 0lA9 a I SK_SETUP 06 10 85 St OFFSET F171S2 CONTROLLER ERROR SET FAIL DO NOT IPL FROM DISK E MSG DISPLAY ERROR AND SET 8P ERROR FLAG Poa_DONE PROC NEAR ex SAVE TIMER LIMITS CX AH 09H SET OR VE PARAMETERS I3H RES 2 AH...

Page 293: ...RN STATUS OOOH 00 IH 546 OIFF 031E R ow DISK READ 002H 541 0201 0325 R ow DISK WRITE 003H 548 0203 032C R ow 01 SK VERF 004H 549 0205 033E R ow FMT TRK 005H 550 0201 0289 R ow BAD COMMAND 006H FORMAT 8AD SECTORS 551 0209 0289 R ow 8AD COM AND 001H FORMAT DRIVE 552 0208 0289 R ow 8AD COMIro4AND 006H RETURN PARAMETERS 553 0200 03F 1 R ow INIT DRY 009H 554 020F 0423 R ow RD LONG OOAH 555 021 I 042A R...

Page 294: ...THE DISK SYSTEM IAH OOHI 3 645 02C 1 DISK RESET PRoe NEAR 646 02Cl FA CLI 647 02C2 E4 AI IN L I I NT80 I GET THE t lASK REGI STER 648 02C4 EB 00 MP 0 6 49 02C6 24 BF ANa AL OBFH I EN BLE F I XED 0 I SK 1NTERRUPT 6 50 02C8 E6 AI OUT INTBO 1 AL 6 51 02C FB STI I START INTERRUPTS 652 02C8 80 04 MOV L 1 04H 6 53 02CO B 03F6 MOV DXIHF REG PORT 654 0200 EE OUT DX AL RESET 6 55 0201 B9 OOOA MOV CX I a DE...

Page 295: ... 138 034F 01 POP ES 139 0350 E9 05QA R J P CMD_oF GO EXECUTE THE COMMAND 140 0353 FMT_ TRK ENDP 741 742 743 744 READ OASO TYPE IAH ISH 745 746 141 0353 READ DASo TYPE LABEL NEAR 148 0353 REAO D T PRoe FAR GET DRIVE PARAMETERS 149 0353 1E PUSH 05 SAVE REGISTERS 150 0354 06 PUSH ES 151 0355 53 PUSH BX 752 ASSUME OS OATA 153 0356 E8 0000 E CALL DDS ESTABL I SH ADDRESS I NG 154 0359 C6 06 0014 R 00 MO...

Page 296: ...ROC FAR GET DR 1VE PARAMETER S PUSH os SAVE REGISTERS PUSH ES PUSH ex ASSUME os ABSO NOV AX ABSO ESTABLISH ADDRESSING NOV OS AX TEST OL I CHECK FOR OR I VE I JZ G LES BX 3HFI TBL VEC JNP SHORT GT GO LES BX iltHF_ TBL_VEC ASSUME OS DATA GI CALL DDS EST ABL J SH SEGMENT SUB OL 80H CNP OL MAX_FILE 1 TEST WITHIN RANGE JAE G NOV ODISK STATUS I 0 NOV AX ES i BX 1 MAX NUMBER OF CYL I NDERS SUB AX 2 AD JU...

Page 297: ... 946 0490 E6 21 OUT lNTAOl AL 947 049F F8 STI 948 04AO E8 05E6 R CALL NOT BUSY WA I T FOR CARD 949 04A3 15 I A JNZ CD ERR BAD CARD 950 04A5 8A 0 I Fl MOV OX HF PORT 7 951 0 4A8 80 90 MOV AL OIAG CMD START DIAGNOSE 952 04AA EE OUT DX AL 953 04A8 E8 05E6 R CALL NOT BUSY WA I T FOR I T TO COMPLETE 954 04AE 84 80 MOV AH TIME OUT 955 0480 15 OF JNZ CD EXIT TIME OUT ON DIAGNOSTIC 956 04B2 8A OIFI MOV OX...

Page 298: ...1 0554 E8 044F R CALL TST ROY CHECK DR I VE READY 1062 0551 59 POP CX 1063 0558 14 08 COMMAND2 DRIVE IS READY Z 1064 055A 80 3E 0074 R eo CMP DISK STATUS I TIME OUT TST_RDY TIMED OUT GIVE UP 1065 055F 14 48 JZ CMD TIMEOUT 101616 0561 E2 FO LOOP COMMAND I KEEP TRYING FOR A WHILE 1061 00563 E8 49 SHORT COMMAN04 TS NOT GOING TO GET READY t 068 0565 COMMAND2 P 1069 0565 58 POP BX 1010 0566 51 PUSH 01 ...

Page 299: ...SY ENDP 1162 11b3 1 1164 WAIT FOR DATA REQUEST 1165 b _ TUS I TI ME_OUT 1166 0600 1161 060089 0100 MOV CX DELAY 3 1168 0610 BA OIFT MOV OX HF PORT 1 1169 0613 EC WQ_I t IN AL DX GET STATUS 11700614 A8 08 WAIT FOR DRQ 111106161509 iT _DRQ 11120618 E2 F9 LOOP WQ I KEEP TRYING FOR A SHORT WHILE 1173 061A C6 06 0014 R 60 MOV ODTsK_STATUS I T I ME_OUT ERROR 1174 061F F9 STC 11750620 C3 RET 11760621F8 w...

Page 300: ...MOV AX 1F04H ECC IS 4 MORE BYTES 1263 06AI 3A 66 F9 CKDI CMP AH CMD 8LOCK 1 NUMBER OF SECTORS 1264 06A4 11 06 JA CKDOK IT WILL FIT 1265 06A6 12 01 J8 CKDERR TOO MANY 1266 06A8 3A C3 CMP AL Bl CHECK OFFSET ON MAX SECTORS 1261 06AA 12 03 J8 CKDERR ERROR 1268 06AC F8 CKDOK CLC CLEAR CARRY 1269 06AD 58 POP AX 1210 06AE C3 RET NORMAL RETURN 1211 06AF F9 CKDERR STC I NO I CATE ERROR 1212 06BO C6 06 0014...

Page 301: ...oBUFFER HEAO GET PO I NTER TO HEAD OF BUFFER 65 00 19 36 IE OOIC R CMP 6X PBUFFER TAIL TEST END OF BUFFER 66 61 0010 75 07 JNE C IF ANYTHING IN BUFFER SKIP INTERRUPT 8 69 10 OOIF 86 9002 0022 CD 15 0024 KI MOV INT AX 09002H H DVE IN WAIT CODE TYPE PERFORM OTHER FUNCT I ON ASCI I READ 11 002 4 FB ST I INTERRUPTS BACK ON DURING LOOP 12 0025 90 NOP ALLOW AN INTERRUPT TO OCCUR 13 0026 FA KIe CLI INTER...

Page 302: ..._4 I GO IF RESEND 1 CHECK FOR RESPONSE TO A COMMAND TO KEYBOARD C P AL KB ACK I I S THE I NPUT AN ACKNOWLEDGE NZ KB_ NT_2 GOIFNOT A COMMAND TO THE KEYBOARD WAS ISSUED eLI oI SABLE INTERRUPTS OR INDICATE ACK RECEIVED P RETURN IF NOT lACK RETURNED FOR DATA RESEND THE LAST BYTE KB INT 4 CLI D I SABLE INTERRUPTS OR KB FLAG 2 KB FE I NO I CA TE RESEND RECE I VEO K26 RETURN IF NOT ACK RETURNED FOR DATA ...

Page 303: ...F6 06 0096 R 20 TEST lKB FLAG 3 SET NUM LK SHOULD WE SET NUM LOCK 288 0121 74 35 or 00 EXT EXIT IF NOT 289 0129 80 OE 00 I 7 R 20 OR ilKS FLAG NUM STATE FORCE NUM LOCK ON 290 012E E8 0536 R CAll SNO LED GO SET THE NUM LOCK INDICATOR 291 0131 EB 70 JMP SHORT EX I T 292 0133 293 0133 F6 06 0096 R 02 TEST PKS FLAG 3 LC HC WAS THE LAST CHARACTER A HIDDEN CODE 294 0138 14 5F NOT LC He JUMP IF NOT 295 J...

Page 304: ...LD DOWN 399 0205 75 17 JNZ K 168 IF YES DON T PROCESS SYSTEM INDICATOR 00 401 0207 80 OE 0018 R 04 OR INDICATE SYSTEM KEY DEPRESSED E6 AG_I SYS_SHIFT 402 020C 80 20 MOV END OF I NTERRUPT COMMAND 403 020E E6 20 OUT INTAOO AL SEND COMMAND TO I NTERRUPT CONTROL PORT 0 I NTERRUPT RETURN NO EO I 405 0210 80 AE MOV AL ENA KBD I NSURE KEYBOARD IS ENA8LED 406 0212 E8 0595 R CALL SHIP IT EXECUTE ENABLE 407...

Page 305: ...LUE I NTO BUFFER 506 5 5 507 02C2 AO 0019 R MOV AL l ALT_INPUT 508 02C5 84 00 MOV AH O SCAN CODE OF 0 509 02C7 88 26 0019 R MOV iIIAL T INPUT AH ZERO OUT THE FIELD 02C8 3C 00 eMP AL O WAS THE I NPUT O 5 02CO 14 IF JE K26 I NTERRUPT RETURN 02CF E9 0493 R JMP K58 IT WASN T SO PUT I N BUFFER 3 6 0202 K24 BREAK TOGGLE 5 0202 F6 04 NOT AH I NVERT MASK 0204 20 26 0018 R AND OK8 FLAG_I AH INDICATE NO LON...

Page 306: ...T FOUND NO RESET AL 57 TEST FOR SPACE KEY 32 NOT THERE AL SET SPACE CHAR 57 8UFFER_F I LL LOOK FOR KEY PAD ENTRY ALT KEY PAD OJ OFFSET K30 ALT JNPUT TA8LE CX IO LOOK FOR ENTRY US JNG KEYPAD SCASB LOOK FOR MATCH 33 NO ALT KEYPAD DJ OFFSET K30 I DJ NOW HAS ENTRY VALUE AL OALT INPUT GET THE CURRENT BYTE AH 10 MULTIPLY 8Y 10 AH AX DI ADD IN THE LATEST ENTRY OAL T INPUT AL STORE JT AWAY K26 THROW AWAY ...

Page 307: ...ER TH I NGS CAN HAPPEN 737 042F 55 PUSH BP SAVE PO INTER 738 0430 CD 05 1NT 05H ISSUE PRINT SCREEN INTERRUPT 739 0432 50 POP BP RESTORE POINTER 740 0433 E9 02F3 R JMP 27 GO BACK WITHOUT EO I OCCURR I NG 741 742 0436 K46 NOT PR I NT SCREEN 743 0436 3C 38 eMP AL 59 FUNCT I ON KEY S 744 0438 72 06 JB 47 NOT UPPER FUNCT J ON 745 043A 88 0000 E MOV eX OFFSET K12 UPPER CASE PSEUDO SCAN CODES 746 0430 E9...

Page 308: ...AIL 8X MOVE THE PO I NTER UP 854 04CF FA CL I TURN OFF INTERRUPTS 855 0400 BO 20 MOV AL EOI END OF I NTERRUPT COMMAND 856 0402 E6 20 OUT INTAOO AL SEND COMMAND TO INTERRUPT CONTROL PORT 851 0404 BO AE MOV AL ENA_KBD I NSURE KEYBOARD I S ENABLED 858 0406 EB 0595 R CALL SHIP IT EXECUTE ENABLE 859 0409 86 9102 MOV AX 09102H MOVE I N POST CODE TYPE 860 04DC CD 15 I NT ISH PERFORM OTHER FUNCT ON 861 04...

Page 309: ... 2 I NOT KB LEOS CLEAR MODE INQICATOR BITS 965 0564 08 06 0097 R OR OKB FLAG 2 AL SAVE INDICATORS STATES FOR NEXT TIt lE 966 0568 F6 06 0097 R 050 TEST FLAG 2 KB_ERR TRANSt l1 T ERROR DETECTED 967 0560 75 OB JNZ IF SO BYPASS SECOND BYTE TRANSMISSION 9b8 969 056F EB 04FA R CALL SND_DATA SEND DATA TO KEYBOARD 970 0572 FA eLI TURN OFF INTERRUPTS 971 0573 F6 06 0097 R 60 TEST IIKB FLAG 2 KB ERR TRANSM...

Page 310: ...S I I WORD OFFSET INTO TABLE INTO 51 59 0011 88 94 0008 R MOV DX PRINTER BASE SI J GET BASE ADDRESS FOR PR I NTER CARD 0015 0802 OR ox DX TEST OX ZERO INDICATING NO PRINTER 61 0017HOC JZ B EXIT NO PRINTER ADAPTER AT OFFSET 62 0019 OA E4 OR AH AH TEST FOR AH OOH 63 0018 74 OE JZ B20 PRINT CHARACTER IN ALI 64 0010 FE CC DEC AH TEST FOR AHI OIH 65 001F 14 58 JZ B80 INITIALIZE PRINTER 66 0021 FE CC DE...

Page 311: ... 42 I NC OX PO I NT TO CONTROL PORT 135 006A EC IN AL DX PRE CHARGE 8USY LINE IF FLOATING 136 0068 EC IN AL DX GET PR INTER STATUS HARDWARE 81 TS 137 006C 81 EO MOV AH AL SAVE 138 006E 80 E4 AND AH OF8H TURN OFF UNUSED BITS 139 0011 B70 140 0011 5A POP OX RECOVER AL REG I STER 141 0012 8A C2 MOV AL DL MOVE CHARACTER rNTO AL I 1 42 001 4 80 F4 48 XOR AH 48H FLIP A COUPLE OF 81TS 143 0077 E8 AC IMP ...

Page 312: ...2 81T 3 FRAMING ERROR 53 81T 2 PARITY ERROR 54 81 T 1 OVERRUN ERROR 55 BIT 0 DATA READY 5 ALI CONTAINS THE MODEM STATUS 57 8IT 7 RECEIVE LINE SIGNAL DETECT 56 BIT 6 RING INDICATOR 59 BIT 5 DATA SET READY 81T 4 CLEAR TO SEND 81T 3 DELTA RECEIVE LINE SIGNAL DETECT 2 81T 2 TRAILING EDGE RING DETECTOR 3 81T 1 DELTA DATA SET READY 8IT 0 DELTA CLEAR TO SEND 5 OX PARAMETER INDICATING WHICH RS232 CARD 0 1...

Page 313: ...232 8ASE S POINT TO HIGH ORDER OF DIVISOR INC ox MOV AL CS DI 1 GET HIGH ORDER OF OIVISOR OUT DX AL SET ms OF DIVISOR TO 0 OEC ox JMP I O DELAY MOV AL eS 01 J GET LOW ORDER OF D I V I SOR 2 OUT aX AL SET LOW OF DIVISOR AOO OX 3 MOV AL AH GET PARAMETERS BACK ANa AL OIFH STRIP OFF THE BAUD BITS OUT DX AL LINE CONTROL TO 8 BITS OEC ox OEC ox JMP I O DELAY 2 MOV AL O OUT DX AL I NTERRUPT ENABLES ALL O...

Page 314: ...OCS 50 POP BP USE SP FOR OUTER LOOP COUNT 235 OOCC 61 E5 OOFF AND BF OOFFH 5TR IP HIGH BITS 2 6 OODO D I 05 ReL 8F I MULTI PLY OUTER COUNT 8Y 4 237 00D2 D1 o l ReL 8F I 238 0004 WFSO 2 0004 2S C9 SUB CX CX 24 OODI WFSI 241 0006 EC IN AL DX GET STATUS 2 2 0007 8A EO MOV AH AL MOVE TO IAH 2 3 0009 22 Cl AND AL BH ISOLATE BITS TO TEST 2 OODS 3A C1 eMP AL 6H EXACTLY TO MASK 245 0000 14 01 JE WFS_ENO R...

Page 315: ... OOH LIGHT PEN SWITCH NOT DOWNINOT TRIGGERED 66 AHI 01H VALID LIGHT PEN VALUE IN REGISTERS 67 DH DLI ROW COLUMN OF CHARACTER LP POSITION 68 CHI RASTER LINE 10 199 69 BX PIXEL COLUMN 0 319 639 AHI OSH SELECT ACTIVE DISPLAY PAGE VALID ONLY FOR ALPHA MODES 71 ALI NEW PAGE VALUE 0 1 FOR MODES 0 1 0 3 FOR MODES 2 3 72 AH 06H SCROLL ACT I VE PAGE UP 73 ALI NUMBER OF LIlES LINES BLANKED AT BOTTOM OF WIND...

Page 316: ...MOVED 172 IAlI 03H WRITE CHARACTER AND ATTRIBUTE STRING AND MOVE CURSOR 173 174 VALID FOR ALPHA MODES ONLYI STRING IS CHAR ATTR CHAR ATTR CHAR ATTR 175 CURSOR I S MOVED 176 177 CARRIAGE RETURN LINE FEED BACKSPACE AND BELL ARE TREATED AS COMMANDS RATHER THAN PRINTABLE CHARACTERS 178 179 BX CX DX SI DI BP SP OS ES SS PRESERVED DURING CALLS EXCEPT FOR 180 BX CX OX RETURN VALUES ON FUNCTIONS 03H 04H O...

Page 317: ...OF TABLE 280 OOAO 3C 02 CMP AL 2 DETERM I NE WH I CH ONE TO USE 281 00A2 72 OE MODEISOORI JC M 282 00A4 03 09 AOO BX CX NEXT ROW OF INITIALIZATION TABLE 283 OOA 3C 04 CMP AL 4 284 00A8 72 OB JC MODEIS20R3 M 285 OOAA 03 09 AOO ex cx MOVE TO GRAPHICS ROW OF INIT_TABLE 286 OOAC 3C 07 CMP AL 7 287 OOAE 72 02 JC MODE IS 4 5 OR 288 0080 03 09 AOO 8X CX MOVE TO BW CARD ROW OF INIT_TA8LE 26 M 2 0 8X POINT...

Page 318: ...SOR VALUE CH START LINE CL STOP LINE 3 5 I OUTPUT 3 6 NONE 3 398 0131 SET CTYPE PROC NEAR 399 0131 B4 OA MOV AH 10 6845 REGISTER FOR CURSOR SET 400 0139 89 OE 0060 R OV CURSOR MODE CX SAVE IN DATA AREA 401 0130 E8 0142 R CALL M16 OUTPUT CX REG I STER 402 0140 EB EC J P V I OED_RETURN 403 0 TH IS ROUTI NE OUTPUTS THE CX REG I STER TO THE 6845 REG I STERS NAMED IN AH 05 06 407 0142 MI Eo 408 0142 88...

Page 319: ... R JMP V I DEO RETURN 512 018F 513 AC ___ _ __________________ 514 SET COLOR 515 TH I S ROUT I NE WILL ESTABLI SH THE BACKGROUNO COLOR THE OVERSCAN COLOR 516 AND THE FOREGROUND COLOR SET FOR MED I UM RESOLUT ION GRAPH I CS 517 INPUT 5 8 BH HAS COLOR 10 519 IF BH O THE BACKGROUND COLOR VALUE IS SET 520 FROM THE LOW BITS OF BL 0 31 521 IF BH I THE PALETTE SELECTION IS MADE 522 BASED ON THE LOW BIT O...

Page 320: ...232 80 20 MDV AL FILL WITH BLANKS 633 0234 til4 CLEAR LOOP 634 0234 EB 02AO R CALL Nil CLEAR THE ROW 635 0237 03 FD ADD DI BP POINT TO NEXT LINE 63 0239 FE CB DEC BL COUNTER OF LI NES TO SCROLL 37 0238 15 F1 JNZ N CLEAR LOOP 636 0230 N5 SCROLL_END 639 0230 E8 0000 E CALL ODS 40 0240 80 3E 0049 R 07 eMP CRT_MODE 7 IS THIS THE BLACK AND WHITE CARD 641 0245 74 01 JE NO IF SO S KIP THE MODE RESET 42 0...

Page 321: ... ADDRESS REP MOVS MOVE THAT LINE ON SCREEN POP 01 POP SI RECOVER ADDRESSES RE1 NIO ENOP CLEAR ROW Nil PROC NEAR MOV CL oL I GET I COLUMNS TO CLEAR PUSH 01 REP STOSW STORE THE FILL CHARACTER POP 01 RET Nil ENoP SCROLL DOWN THIS ROUTINE MOVES THE CHARACTERS WITHIN A DEFINED BLOCK OOWN ON THE SCREEN FILLING THE TOP LINES II I TH A DEF I NED CHARACTER INPUT AH CURRENT CRT MODE All NUM8ER OF LINES TO S...

Page 322: ...AL DX GET STATUS 826 031A A6 09 TEST AL RVRT RHRZ IS HOR ZONTAL OR VERTICAL RETRACE HIGH 821 031C 74 F8 JZ PI2 WAIT UNTIL EITHER IS ACTIVE 828 031E P13 829 031E AD LODSW GET THE CHARACTER AND ATTR I BUTE 630 031 F E9 012E R JMP V IDEO_RETURN EXIT WITH AXI 831 632 0322 REAO_AC_CURRENT ENOP 833 834 835 0322 FINO POS I TlON PROC NEAR SETUP FOR BUFFER READ OR WR I TE 636 0322 86 E3 XCHG AH 8L SWAP MOD...

Page 323: ...AI OR VERT I CAL RETRACE HIGH 912 031C 14 F8 JZ P33 WAIT UNTIL EITHER IS ACTIVE 913 037E P34 91 031E 95 XCHG AX BP GET THE ATTR CHAR SAVED IN BPI 915 031F AB STOSW WRITE THE ATTRIBUTE AND CHARACTER 916 0380 E2 EA LOOP P31 AS t 4ANY T I t 4ES AS REQUESTED TILL CX O 917 0362 P35 916 0382 E9 o12E R EX IT 919 920 0385 921 922 I 923 WR I TE C CURRENT I 92 THIS ROUTINE WRITES THE CHARACTER AT 925 THE CU...

Page 324: ...TE 1020 03E6 CO 10 IN1 10H WR I TE TTY CHARACTER TO THE CRT 1021 03E6 68 94 0050 R MOV SI OFFSET PCURSOR_POSN g Tg R 61 R POSITION t 022 03EC 56 POP 1023 03EO 5B POP 8X 1024 03EE 59 POP ex 1025 03EF E8 2E J P SHORT P54 GO SET CURSOR POS I T 1 ON AND CONT I NUE 102603FI P52 1027 03FI 89 0001 DV CX SET CHARACTER WR I TE AMOUNT TO ONE 1026 03F4 60 FC 02 C P AH 2 IS THE ATTRIBUTE IN THE STRING 1029 03...

Page 325: ... CL SHIFT TO SET UP THE BITS FOR OUTPUT AND MOV AL AH CL ES 51 J STR I P OFF THE OTHER BI TS GET THE CURRENT BYTE POP BX RECOVER XOR FLAG TEST BL 80H IS IT ON JNZ R2 YES XOR THE DOT NOT AH SET MASK TO REMOVE THE INDICATED BITS AND OR CL AH AL CL OR IN THE NEW VALUE OF THOSE BITS RI FINISH DOT OV ES SI AL RESTORE THE BYTE I N MEMORY POP AX J P VIDEO_RETURN RETURN FROM VIDEO I O R2 XDR DOT XOR AL CL...

Page 326: ...OURCE ADD S I AX ADD I N OFFSET TO IT DV AH DH NUMBER OF ROWS IN FIELD SUB AH 8L DETERMINE NUMBER TO MOVE 1 LOOP THROUGH MOV I NG ONE ROW AT A T I ME BOTH EVEN AND ODD FIELDS R8 ROW LOOP CALL RI7 MOVE ONE ROW SUB S I 2000H 60 MOVE TO NEXT ROW SUB DI 2000H eo DEC AH NUMBER OF ROWS TO MOVE JNZ R6 CONT I NUE TILL ALL MOVED FILL IN THE VACATED LINE SI CLEAR ENTRY AL BH ATTRIBUTE TO FILL WITH Rl01 CALL...

Page 327: ...VE ONE ROW SUB SI 2000H 80 MOVE TO NEXT ROW SUB DI 2000H eO DEC AH NUMBER OF ROWS TO MOVE NZ RI3 CONTINUE TILL ALL MOVED FILL IN THE VACATED LINE S R14 CLEAR ENTRY DOWN MOV AL BH ATTRIBUTE TO FILL WITH Rt5 CLEAR LOOP DOWN CALL RI8 CLEAR A ROW SUB DI 2000H 80 POINT TO NEXT LINE DEC BL NUMBER OF LINES TO FILL JNZ RI5 CLEAR LOOP DOWN CLD RESET THE is I RECT ION FLAG JMP VIDEO_RETURN EIIERYTH I NG DON...

Page 328: ... SF POP 01 RECOVER REGEN PO INTER 1467 05CB 47 INC 01 POINT TO NEXT CHAR POSITION 1468 05CC E2 E3 LOOP 53 t 40RE CHARS TO WRITE 1469 OSCE E9 012E R J P VIDEO_RETURN 1470 1471 0501 56 1472 0501 261 32 05 XOR AL ES 101 J EXCLUS I VE DR WITH CURRENT 1473 0504 AA STOSB STORE THE CODE PO I NT 1474 0505 AC LODSS AGAIN FOR DOD FIELD 1475 0506 26 32 85 lFFF XOR AL ES 01 2000H I 1476 050B EB EO Jt 4P S5 BA...

Page 329: ...2 DO IT SOME MORE JMP SHORT 515 GO MATCH THE SAVED CODE POINTS 1 MEo I UM RESOLUT I ON READ S13 MED RES READ SAL S I OFFSEP2 SINCE 2 BYTES CHAR MOY OH 4 NUM8ER OF PASSES 5141 CALL 523 GET BYTES FROM REGEN INTO SINGLE SAVE ADO S I 2000H 2 GO TO LOWER REG I ON CALL 523 GET THIS PAIR INTO SAVE SUB SI 2000H 80 2 ADJUST POINTER BACK INTO UPPER aEC DH JNZ 51 KEEP GOING UNTIL ALL 8 DONE SAVE AREA HAS CHA...

Page 330: ...THE LAST COLUMN OF THE FIELD THE COLUMN 1690 I S SET TO ZERO AND THE ROW VALUE I S INCREMENTED I F THE ROW 1691 ROW VALUE LEAVES THE FIELD THE CURSOR IS PLACED ON THE LAST ROW 1692 FIRST COLUMN AND THE ENTIRE SCREEN S SCROLLED UP ONE LINE 1693 WHEN THE SCREEN IS SCROLLED UP THE ATTR 8UTE FOR FILLING THE 1694 NEWL Y 8LANKED LINE IS READ FROM THE CURSOR pas I T I ON ON THE PREV 10US 1695 LINE BEFORE...

Page 331: ...CC J P us TTY_RETURN 1801 0169 WRITE TTY ENDP 1808 1 1809 1 LIGHT PEN 1810 THIS ROUTINE TESTS THE LIGHT PEN SWITCH AND THE LIGHT 181 I I PEN TR 1GGER I F BOTH ARE SET THE LOCAT I ON OF THE LIGHT 1812 I PEN IS DETERMINED OTHERWISE A RETURN WITH NO INFOR ATION 1813 IS MADE 1814 ON EXITI 1815 AH I a IF NO LIGHT PEN INFORMATION IS AVAILABLE 1816 BX CX DX ARE DESTROYED 18 t 1 IAHI I IF LIGHT PEN IS AVA...

Page 332: ...010E 15 04 V3 NE NOT HIGH RES 1899 01EO Bl 04 MDV CL 4 SHIFT VALUE FOR HIGH RES 1900 01E2 DO E4 SAL AH I COLUMN VALUE TIMES 2 FOR HIGH RES 1901 01E4 NOT HIGH RES 1902 01E4 03 E3 BX CL MULTIPLY 16 FOR HIGH RES 1903 1904 t OETERM I NE ALPHA CHAR POS I T I ON 1905 1906 01E6 8A 04 MOV OL AH COLUMN VALUE FOR RETURN 1901 07E8 8A FO MOV OH AL ROlfi VALUE 1908 07EA CO EE 02 5HR OH 2 o I V I DE 8Y 4 FOR VA...

Page 333: ...NUMBER OF CONT I GUOUS K BLOCKS OF MEMORY 5 6 ASSUME CS CODE DS DATA 48 0000 MEMORY SIZE OET I PROC FAR 49 0000 FB ST I NTERRUPTS BACK ON 50 0001 IE PUSH OS SAVE SEGMENT 51 0002 E8 0000 E CALL DOS ESTABLISH ADDRESSING 52 0005 AI 0013 R MOV AX MEMORY SIZE GET VALUE 53 0008 IF POP OS RECOVER SEGt 4ENT 54 0009 CF IRET RETURN TO CALLER 55 OOOA t 4Et 40RY_SI ZE_DET_I ENDP 56 51 INT II H 58 EQU I PMENT ...

Page 334: ...CK I MESSAGE 147 0042 5B POP AX AND RECOVER STATUS 148 0043 149 0043 8E 0000 E MOV SI OFFSET 02 ADDRESS OF PARITY CHECK 2 MESSAGE 150 151 0046 AS 40 0048 74 03 TEST JZ AL IO CHECK NMI 3 I O PAR I TY CHECK SK 1P J F CORRECT ERROR D I SPLAYED 152 0041 E8 0000 E CALL P_MSG DISPLAY PARITY CHECK 2 ERROR 153 154 TES T FOR HOT NM I ON PL ANAR PAR I TY LINE 155 156 0040 NMI 3 157 0040 E4 61 IN AL PORT B 1...

Page 335: ...T 50 AS SOON AS POSSIBLE AFTER THE INTERVAL 51 EXPIRES 52 CX OX NUMBER OF MICROSECONDS TO ELAPSE BEFORE 53 POSTING 54 ALI OIH CANCEL 55 5 RETURNS CARRY IF AL NOT OOH OR 01 H 57 OR IF FUNCTION AL O ALREADY BUSY 58 59 AH 84H JOYSTICK SUPPORT 60 OX OOH READ THE CURRENT SWITCH SETTINGS 61 RETURNS AL SWITCH SETTINGS BITS 7 41 62 DXI OIH READ THE RESISTIVE INPUTS 63 RETURNS AX A VALUE 6 BX A y VALUE 65 ...

Page 336: ...4 E9 016A R CI AI NP WAIT WAIT 4 5 0037 FE CC CI BI DEC AH I 7 0039 75 03 CI C 8 NP 003B E9 03EE R N EXT_MEMORY GO GET THE EXTENOEO MEMORY I 170 003E FE CC CI CI DEC AH 171 0040 75 03 CI D CHECK FOR FUNCT I ON 89H N 172 0042 E9 03FA R NP SET_VMOoE SWAP TO V I RTUAL MOOE 173 174 0045 60 EC 01 CI DI SUB AH l CHECK FOR FUNCT I ON 90H 175 0046 15 03 CI E GO IF NOT N 17 004A E9 0483 R NP DEVICE_BUSY 17...

Page 337: ...TCHES 274 RETURNS IALI SWITCH SETTINGS IN BITS 275 276 IDX I READ THE RESISTIVE INPUTS 277 RETURNS IAXI AI I VALUE 278 IBXI Alyl VALUE 279 ICXI 81 1 VALUE 280 IDXI Bly VALUE 281 282 CY FLAG ON I F NO ADAPTER CARD OR I NV AL I 0 CALL 283 284 285 0000 oDY STICK PROC NEAR 286 0000 STI I NTERRUPTS BACK ON 287 0001 8B C2 MOV AX DX GET SUB FUNCT I ON CODE 288 0003 BA 020 I MDV DX 20 1H ADDRESS OF PORT 2...

Page 338: ... 0000 E CALL DDS 3 4 016E F6 06 OOAO R 01 TEST ORTC WAIT FLAG OI TEST FOR FUNCTION ACTIVE 3 S 01731405 JZ WAIT 3 0 0175 IF POP OS 3 0176 F9 STe SET ERROR 3 6 0171 E9 0057 R JMP RETURN 3 017A 400 017A FA eLI NO I NTERRUPTS ALLOWED 401 0178 E4 AI IN AL INTBO ENSURE INTERRUPT UNMASKED 402 0170 E8 00 J P 2 403 o17F 24 FE AND AL OFEH 404 0181 E6 Al OUT INTBOI AL 405 01838C IE 009A R MOV 400 0187 C7 06 ...

Page 339: ...XECUTED 465 11 ERRORS ARE CHECKED FOR AND RETURN CODES ARE SET FOR IAHI 466 12 ADDRESS LINE 20 GATE IS DISABLED 467 13 RETURN WITH REGISTERS RESTORED AND STATUS RETURN CODE 466 FOR PC AT COMPATIBILITY ZF I IF SUCCESSFUL ZF O IF ERROR 469 490 491 I THE FOLLOWING DIAGRAM OEPICTS THE ORGANIZATION OF A BLOCK MOVE GOT 492 493 GOT 494 ES SI 495 496 I 497 00 496 DUMMY I 2 THE FIRST DESCRIPTOR IS THE REQU...

Page 340: ...DT LOC BASE HI 8YTE DH SET THE HIGH BYTE SI j CGOT LOC DATA RESERVEO O j RESERVED SET UP THE CODE SEGMENT DESCRIPTOR OV OV OV OV OV MAKE A 24 BIT ADDRESS OUT OF THE SS I SP REMAINS USER SP OV AX SS GET THE CURRENT STACK SEGMENT OV OH AH FORM HIGH BYTE OF 24 BIT ADDRESS SHR OH 4 FORM HIGH BYTE SHIFT RIGHT 4 SHL AX 4 STRIP HIGH NIBBLE FROM lAX SS IS NOW IN POSITION FOR A 24 81T ADDRESS SETUP THE 55 ...

Page 341: ...E ERROR CODE INTO STACK AT AHI 724 02B8 3A EO C P AH AL SET THE ZF CY FLAGS WITH RETuRN CODE 125 028A 61 POPA RESTORE THE GENERAL PURPOSE REG I STERS 126 0288 F8 STI TURN I NTERRUP TS ON 721 028C DONE4 PROC FAR 726 02BC CA 0002 RET 2 RETURN WITH FLAGS SET AH CODE 729 02BF DONE4 ENOP ICY O ZF I OK tCY I ZF Ol ERROR 730 131 8LOCK MOVE EXCEPTION INTERRUPT HANDLER 132 733 02BF 73 02BF BO 02 MOV AL 02H...

Page 342: ...R 835 0340 00 08 0 WORD COPY COUNT 836 0341 87 08 TRAP_GATE GATE TYPE ACCESS RIGHTS BYTE 837 0342 0000 OW 0 RESERVED 838 EXCEPT I ON 15 839 0344 02BF R OW EX INT DESTINATION OFFSET 840 0346 0020 OW BIOS_CS DESTINATION SEGMENT SELECTOR 841 0348 00 08 0 WORD COPY COUNT 842 0349 81 08 TRAP_GATE GATE TYPE ACCESS RIGHTS BYTE 84 034 1 0000 OW 0 RESERVED 844 EXCEPT I ON 16 845 034C 02BF R OW EX INT DESTI...

Page 343: ... ACCESS RIGHTS BYTE 915 03AA 0000 DW 0 RESERVED 9 6 EXCEPT I ON 28 917 03AC 028F R DW EX NT DESTINATION OFFSET 9 8 03AE 0020 DW BIOS_CS DEST I NAT I ON 5E MENT SELECTOR 9 9 0380 00 DB 0 WORD COPY COUNT no 0381 87 DB TRAP GATE ATE TYPE ACCESS RIGHTS BYTE n 0382 0000 DW 0 RESERVED 022 EXCEPT J ON 29 923 0384 028F R DW EX NT DESTINATION OFFSET 924 0386 0020 DW B OS CS DEST NAT I ON SEGMENT SELECTOR 9...

Page 344: ... OUTPUT COMMAND TO 8042 CALL EMPty 8042 WA I T FOR 8042 TO ACCEPT COMMAND JNZ GATE A20 RETURN EX I T IF 8042 UNABLE TO ACCEPT COMMAND MOV AL AH 8042 PORT DATA g L iY 8 2 T U 0 0 64 Ai gc gi2PORT DATA 8042 OUTPUT WILL SWITCH WITHIN 20 MICRO SECONDS OF ACCEPTING PORT OATA GATE A20 RETURN POP CX RESTORE USERS CX RET I I EMPTY 8042 THIS ROUTINE WAITS FOR THE 8042 INPUT BUFFER TO EMPTY INPUT NONE OUTPU...

Page 345: ...3 EXECUT I ON WH I LE I N PROTECTED MODE WHEN CONTROL 1014 GETS PASSED TO THE USER S CODE THIS DESCRIPTOR CAN 1075 BE USED BY HIM IN ANY WAY HE CHOOSES 1016 1017 NOTE EACH DESCRIPTOR MUST CONTAIN ALL THE NECESSARY DATA 1018 I E THE LlMIT 8ASE ADDRESS AND THE ACCESS RlGHTS BYTE 1019 1080 AH 89H FUNCTi ON CALL 1081 ESISI LOCATION OF THE GOT TABLE BUILD BY ROUTINE 1082 USING THIS FUNCTION 1083 1084 E...

Page 346: ...XIT 1202 87 1203 0 1204 0408 8IT20 ON 1205 0408 06 PUSH E5 MOVE SEGMENT PO INTER 1206 0409 IF 05 i TO THE OAT A SEGMENT 1207 1208 I 1209 REINITIALIZE THE 8259 INTERRUPT CONTROLLER 1 TO THE USER SPECIFIED OFFSET 1210 1211 1212 040A 80 II OV AL I IH START INITIALIZATION SEQUENCE ICWI 1213 040C E6 20 OUT INTAOO AL EDGE INTERVAL 8 MASTER ICW4 NEEDED 1214 040E E8 00 J P 2 1215 0410 8A Cl OV AL 8H HARDW...

Page 347: ...NABLE PROTECTED MODE LGDT SI GDTPTR j LOAD GLOBAL DESCRIPTOR TABLE REGISTER DB OOFH 170005 LABEL BYTE MaV DX WORO PTR ISI GDTPTR 770006 LA8EL 8YTE ORG OFFSET CS 0005 DB 001H DRG OFFSET CS 110006 LlDT SI IOTPTR INTERRUPT DESCRIPTOR TABLE REGISTER DB OOFH 710007 LABEL BYTE 770008 MOV LABEL BX WORO PTR ISI IDTPTR BYTE ORG OFFSET CS 0001 DB OOIH ORG OFFSET CS 0008 MOV V I RTUAL_ENABLE MACHINE STATUS W...

Page 348: ...RS IN BCD 00 23 OR FFHII 4 CLl MINUTES IN BCD 00 59 lOR FFH I 5 OH SECONDS IN BCD 00 59 lOR FFHJ I 7 IAHI 01H RESET THE ALARM INTERRUPT FUNCTION 8 9 NOTES FOR ALL RETURNS CY 0 FOR SUCCESSFUL OPERAT ION 70 FOR IAHI 2 4 6 CARRY FLAG SET IF REAL TiME CLOCK NOT OPERATING 71 FOR AH 1 6 CARRY FLAG SET I F ALARM ALREADY ENABLED 72 FOR THE ALARM FUNCT I ON AH 6 I THE USER t 4UST SUPPLY A ROUT I NE AND 73 ...

Page 349: ...H NO CARRY SET T I ME COUNT SET TiME COUNT LOW WCRo SET THE T I ME COUNT HIGH WORD RESET OVERFL OW FLAG RETURN WITH NO CARRY GET RTC TIME UPO IPR CHECK FOR UPOATE I N PROCESS RTC 29 EXIT IF ERROR ICY II SET ADDRESS OF SECONDS O M A ECONDS GET SECONDS DH AC SAVE AL CMOS REG 8 ADDRESS ALARM REG I STER CMOS READ READ CURRENT VAL UE OF DSE BIT AL 0000000 I B MASK FOR VALID DSE BIT DL AL SET DLI TO ZER...

Page 350: ... READ READ ALARM REG I STER 258 014B 24 51 AND AL 51H TURN OFF ALARM ENABLE 259 0140 86 EO XCHG AH AL SAVE DATA AND RECOVER ADDRESS 250 014F E8 0000 E CALL CMOS_WR I TE RESTORE NEw VALUE 25 I 0152 F8 CLC SET CY 0 252 0153 C3 RET RETURN WITH NO CARRY 25 264 0154 RTC_OO ENDP 255 255 0154 RTC STA PROC NEAR INITIALIZE REAL TIME CLOCK 251 0154 88 260A MOV AX 26H H CMOS REG A ADDRESS REGISTER A AND LOAD...

Page 351: ... SEGMENT ADDRESSABILITY 338 OIAI 81 2E 009C R 0300 SUB ORTC LOW 0976 I DECREMENT COUNT LOW BY 1024 339 01A7 83 IE 009E R 00 sBB ORTC HIGH O I ADJUST HI CiH WORD FOR LOW WORD BORROW 340 OIAC 73 20 JNC RTC T 5 SKIP TILL 32 91T WORD LESS THAN ZERO 341 342 1 TURN OFF PERIODIC INTERRUPT ENABLE 343 344 01 AE 50 PUSH AX SAVE INTERRUPT FLAG MASK 345 0 I AF 86 6B8B MOV AX X CMOS REG B NMI J I NTERRUPT ENAB...

Page 352: ... AGE RETURN LINE FEED TO PR INTER 43B 439 021E 51 PUSH CX SAVE SCREEN BOUNDS 440 021F B4 03 MOV AH 03H NOW READ THE CURRENT CURSOR POSITION 44 0221 CO 10 INT 10H AND RESTORE AT END OF ROUTINE 442 0223 59 POP CX i RECALL SCREEN BOUNDS 443 0224 52 PUSH OX PRESERVE THE ORIGINAL POSITION 444 0225 33 02 XOR DX DX INITIAL CURSOR 0 0 AND F RST PRINTER 445 44 I TH I SLOOP 15 TO READ EACH CURSOR POsl T I O...

Page 353: ...RRUPT S BACK ON 532 0283 IE PUSH OS 533 0284 50 PUSH AX 534 0285 52 PUSH OX SAVE MACHINE STATE 535 0286 E8 0000 E CALL DDS ESTABLISH ADDRESSABILITY 536 0289 FF 06 006C R INC II TI MER LOW INCREMENT T I ME T4 537 0280 75 04 JNl GO TO TEST DAY 538 028F FF 06 006E R INC tTl MER_HIGH INCREMENT HIGH WORD OF T ME 539 0293 T4 TEST DAY 540 0293 83 3E 006E R 18 C P 4 TIMER HIGH OIBH TEST FOR COUNT EQUALING...

Page 354: ...101 06 10 65 06 10 85 COMPATIBILITY MODULE BYTE PUBL I C AI CDNF TBL CRT CHAR GEN 01 02 02 DISK BASE DUMMY RETURN EIOI EI02 EI03 EI04 EI05 EI06 EI07 EI06 EI09 EI61 EI62 E163 EI64 E201 E202 E203 E301 E302 E303 E304 E401 E50 I E60 I E602 F 1780 FIHII FI782 F 1790 FI791 F3 F3D F3DI FD TBL FLOPPY HRD KIO KII KI2 K 13 K 14 KI5 K6 K6L Kl K8 K9 4 5 6 NMI INT PR I NT SCREEN P 0 R SEEKS I SLAVE VECTOR TABL...

Page 355: ...161 19 13 14656020 168 42 6F 61 726420 169 45 72 72 6F 72 00 170 OA 171 OOoB 20 31 30 36 20 53 EI06 DB 106 System Board Error CR LF CONVERTI NG LOG I C TEST 172 79 73 74 65 60 20 173 42 6F 61 726420 174 45 72 72 6F 72 00 175 OA 176 00F4 20 31 30 37 20 53 EI07 DB 107 System Board Error CR LF HOT NM I TEST 177 79 73 74656020 176 42 6F 61 726420 179 45 72 72 6F 72 00 160 OA 161 0 I 00 20 31 30 36 20 ...

Page 356: ...20 45 267 72 72 6F 12 00 OA 268 030E 20 34 30 31 20 43 E401 DB 40 I CRT Er o CR LF MONOCHROME 269 52 54 20 45 72 72 210 6F 72 00 OA 271 031E 20 35 30 31 2043 E50 I DB 50l CRT Error CR LF COLOR 212 52 54 20 45 72 72 213 6F 72 00 OA 274 032E 20 36 30 31 20 44 E60 I DB 601 Dl5kette El l or CR LF DISKETTE ERROR 215 69 73 6B 65 74 74 216 65 20 45 72 72 6F 277 12 00 OA 278 DISKETTE 800T RECORD I S NOT V...

Page 357: ...RE COMPENSATION CYLINDER 361 0418 00 DB 0 36 0419 00 08 0 CONTROL BYTE 369 041A 00 00 00 08 0 0 0 310 0410 0267 OW 06150 LAND I NG ZONE 311 04JF II 08 110 SECTORS TRACK 312 0420 00 DB 0 313 31 OR 1VE TYPE 03 315 316 0421 0267 OW 06150 CYL I NDERS 311 0423 06 08 060 HEADS 31 0424 0000 OW 0 319 0426 o12C OW 03000 WRITE PRE COMPENSATION CYLII I ER 3 0 0428 00 08 0 3 0429 00 08 0 CONTROL BYTE 3 2 042A...

Page 358: ...4EF 00 04FO 00 OW 02560 WR I TE PRE COMPENSAT I ON CYL I NDER DB 0 DB 0 DB 0 0 0 OW 05110 LAND NG ZONE DB 170 SECTORS TRACK DB 0 DR I VE TYPE 08 OW 01330 CYL I NDERS DB 050 HEADS OW 0 OW OFFFFH NO WR I TE PRE COMPENSA T I ON DB 0 DB 0 CONTROL 8YTE DB 0 0 0 OW 07330 LANDING ZONE DB 170 SECTORS TRACK DB 0 OR IVE TYPE 09 OW 09000 CYL I NDERS DB 150 HEADS OW 0 OW OFFFFH NO WRITE PRE COMPENSATION DB 0 ...

Page 359: ...R I VE TYPE 20 596 597 0531 0200 Ow 07330 CYL NDERS 598 0533 05 08 050 HEADS 599 0534 0000 ow 0 600 0536 a 12C ow 03000 WRITE PRE COMPENSATION CYL 601 0538 00 08 0 602 0539 00 DB 0 CONTROL BYTE 603 053A 00 00 08 0 0 0 604 0530 02DC ow 07320 LAND NG ZONE 605 606 053F 0540 00 08 08 170 0 SECTORS TRACK 607 608 DRIVE TYPE 21 609 610 0541 ow 01330 CYLINDERS 6 0543 07 08 070 HEADS 612 0544 0000 ow 0 613...

Page 360: ...RACK 710 OSCO 00 DB 0 711 712 DR I VE TYPE 29 RESERVED 713 4 05CI 0000 OW 00000 CYL J NDERS 5 OSC3 00 DB 000 HEADS 05C4 0000 OW 0 7 05C6 0000 OW 00000 WR I TE PRE COh4PENSAT I ON CYL OSCS 00 DB 0 OSC9 00 DB 0 CONTROL BYTE 720 05CA 00 00 00 DB 0 0 a 721 osce 0000 OW 00000 LAND JNG ZONE 722 05CF 00 DB 000 SECTORS I TRACK 723 0500 00 DB 0 72 725 DR I VE TYPE 30 RESERVED 726 727 0501 OOO OW 00000 CYLI...

Page 361: ...4A 00 00 00 08 O 0 0 625 064D 0000 OW 00000 LAND I NG ZONE 826 064F 00 08 ODD SECTORS TRACK 627 0650 00 08 0 626 629 DR I VE TYPE 38 RESERVED 630 631 0651 0000 OW 00000 CYLINDERS 632 0653 00 08 ODD HEAOS 633 0654 0000 OW 0 634 0656 0000 OW 00000 WRITE PRE COMPENSATION CYL 835 0658 00 08 0 836 0659 00 DB 0 CONTROL BYTE 837 065A 00 00 DB 0 0 0 636 0650 0000 OW 00000 LAND I NG ZONE 639 065F 00 840 06...

Page 362: ...TION CYL 93 0608 00 DB 0 0 0609 00 DB 0 CONTROL BYTE 060A 00 00 00 DB 0 0 0 2 0600 0000 D 00000 LAND I NG ZONE 3 060F 00 DB 000 SECTORS TRACK 06EO 00 DB 0 5 DRIVE TYPE 47 RESERVED 7 06EI 0000 D 00000 CYL ENDERS 06E3 00 DB 000 HEADS 50 06E4 0000 D 0 06E6 0000 D 00000 WRITE PRE COMPENSATION CYL 2 06E8 00 DB 0 3 06E9 00 DB 0 CONTROL BYTE 06EA 00 00 00 DB 0 0 0 55 06ED 0000 D 00000 LANDING ZONE 06EF 0...

Page 363: ...95B SA 5B 5C 50 1019 10eO 1081 095F 66 69 6 1 68 6C 1082096460 6E 6F 10 11 1083 1084 1085 1086 0969 31 38 39 20 34 35 1081 36 2B 31 32 33 30 1088 2E 1089 1090 109 0916 47 48 49 FF 4B FF 1092 091C 40 FF 4F 50 5 52 1093 53 1094 1095 1096 1091 1098 0981 1099 0987 1100 0981 E9 0000 E DRG 00139H RS232 10 EQU I JMP RS232_10_ VECTOR ON TO MOVED RS232 CODE KEYBOARD ORCi OE8ZEH DRG 0082EH KEYBOARD 10 EQU I...

Page 364: ...PE NEAR 158 EXTRN SET CPOS NEAR 159 EXTRN READ CURSOR NEAR EXTRN READ LPEN NEAR 1161 EXTRN ACT 01 SP PAGE NEAR 1162 0 EXTRN SCROLL UP NEAR 1163 EXTRN SCROLL OOWN NEAR 1164 EXTRN READ AC CURRENT NEAR 1165 EXTRN WR I TE AC CURRENT NEAR 1166 EXTRN WR I TE C CURRENT NEAR I 161 EXTRN SET COU5R NEAR I 166 EXTRN WRITE DOTINEAR 1169 EXTRN READ DOT NEAR 1110 EXTRN WRITE TTY NEAR 1171 EXTRN VIDEO STATE NEAR...

Page 365: ...LLET NEG 1280 FF FF 1Z81 1AB6 00 3C 66 4 2 42 66 08 OOOH 03CH 066H 042H 042H 066H 03CH OOOH 0_09 CIRCLE 1282 3C 00 1283 I ABE FF C3 99 80 BO 99 08 OFFH OC3H 099H OBOH OBDH 099H OC3H OFFH I O_OA CIRCLE NEG 1284 C3 FF 1Z85 IAC6 OF OT OF 10 CC CC 08 OOFH 007H OOFH 07DH OCC i OCCH OCCH 07SH I D_OB MALE 1Z66 CC 18 1287 lACE 3C 66 66 66 3C 18 08 03CH Ol l6H 066H 066H 03CH O 8H 01EH 0 ISH D_OC FEMALE 128...

Page 366: ...CH 0 18H 010H OOOH D 39 9 1381 10 00 1382 lC3E 00 30 30 00 00 30 DB 00 OH 030H 030H OOOH OOOH 030H I 030H OOOH D 3A COLON 1383 30 00 1384 tC46 00 30 30 00 00 30 DB OOOH 030H 030H OOOH OOOH 030H 030H 060H 0 3B SEMI COLON 1385 30 bO 1386 IC4E 18 30 bO eo 0 30 DB o 18H 030H 060H OCOH 060H 030H 0 I 8H OOOH 0 3e LESS THAN 1387 18 00 1388 IC56 00 00 Fe 00 00 Fe DB OOOH OOOH OFCH eOOH OOOH OFCH OOOH OOOH...

Page 367: ...85 IDCE 10 30 08 07 OH 030H 0 30H 030H 030H 0 030H 078H OOOH D_6C I 1486 00 30 1487 IDOl 00 00 CC FE FE 06 DB OOOH OOOH OCCH OFEH OFEH OD6H oe6H OOOH 0_60 m 1488 C6 00 1489 lODE 00 00 F8 ee CC CC DB OOOH OOOH OF8H OCCH OCCH OCCH oceH OOOH 0 6E 0 00 1490 CC 00 1491 IDE6 00 00 18 CC CC CC 08 OOOH OOOH 018H OCCH OCCH OCCH 078H OOOH O_oF 1492 1493 1494 IDEE 00 00 08 OOOH 00 OH OOCH 066H 066H 0 7CH 060...

Page 368: ...RETURN INT IBH KEYBOARD BREAK ADDRESS 1569 IFIB IF53 R ow OFFSET DUMMY RETURN INT ICH Tlt 4ER BREAK ADDRESS 1570 IFID IOA4 R DW OFFSET V I DEO PARMS INT IDH VIDEO PARAt 4ETERS 1571 IF IF OFC7 R DW OFFSET 0 I SK BASE INT IEH DISKETTE PARAt 4ETERS 1512 IF21 0000 DW OOOOOH tNT IFH POINTER TO VID O EXTENSION 1513 1514 IF23 SLAVE_VECTOR_TABLE LABEL WORD INTERRUPT 70H THRU lFH 1575 1576 IF23 0000 E DW O...

Page 369: ...sfer 6 3 Arithmetic 6 6 Logic 6 9 String Manipulation 6 11 Control Transfer 6 13 Processor Control 6 17 Protection Control 6 18 80287 Coprocessor Instruction Set 6 22 Data Transfer 6 22 Comparison 6 23 Constants 6 24 Arithmetic 6 25 Transcendental 6 26 Instruction Set 6 1 ...

Page 370: ...Notes 6 2 Instruction Set ...

Page 371: ...emory 1100011w mod 000 r w data data if w 1 Immediate to Register 1011wreg data data if w 1 Memory to Accumulator 1010000w addr low addr high Accumulator to Memory 1010001w addr low addr high Register Memory to Segment Register 10001110 modOreg r w reg 01 Segment Register to Register Memory 10001100 modOreg r w PUSH Push Memory 11111111 mod 110 r w Instruction Set 6 3 ...

Page 372: ...ta data if s 0 PUSHA Push AIl 01100000 POP POp Memory 10001111 modOOO rim Register I 01011reg Segment Register OOOreg111 reg 01 POPA Pop AIl 01100001 XCHG Exchange Register Memory with Register 1000011w mod reg rim Register with Accumulator 10010reg 6 4 Instruction Set ...

Page 373: ...t Variable Port 1110111w XLAT Translate Byte to AL 11010111 LEA Load EA to Register 10001101 I mod reg rIm LDS Load Pointer to DS 11000101 I mod reg rIm mod 11 LES Load Pointer to ES 11000100 I mod reg rIm mod 11 LAHF Load AH with Flags I 10011111 SAHF Store AH with Flags 10011110 Instniction Set 6 5 ...

Page 374: ...mory 100000sw modOOO rim data data if sw 01 Immediate to Accumulator 0000010w data data if w ADC Add with Carry Register Memory with Register to Either 000100dw mod reg rim Immediate to Register Memory 100000sw modOOO rim data data if sw 01 Immediate to Accumulator 0001010w data data if w INC Increment Register Memory l111111w modOOO rim 6 6 Instruction Set ...

Page 375: ...ulator OOlOllOw data data if w SBB Subtract with Borrow Register Memory with Register to Either OOOllOdw mod reg rim Immediate to Register Memory 100000sw modOll rim data data if sw 01 Immediate to Accumulator OOOlllOw data data if w DEC Decrement Register Memory lllllllw modOOl rim Register OlOOlreg CMP Compare Register Memory with Register OOlllOlw mod reg rim Instruction Set 6 7 ...

Page 376: ...lator 0001 I law data data if w I NEG Change Sign I lll101lw I modOll rim AAA ASCII Adjust for Add I 00 110111 DEC Decimal Adjust for Add I 00100111 AAS ASCII Adjust for Subtract 00111111 DAS Decimal Adjust for Subtract 00110111 MUL Multiply Unsigned I 11l101lw I modlOO rim IMUL Integer Mtiltiply Signed I 1111011w I modl0l rim 6 8 Instruction Set ...

Page 377: ...de Signed 1111011w I mod111 rim AAM ASCII Adjust for Multiply I 11010100 I 00001010 AAD ASCII Adjust for Divide 11010101 I 00001010 CBW Convert Byte to Word 10011000 CWD Convert Word to Double Word 10011001 Logic Shift Rotate Instructions RegisterlMemory by 1 1101000w I mod TTT rim RegisterlMemory by CL 1101001w mod TTT rim Instruction Set 6 9 ...

Page 378: ...ediate to Register Memory 1000000w modOOO rIm data data if w Immediate to Accumulator OOIOOIOw data data if w TEST AND Function to Flags No Result Register Memory and Register 10000lOw mod reg rIm Immediate Data and Register Memory 1III011w modOOO rIm data data if w Immediate to Accumulator 00001 lOw data data if w Or Or Register Memory and Register to Either 0000 Odw mod reg rIm 6 10 Instruction ...

Page 379: ...r to Either 00l100dw mod reg rim Immediate to Register Memory 1000000w modll0 rim data data if w 1 Immediate to Accumulator 0010010w data data if w NOT Invert Register Memory 1111011w modOl0 rim String Manipulation MOVS Move Byte Word 1010010w CMPS Compare Byte Word 1010011w SCAS Scan Byte Word 1010111w LODS Load Byte Word to AL AX 101Oll0w Instruction Set 6 11 ...

Page 380: ...E REPZ REPNZ Repeat String Repeat Move String 11110011 1010010w Repeat Compare String z Not z 1111001z 1010011w Repeat Scan String z Not z 1111001z 1010111w Repeat Load String 11110011 1010110w Repeat Store String 11110011 1010101w Repeat Input String 11110011 011011 Ow Repeat Output String 11110011 1010011w 6 12 Instruction Set ...

Page 381: ...lector Indirect Intersegment 11111111 modOll rim mod 11 JMP Unconditional Jump Short Long 11101011 disp low Direct within Segment 11101001 disp low disp high Register Memory Indirect Within Segment 11111111 mod100 rim Direct Intersegment 11101010 Segment Offset Segment Selector Indirect Intersegment 11111111 mod101 rim mod 11 RET Return from Call Within Segment 11000011 Instruction Set 6 13 ...

Page 382: ...ero 01110100 disp JL JNGE Jump on Less Not Greater or Equal 01111100 disp JLE JNG Jump on Less or Equal Not Greater 01111110 disp JB JNAE Jump on Below Not Above or Equal 01110010 disp JBE JNA Jump on Below or Equal Not Above 01110110 disp JP JPE Jump on Parity Parity Even I 01111010 I disp JO Jump on Overflow 01110000 disp JS Jump on Sign 01111000 disp 6 14 Instruction Set ...

Page 383: ...Greater or Equal I disp Jump on Not Less or Equal Greater I d i sp Jump on Not Below Above or Equal I disp Jump on Not Below or Equal Above I disp Jump on Not Parity Parity Odd I disp JNO Jump on Not Overflow I 01110001 I disp JNS Jump on Not Sign I 01111011 disp LOOP Loop ex Times 11100010 I disp LOOPZ LOOPE Loop while Zero Equal 11100001 disp Instruction Set 6 15 ...

Page 384: ...1 I disp ENTER Enter Procedure 11001000 I data low data high LEAVE Leave Procedure 11001001 INT Interrupt Type Specified 11001101 Type Type 3 11001100 INTO Interrupt on Overflow 11001110 IRET Interrupt Return 11001111 BOUND Detect Value Out of Range 01100010 mod reg rim 6 16 Instruction Set ...

Page 385: ...Complement Carry 11110101 STC Set Carry 11111001 CLD Clear Direction 11111100 STD Set Direction 11111101 CLI Clear Interrupt 11111010 STI Set Interrupt 11111011 HLT Halt 11110100 WAIT Wait 10011011 LOCK Bus Lock Prefix 11110000 Instruction Set 6 17 ...

Page 386: ...I modOOO rim LIDT Load Interrupt Descriptor Table Register I 00001111 I 00000001 I modOll rim SIDT Store Interrupt Descriptor Table Register I 00001111 I 00000001 I modOOl rim LLDT Load Local Descriptor Table Register from Register Memory I 00001111 I 00000000 I modOl0 rim SLDT Store Local Descriptor Table Register from Register Memory I 00001111 I 00000000 I modOOO rim LTR Load Task Register from...

Page 387: ...000001 I modl00 rim LAR Load Access Rights from Register Memory I 00001111 I 00000010 I mod reg rim LSL Load Segment Limit from Register Memory I 00001111 I 00000011 I mod reg rim ARPL Adjust Requested Privilege Level from Register Memory I 01100011 I mod reg rim VERR Verify Read Access Register Memory I 00001111 I 00000000 modl00 rim VERR Verify Write Access 00001111 00000000 modl0l rim Instructi...

Page 388: ... disp disp high disp low If rim 000 then EA BX SI DISP If rim 001 then EA BX SI DISP If rim 010 then EA BP SI DISP If rim 011 then EA BP DI DISP If rim 100 then EA SI DISP If rim 101 then EA DI DISP If rim 110 then EA BP DISP If rim 111 then EA BX DISP DISP follows the second byte of the instruction before data if required Note An exception to the above statements occurs when mod OO and r m 110 in...

Page 389: ...L 010 DX 010 DL 011 BX 011 BL 100 SP 100 AH 101 BP 101 CH 110 SI 110 DH 111 DI 111 BH The physical addresses of all operands addressed by the BP register are computed using the SS segment register The physical addresses of the destination operands of the string primitive operations those addressed by the DI register are computed using the ES segment which may not be overridden Instruction Set 6 21...

Page 390: ...ST O escape MF 1 I mod 000 rim Long Integer Memory to ST O escape 111 I mod 101 rim Temporary Real Memory to ST O escape 011 I mod 101 rim BCD Memory to ST O escape 111 I mod 100 rim ST i to ST O escape 001 11000ST i FST Store ST O to Integer Real Memory escape MF 1 I mod 010 rim ST O to ST i escape 101 11010 ST i FSTP Store and Pop ST O to Integer Real Memory escape MF 1 modOllr m 6 22 Instructio...

Page 391: ...d 110 rim sT 0 to ST i escape 101 11011 ST i FXCH Exchange ST i and ST O Iescape 001 I 11001 ST i Comparison FCOM Compare IntegerlReal Memory to ST O escape MF 0 mod 010 rim ST i to ST O escape 000 11010 ST i FCOMP Compare and Pop IntegerlReal Memory to ST O escape MF 0 mod 011 rim ST i to ST O escape 000 11010 ST i Instruction Set 6 23 ...

Page 392: ...1100101 Constants FLDZ Load 0 0 into ST O Iescape 000 I 11101110 FLDI Load 1 0 into ST O Iescape 001 I 11101000 FLDPI Load IT into ST O Iescape 001 I 11101011 FLDL2T Load IOg2 10 into ST O Iescape 001 I 11101001 FLDLG2 Load IOglO 2 into ST O Iescape 001 I 11101100 FLDLN2 Load lo 2 into ST O Iescape 001 I 11101101 6 24 Instruction Set ...

Page 393: ...h escape MF 0 mod lOR rim ST i and ST O escape dPO 1110R rim FMUL Multiplication Integer Real Memory with escape MF 0 mod 001 rim ST i and ST O escape dPO 11001 rim FDIV Division Integer Real Memory with escape MF 0 mod llR rim STeil and ST O escape dPO 1111R rim FSQRT Square Root of ST O I escape 001 11111010 I ST O ST O ST O ST O Instruction Set 6 25 ...

Page 394: ...Components of ST O I escape 001 11110100 FADS Absolute Value of ST O I escape 001 I 11100001 Fcns Change Sign of ST O I escape 001 I 11100000 Transcendental FPTAN Partial Tangent of ST O I escape 001 I 11110010 FPATAN Partial Arctangent of ST O 7 ST 1 I escape 001 I 11110011 F2XM1 2ST O 1 I escape 001 I 11110000 FYL2X ST l X Log2 ST O I escape 001 I 11110001 6 26 Instruction Set ...

Page 395: ...re Control Word I escape 111 I 11100000 FLDCW Load Control Word I escape 001 I mod 101 rim FSTCW Store Control Word I escape 001 I mod 111 rim FSTSW Store Status Word I escape 101 I mod 101 rim FCLEX Clear Exceptions I escape 011 I 11100010 FSTENV Store Environment I escape 001 I mod 110 rim FLDENV Load Environment escape 001 mod 100 rim Instruction Set 6 27 ...

Page 396: ...R Restore State I escape 101 I mod 100 rim FINCSTP Increment Stack Pointer escape 001 11110111 I FDECSTP Decrement Stack Pointer escape 001 I 111100110 FFREE Free ST i escape 101 I 11000sT i FNOP No Operation escape 101 11010000 6 28 Instruction Set ...

Page 397: ...eal 11 16 bit Integer The other abbreviations are as follows Term Definition Bit 0 Bit 0 ST Stack top Stack top i ith register from the top d Destination Dest is ST O Dest is ST i P Pop No pop Pop R Reverse Dest op source Source op dest When d l reverse the sense of R Instruction Set 6 29 ...

Page 398: ...Notes 6 30 Instruction Set ...

Page 399: ...SECTION 7 CHARACTERS KEYSTROKES AND COLORS Contents Character Codes 7 3 Quick Reference 7 14 Characters Keystrokes and Colors 7 1 ...

Page 400: ...Notes 7 2 Characters Keystrokes and Colors ...

Page 401: ... H Black Dark Grey Non Display Backspace Shift Backspace 09 9 etrll Black Light Blue High Intensity 0 Underline OA 10 Gtrl J Black Light Green High Intensity elrl J OB 11 Irl K Light Gyan High Intensity d 9 Black Light High ltensity 00 13 Gtrl M J Black Light High Intensity 1 Shift J Magenta OE 14 etrl N Black Yellow High Intensity OF 15 GtrlO White High Intensity 1 10 16 etrl P Blue Black Normal ...

Page 402: ... Intensity 1F 31 T Gtrl Blue White High Intensity 20 32 Blank Space Space Bar Shift Space Gtrl Space Alt Space Green Black Normal 21 33 Shift Green Blue Underline 22 34 Shift Green Green Normal 23 35 Shift Green Gyan Normal 24 36 Shift Green Red Normal 25 37 Shift Green Magenta Normal 26 38 Shift Green Brown Normal 27 39 Green Light Grey Normal 28 40 Shift Green Dark Grey High Intensity 29 41 Shif...

Page 403: ...yan Light Blue High Intensity Underline 3A 58 Shift Cyan Light Green High Intensity 3B 59 Cyan Light Cyan Hig h Intensity 3C 60 Shift Cyan Light Red High Intensity 3D 61 Cyan Light High Intensity Magenta 3E 62 Shift Cyan Yellow Hig h Intensity 3F 63 Shift Cyan White High Intensity 40 64 Shift Red Black Normal 41 65 A A Note 4 Red Blue Underline 42 66 B B Note 4 Red Green Normal 43 67 C C Note 4 Re...

Page 404: ...55 85 U U Note 4 Magenta Magenta Normal 56 86 V V Note4 Magenta Brown Normal 57 87 W W Note4 Magenta Light Grey Normal 58 88 X X Note 4 Magenta Dark Grey High Intensity 59 89 Y Y Note 4 Magenta Light Blue High Intensity Underline 5A 90 Z Z Note 4 Magenta Light Green High Intensity 5B 91 Magenta Light Cyan High Intensity 5C 92 Magenta Light Red High Intensity 50 93 J Magenta Light High Intensity Ma...

Page 405: ... P P Note 5 Light Grey Black Reverse Video 71 113 q q Note 5 Light Grey Blue Underline 72 114 r r Note 5 Light Grey Green Normal 73 115 s s Note 5 Light Grey Cyan Normal 74 116 t t Note 5 Light Grey Red Normal 75 117 u u Note 5 Light Grey Magenta Normal 76 118 v v Note 5 Light Grey Brown Normal 77 119 w w Note 5 Light Grey Light Grey Normal 78 120 x x Note 5 Light Grey OarkGrey Reverse Video 79 12...

Page 406: ...e 8A 138 e Alt 138 Note 6 Black Light Green High Intensity 8B 139 Alt 139 Note 6 Black Light Cyan High Intensity 8C 140 I Alt 140 Note 6 Black Light Red High Intensity 80 141 I Alt 141 Note 6 Black Light High Intensity Magenta 8E 142 A Alt 142 Note 6 Black Yellow High Intensity 8F 143 A Alt 143 Note 6 Black White High Intensity 90 144 E Alt 144 Note 6 Blue Black Normal 91 145 Ie Alt 145 Note 6 Blu...

Page 407: ...genta Normal A6 166 Alt 166 Note 6 Green Brown Normal A7 167 Alt 167 Note 6 Green Light Grey Normal A8 168 Alt 168 Note 6 Green Dark Grey High Intensity A9 169 Alt 169 Note 6 Green Light Blue High Intensity 2 I Underline AA 170 Alt 170 Note 6 Green Light Green High Intensity AB 171 y Alt 171 Note 6 Green Light Cyan High Intensity AC 172 V Alt 172 Note 6 Green Light Red High Intensity AD 173 i Alt ...

Page 408: ...ensity CO 192 c Alt 192 Note 6 Red Black Normal C1 193 Alt 193 Note 6 Red Blue Underline C2 194 Alt 194 Note 6 Red Green Normal C3 195 Alt 195 Note 6 Red Cyan Normal C4 196 Alt 196 Note 6 Red Red Normal C5 197 Alt 197 Note 6 Red Magenta Normal C6 198 Alt 198 Note 6 Red Brown Normal f C7 199 Alt 199 Note 6 Red Light Grey Normal C8 200 J Alt 200 Note 6 Red Dark Grey High Intensity C9 201 Alt 201 Not...

Page 409: ...As Text Attributes Color Graphics IBM Monitor Adapter Characters Keystrokes and Colors 7 11 ...

Page 410: ...Light Grey Cyan Normal F4 244 Alt 244 Note 6 Light Grey Red Normal r F5 245 J Alt 245 Note 6 Light Grey Magenta Normal F6 246 Alt 246 Note 6 Light Grey Brown Normal F7 247 Alt 247 Note 6 Light Grey Light Grey Normal F8 248 0 Alt 248 Note 6 Light Grey Dark Grey Reverse Video F9 249 Alt 249 Note 6 Light Grey Light Blue High Intensity Underline FA 250 Alt 250 Note 6 Light Grey Light Green High Intens...

Page 411: ...Num Lock mode press the numeric keys in the keypad portion of the keyboard 4 Uppercase alphabetic characters A Z can be typed in two modes the shift mode or the Caps Lock mode 5 Lowercase alphabetic characters a z can be typed in two modes in the normal mode or in Caps Lock and shift mode combined 6 The three digits after the Alt key must be typed from the numeric keypad Character codes 1 255 may ...

Page 412: ...LUE BLANK BLANK 0 0 0 p NULl SPACE P 1 1 g 1 A Q a q 2 2 t II 2 B R b r 3 3 3 C S c s 4 4 4 D T d t 5 5 4t 5 E U e u 6 6 6 F V f v 7 7 1 7 G W g W 8 8 i 8 H X h x 9 9 0 9 I Y 1 Y 10 A J Z J z 11 B j K k 12 C Q L L I I 1 13 D M m 14 E N n rv 15 F 0 0 7 14 Characters Keystrokes and Colors ...

Page 413: ... I OC 1 1 u re 1 f3 2 2 e lE 0 III II r 3 3 A a A 0 u f lL 1T 4 5 4 5 a a 0 0 n N F E u r J 6 7 8 9 10 6 7 8 9 A a A e e e A a H u 0 u In y r 0 I U I r _L r J1 T cI e n 0 11 B 1 8 r 12 13 c D A 1 1 14 L lJ n 00 cp 2 14 E A It g R E I 15 F A J n n BLANK FF Characters Keystrokes and Colors 7 1S ...

Page 414: ...Notes 7 16 Characters Keystrokes and Colors ...

Page 415: ...SECTION 8 COMMUNICATIONS Contents Hardware 8 3 Establishing a Communications Link 8 5 Communications 8 1 ...

Page 416: ...Notes 8 2 Communications ...

Page 417: ...ment using EIA or CCITT standardized connections An external modem is shown in the figure however other types of data communications equipment also can be connected to the data terminal equipment using EIA or CCITT standardized connections EIA standards are labeled RS x recommended standards x and CCITT standards are labeled V x or X x where x is the number of the standard The EIA RS 232 interface...

Page 418: ...l103 0 Received Data 0 BB 104 Request to Send 0 CAl105 Clear to Send 0 CB 106 Data Set Ready CC 107 Data Data Terminal Ready CD 10S 2 Modem Equip Connect Data Set to Line 10S 1 ment Received Line Signal Detector 8 CF 109 Terminal Speed Select CH 111 Transmit Signal Element Timlng DB 114 Receive Signal Element Timing 00 115 Select Standby 116 Ring Indicator DE 125 Test I External Modem Cable Connec...

Page 419: ...e networks Switched Timing Sequence Data Terminal Ready Data Set Ready Request to Send Clear to Send Transmitted Data Nonswitched Timing Sequence Data Terminal Ready Data Set Ready Request to Send CIear to Send Transmitted Data The following examples show how a link is established on a nonswitched point to point line a nonswitched multipoint line and a switched point to point line Communications 8...

Page 420: ...s the modem to turn off the carrier and deactivate the clear to send line a 11 12 13 14 15 16 Terminal A and modem A now become receivers and wait for a response from terminal B indicating that all data has reached terminal B Modem A begins an echo delay 50 to 150 milliseconds to ensure that all echoes on the line have diminished before it begins receiving An echo is a reflection of the transmitte...

Page 421: ... Transmitter Signal l I Dala II r u I Element Timing L y m d a r __ J 1 I I I Modem I II a I _____ II I I I Clock I L ____ J II Transmitted Echo 1 I I 0 I Data III Delay L ____ J II r I II _J r r Request to Send II II I Carrier I Echo II II i U S j LC t JI I III II _ J Transmltte r Signal r I Element Timing II II C I Modem Modem I III I Generate r 1 I II II L_D I _ II Received Line Clear to Send I...

Page 422: ...i After transmitting the EaT station A deactivates the request to send line iii This causes the modem to deactivate the carrier and the clear to send line D the address and send it to their terminals on the received data linea 9 When the modem at the control station host detects the absence of the carrier it deactivates the received line signal detector line II 4 Only station A responds to the add...

Page 423: ...m II I Transmitter Signal I d II Demodula r 1 Received Data I Element Timingl L _ _ _ _ _ _ _ J II 1 I r I U I Modem I I I I I I t Clock I I a I I II IIEI AA II L ____ J I t I Transmitted Data I 0 I t J r iii II II I Carrier 1 I Request to Send I Generate r f i I L _ _ _ _ J 101 fJ II Received Line Signal __ Detector r I I _ _ L r I I f I Receiver J 1 Transmit I 11 I II II Transmitter Signal Recei...

Page 424: ... indicator line III to terminal B 7 Terminal B activates the data terminal ready line to modem B lEI which activates the autoanswer circuits in modem B The data terminal ready line might already be active in some terminals 8 The autoanswer circuits in modem B activate the off hook line to the coupler II 9 The coupler connects modem B to the communications line through the data tip and data ring li...

Page 425: ... I e I I 0 I II II I Y I I u Data Modem II Data Modem I r I r I L_ a I II I d I II II L_J I I Ready DA Ready DAl I I II g I I I u I e 1 r I r L_J I a II II It I R I I I R 1 Ring II I I I II II I a I 10 I e I 1 e 1 Indicate R II II II Transmit Data I r a 1 t I II II I 1 1 Received Data m II II Data Tip DT I a I I t yl i I I UO U r Data II I II II L_ s I _J Data Ring DR I I 1 I Data Ring DR II II II...

Page 426: ...Notes 8 12 Communications ...

Page 427: ...atibility 9 5 Copy Protection 9 5 Bypassing BIOS 9 6 Diskette Drive Controls 9 6 Write Current Control 9 6 Application Guidelines 9 7 High Level Language Considerations 9 7 Assembler Language Programming Considerations 9 8 Multitasking Provisions 9 16 Interfaces 9 16 Classes 9 17 Time Outs 9 19 Machine Sensitive Code 9 19 Compatibility 9 1 ...

Page 428: ...Notes 9 2 Compatibility ...

Page 429: ...u must consider hardware differences among the IBM Personal Computers The following are hardware features of the IBM Personal Computer AT that are not supported by all of the IBM Personal Computer family System Board The IBM Personal Computer AT system board uses an Intel 80286 Microprocessor This microprocessor is compatible with the 80287 Math Coprocessor used in the Personal Computer AT and is ...

Page 430: ...ation Guidelines Some adapters use a 36 pin connector in addition to the 62 pin connector Adapters designed to use the 36 pin connectors are not compatible with all members of the IBM Personal Computer family Refer to the System to Adapter Compatibility Chart in r the Technical Reference Options and Adapters manual Volume 1 to identify the adapters supported by each system The IBM Personal Compute...

Page 431: ...e Type 1 R WF Type 2 R W F R W F Type 3 R W F R W F Slim1ine Diskette Drive R W F R W F Double Sided Diskette R W F R W F Drive High Capacity Diskette R W R W R W F Drive R Read W Wr i te F Format W I fad iskette is formatted in either 160 18oK mode or 320 360K mode and written on by a High Capacity Drive that diskette may be read by only a High Capacity Drive Diskette Drive Compatibility Chart No...

Page 432: ...d Disk Base Copy protection which creates its own disk base will not work on the High Capacity Diskette Drive Diskette Drive Controls Copy protection that uses the following will not work on the High Capacity Diskette Drive Rotational Speed The time between two events on a diskette is controlled by the Fixed Disk and Diskette Drive Adapter Access Time Diskette BIOS routines must set the track to t...

Page 433: ...am uses specific features of the hardware that program may not be compatible with all IBM Personal Computers Specifically the use of assembler language subroutines or hardware specific commands In Out Peek Poke must follow the assembler language rules see Assembler Language Programming Considerations on page 9 8 Any program that requires precise timing information should obtain it through a DOS or...

Page 434: ...y recognized the interrupt is still correctly executed This errata has no effect when interrupts are enabled in either real or virtual address mode This errata has no effect in the virtual address mode when CPL IOPL The POPF instruction may be simulated with the following code macro POPFF Macro use POPFF instead of POPF simulate popping flags using IRET EB 01 JMP 3 jump around IRET CF IRET POP CS ...

Page 435: ... contents of the ex register may be unexpectedly altered under the following conditions Note The value in parenthesis indicates the type of error code pushed onto the exception handler s stack Exception NPO Exception 11 Not present Fault Exception SSO Exception 12 Stack Fault Exception GPO Exception 13 General Protection Fault Exception GP O from attempted access to data segment or extra segment w...

Page 436: ...oaded into the DS or ES registers via a MOV or POP instruction or a task switch the 80286 always loads the null selector OOOOH into the corresponding register If a coprocessor 80287 operand is read from an executable and readable and conforming ERC code segment and the coprocessor operand is sufficiently near the segment s limit that the second or subsequent byte lies outside the limit no protecti...

Page 437: ...The ROM routine clears the busy signal latch and then transfers control to the address pointed to by the NMI interrupt vector This allows code written for any IBM Personal Computer to work on an IBM Personal Computer AT The NMI interrupt handler should read the coprocessor s status to determine if the NMI was caused by the coprocessor If the interrupt was not generated by the coprocessor control s...

Page 438: ...t is strongly recommended that the values supplied in ROM be used If it becomes necessary to modify any of the parameters build another parameter block and modify the address in Disk_Pointer to point to the new block The parameters were established to operate both the High Capacity Diskette Drive and the Double Sided Diskette Drive Three of the parameters in this table are under control of BIOS in...

Page 439: ...uble sided diskettes If a successful read occurs a high capacity diskette is in the drive 3 If Step 1 fails issue the reset function AH O to diskette BIOS and retry If a successful read cannot be done the media needs to be formatted or is defective ROM BIOS and DOS do not provide for all functions The following are the allowable I O operations with which IBM will maintain compatibility in future s...

Page 440: ...olor Graphics Monitor adapter will be retained on any future adapter that supports that mode If the bit map is modified a different mode number will be used ROM BIOS Data Area hex 40 0 Any variables in this area will retain their current definition whenever it is reasonable to do so IBM may use these data areas for other purposes when the variable no longer has meaning in the system In general ROM...

Page 441: ...fied and contiguous with the load module A program should not assume that all of memory is available to it There are several 80286 instructions that when executed lock out external bus signals DMA requests are not honored during the execution of these instructions Consecutive instructions of this type prevent DMA activity from the start of the first instruction to the end of the last instruction T...

Page 442: ...of access to the device driver The BIOS code is not reentrant The program is responsible for matching corresponding wait and post calls Interfaces There are four interfaces to be used by the multitasking dispatcher Startup First the startup code hooks interrupt hex 15 The dispatcher is responsible to check for function codes of AH hex 90 or 91 The Wait and Post sections describe these codes The di...

Page 443: ...et time out occurred NORMAL TIMEOUT LOGIC normal time out Post Interrupt Whenever the BIOS has set an interrupt flag for a corresponding busy loop an interrupt 15 occurs with a function code of hex 91 in AH This signals a post condition At this point the dispatcher should set the task status to ready to run and return to the interrupt routine The following is an outline of the code added to BIOS t...

Page 444: ...ialize access 80H OBFH Reentrant devices ES BX is used to distinguish different calls multiple 1 0 calls are allowed simultaneously OCOH OFH Wait only calls there is no complementary POST for these waits these are time out only Times are function number dependent Function Code Assignments The following are specific assignments for the IBM Personal Computer AT BIOS Times are approximate They are gr...

Page 445: ...rry bit set if a time out occurrs Machine Sensitive Code Programs may select machine specific features but they must test for specific machine type Location of the specific machine identification codes can be found through interrupt 15 function code AH See I Configuration Parameters I in BIOS Listing The code is two bytes The first byte shows the machine type and the second byte shows the series t...

Page 446: ...Notes 9 20 Compatability ...

Page 447: ...y be purchased from the American National Standards Institute 1430 Broadway New York New York 10018 JL Prefix micro 0 000001 JLS Microsecond 0 000001 second A Ampere ac Alternating current accumulator A register in which the result of an operation is formed active high Designates a signal that has to go high to produce an effect Synonymous with positive true active low Designates a signal that has...

Page 448: ... A current that periodically reverses its American National Standard Code for Information Interchange ASCII The standard code using a coded character set consisting of 7 bit coded characters 8 bits including parity check used for information exchange between data processing systems data communication systems and associated equipment The ASCII set consists of control characters and graphic characte...

Page 449: ...ns asynchronous transmission 1 Transmission in which the time of occurrence of the start of each character or block of characters is arbitrary once started the time of occurrence of each signal representing a bit within a character or block has the same relationship to significant instants of a fixed time frame 2 Transmission in which each information character is individually transmitted usually ...

Page 450: ...on of the unit interval is 20 milliseconds the modulation rate is 50 baud BCC Block check character beginner s aU purpose symbolic instruction code BASIC A programming language with a small repertoire of commands and a simple syntax primarily designed for numeric applications binary 1 Pertaining to a selection choice or condition that has two possible values or states 2 Pertaining to a fixed radix...

Page 451: ...result take one of two valu 2 An operation that follows the rules of boolean algebra bootstrap A technique or device designed to bring itself into a desired state by means of its own action for example a machine routine whose first few instructions are sufficient to bring the rest of itself into the computer from an input device bps Bits per second BSC Binary synchronous communications buffer 1 An...

Page 452: ...tative Committee Celsius C A temperature scale Contrast with Fahrenheit F central processing unit CPU Term for processing unit channel A path along which signals can be sent for example data channel output channel character generator 1 In computer graphics a functional unit that converts the coded representation of a graphic character into the shape of the character for display 2 In word processin...

Page 453: ...3 To represent data or a computer program in a symbolic form that can be accepted by a data processor 4 Loosely one or more computer programs or part of a computer program coding scheme Synonym for code collector An element in a transistor toward which current flows color cone An arrangement of the visible colors on the surface of a double ended cone where lightness varies along the axis of the co...

Page 454: ...tions suitable for processing by a computer computer word A word stored in one computer location and capable of being treated as a unit r configuration 1 The arrangement of a computer system or network as defined by the nature number and the chief characteristics of its functional units More specifically the term configuration may refer to a hardware configuration or a software configuration 2 The...

Page 455: ...t on the screen of a display device usually indicating where the next character is to be entered replaced or deleted cyclic redundancy check CRC 1 A redundancy check in which the check key is generated by a cyclic algorithm 2 A system of error checking performed at both the sending and receiving station after a block check character has been accumulated cylinder 1 The set of all tracks with the sa...

Page 456: ...unce of switches to obtain one smooth change of signal level 2 The elimination of undesired signal variations r caused by mechanically generated signals from contacts decibel 1 A unit that expresses the ratio of two power levels on a logarithmic scale 2 A unit for measuring relative power decoupling capacitor A capacitor that provides a low impedance path to ground to prevent common coupling betwe...

Page 457: ...intervention disable To stop the operation of a circuit or device disabled Pertaining to a state of a processing unit that prevents the occurrence of certain types of interruptions Synonymous with masked disk Loosely a magnetic disk diskette A thin flexible magnetic disk and a semirigid protective jacket in which the disk is permanently enclosed Synonymous with flexible disk diskette drive A devic...

Page 458: ...a display surface available for a display image The display space may be all or part of a display surface display surface In computer graphics that medium on which display images may appear for example the entire screen of a cathode ray tube DMA Direct memory access dot matrix 1 In computer graphics a two dimensional pattern of dots used for constructing a display image This type of matrix can be ...

Page 459: ...le is expressed as a decimal or percentage dynamic memory RAM using transistors and capacitors as the memory elements This memory requires a refresh recharge cycle every few milliseconds Contrast with static memory EBCDIC Extended binary coded decimal interchange code ECC Error checking and correction edge connector A terminal block with a number of contacts attached to the edge of a printed circu...

Page 460: ... a transmission block of data when data is divided into such blocks for transmission purposes EOB End of block EOF End of file EOT End of transmission EPROM Erasable programmable read only memory erasable programmable read only memory EPROM A PROM in which the user can erase old information and enter new information error checking and correction ECC The detection and correction of all single bit e...

Page 461: ...ommunications Commission fetch To locate and load a quantity of data from storage FF The form feed character field 1 In a record a specified area used for a particular category of data 2 In a data base the smallest unit of data that can be referred to field programmable logic sequencer FPLS An integrated circuit containing a programmable read only memory that responds to external inputs and feedba...

Page 462: ...s are executed 2 On a color display screen the characters as opposed to the background form feed 1 Paper movement used to bring an assigned part of a form to the printing position 2 In word processing a function that advances the typing position to the same character position on a predetermined line of the next form or page form feed character A control character that causes the print or display p...

Page 463: ...t of registers that can be used for different purposes for example as an accumulator as an index register or as a special handler of data giga G Prefix 1 000 000 000 gram g A unit of weight equivalent to 0 035 ounces graphic A symbol produced by a process such as handwriting drawing or printing graphic character A character other than a control character that is normally represented by a graphic h...

Page 464: ...hics emphasizing a given display group by changing its attributes relative to other display groups in the same display field high order position The leftmost position in a string of characters See also most significant digit hither plane In computer graphics a plane that is perpendicular to the line joining the viewing reference point and the view point and that lies between these two points Any p...

Page 465: ... certain types of interruptions are not allowed to occur 2 Pertaining to the state in which a transmission control unit or an audio response unit cannot accept incoming calls on a line initialize To set counters switches addresses or contents of storage to 0 or other starting values at the beginning of or at prescribed points in the operation of a computer routine input output I O 1 Pertaining to ...

Page 466: ...ss and performed in such a way that the process can be resumed 2 In a data transmission to take an action at a receiving station that causes the transmitting station to terminate a transmission 3 Synonymous with interruption I O Input output I O area Synonym for buffer irrecoverable error An error that makes recovery impossible without the use of recovery techniques external to the computer progra...

Page 467: ...oad In programming to enter data into storage or working registers look up table LUT 1 A technique for mapping one set of values into a larger set of values 2 In computer graphics a table that assigns a color value red green blue intensities to a color index low power Schottky TIL A version LS series of TTL giving a good compromise between low power and high speed See also transistor transistor lo...

Page 468: ...netic recording 2 See also diskette main storage 1 Program addressable storage from which instructions and other data can be loaded directly into registers for subsequent execution or processing 2 Contrast with auxiliary storage mark A symbol or symbols that indicate the beginning or the end of a field of a word of an item of data or of a set of data such as a file a record or a block mask 1 A pat...

Page 469: ...orage meter m A unit of length equivalent to 39 37 inches MFM Modified frequency modulation MHz Megahertz 1 000 000 hertz micro JL Prefix 0 000 001 microcode 1 One or more microinstructions 2 A code representing the instructions of an instruction set implemented in a part of storage that is not program addressable microinstruction 1 An instruction of microcode 2 A basic or elementary machine instr...

Page 470: ...verse function is also performed by the modem on reception of analog signals modified frequency modulation MFM The process of varying the amplitude and frequency of the write signal MFM pertains to the number of bytes of storage that can be stored on the recording media The number of bytes is twice the number contained in the same unit area of recording media at single density modulation The proce...

Page 471: ...de ray tube display CRT display most significant digit The leftmost non zero digit See also high order position ms Millisecond 0 001 second multiplexer A device capable of interleaving the events of two or more activities or capable of distributing the events of an interleaved sequence to the respective activities multiprogramming 1 Pertaining to the concurrent execution of two or more computer pr...

Page 472: ...e property that if P is a statement Q is a statement R is a statement then the NOR of P Q R is true if all statements are false false if at least one statement is true NOR gate A gate in which the output is 0 only if at least one input is 1 NOT A logical operator having the property that if P is a statement then the NOT of P is true if P is false false if P is true NRZI Non retum to zero change on...

Page 473: ...llector to the voltage supply is made through an external pull up resistor operand 1 An entity to which an operation is applied 2 That which is operated upon An operand is usually identified by an address part of an instruction operating system Software that controls the execution of programs an operating system may provide services such as resource allocation scheduling input output control and d...

Page 474: ...ltaneous operation of two or more devices or to the concurrent performance of two or more activities 2 Pertaining to the concurrent or simultaneous occurrence of two or more related r activities in multiple devices or channels 3 Pertaining to the simultaneity of two or more processes 4 Pertaining to the simultaneous processing of the individual parts of a whole such as the bits of a character and ...

Page 475: ...y or exit positive true Synonym for active high positive going edge The edge of a pulse or signal changing in a positive direction Synonymous with rising edge potentiometer A variable resistor with three terminals one at each end and one on a slider wiper power supply A device that produces the power needed to operate electronic equipment printed circuit A pattern of conductors corresponding to th...

Page 476: ...er programming language 1 An artificial language established for expressing computer programs 2 A set of characters and rules with meanings assigned prior to their use for writing computer programs programming system One or more programming languages and r the necessary software for using these languages with particular automatic data processing equipment PROM Programmable read only memory propaga...

Page 477: ...ntation system in which the ratio of the weight of anyone digit place to the weight of the digit place with the next lower weight is a positive integer the radix The permissible values of the character in any digit place range from 0 to one less than the radix 1 RAM Random access memory Read write memory random access memory RAM Read write memory RAS In the mM Personal Computer row address strobe ...

Page 478: ...d retry To resend the current block of data from the last EOB or ETB a prescribed number of times or until it is entered correctly or accepted reverse video A form of highlighting a character field or cursor by reversing the color of the character field or cursor with its background for example changing a red character on a black background to a black character on a red background RF Radio frequen...

Page 479: ...r graphics enlarging or reducing all or part of a display image by multiplying the coordinates of the image by a constant value schematic The representation usually in a drawing or diagram form of a logical or physical structure Schottky TTL A version S series of TTL with faster switching speed but requiring more power See also transistor transistor logic and low power Schottky TTL SDLC Synchronou...

Page 480: ...the arrangement of interconnections between the units and the adjustments needed for the computer to operate 2 The preparation of a computing system to perform a job or job step Setup is usually performed by an operator and often involves performing routine functions such as mounting tape reels 3 The preparation of the system for normal operation short circuit A low resistance path through which c...

Page 481: ...prepares the receiving mechanism for the reception and registration of a character and is followed by at least one stop bit that enables the receiving mechanism to come to an idle condition pending the reception of the next character static memory RAM using flip flops as the memory elements Data is retained as long as power is applied to the flip flops Contrast with dynamic memory stop bit 1 A sig...

Page 482: ... groups of characters independent of their meanings or the manner of their interpretation and use 2 The structure of expressions in a language 3 The rules governing the structure of a language 4 The relationships among symbols text In ASCII and data communication a sequence of characters treated as an entity if preceded and terminated by one STX and one ETX transmission control character respectiv...

Page 483: ...rt stop devices a transmission is terminated by an EOT character 5 Synonymous with data transmission TTL Transistor transistor logic typematic key A keyboard key that repeats its function when I held pressed v Volt vector In computer graphics a directed line segment video Computer data or graphics displayed on a cathode ray tube monitor or display view point In computer graphics the origin from wh...

Page 484: ...of electric power window 1 A predefined part of the virtual space 2 The visible area of a viewplane word 1 A character string or a bit string considered as an entity 2 See computer word write To make a permanent or transient recording of data in a storage device or on a data medium write precompensation The varying of the timing of the head current from the outer tracks to the inner tracks of the ...

Page 485: ...ation 121960 001 iAPX 286 Programmer s Reference Manual INTEL Corporation 210498 001 iAPX 286 Hardware Reference Manual INTEL Corporation 210760 001 Numeric Processor Extension Data Sheet INTEL Corporation 210920 80287 Support Library Reference Manual INTEL Corporation 122129 National Semiconductor Corporation NS16450 Motorola Microprocessor s Data Manual Motorola Inc Series B Bihliograpby l ...

Page 486: ...Notes Bibllography 2 ...

Page 487: ...ctions 6 6 6 25 ARPL 6 19 ASCII characters 7 3 ASCII extended 5 14 B BALE 1 32 bandwidth 1 7 BASIC 9 7 basic assurance test 4 5 BASIC interrupts 5 6 BAT 4 5 battery connector 1 72 BHE 1 9 BIOS quick reference 5 24 BIOS fixed disk parameters 1 63 BIOS memory map 5 10 BIOS programming hints 5 10 block diagram keyboard interface 1 49 system xiv system board 1 6 system timer 1 22 board system 1 3 BOUN...

Page 488: ...9 machine sensitive 9 19 Index 2 codes character 5 14 extended 5 18 multitasking function 9 18 color burst signal 1 41 command codes DMA controller 1 11 commands I O 9 11 keyboard 4 9 keyboard controller 1 51 keyboard system 4 5 commands from the system commands to the system comparison instructions 6 23 compatibility hardware 9 3 condition wait 9 17 configuration record 1 56 configuration CMOS RA...

Page 489: ...fault segment workspace 5 9 description descriptors 1 5 device driver code 9 16 diagnostic checkpoint port 1 39 direct memory access 1 9 disk pointer 9 12 disk base 9 6 9 12 diskette change signal 9 6 diskette data transfer rate 9 6 diskette rotational speed 9 6 diskette track density 9 6 diskette write current 9 7 DIV 6 9 divide error exception 9 9 DMA address generation 1 9 DMA channels 1 7 1 9 ...

Page 490: ...H 6 23 FXTRACT 6 26 G game control 9 14 gap length parameter 9 12 generator refresh request 1 22 German keyboard 4 17 graphics modes 5 8 guidelines application 9 7 H hard code 5 10 hardware compatibility 9 3 hardware interrupts 5 6 HLT 6 17 hooks 9 16 I I O address map 1 37 I O address space 1 24 I O CH CK 1 32 1 40 I O CH RDY 1 33 1 0 channel 1 24 connectors 1 25 pin assignments 1 28 signals 1 31...

Page 491: ... interfaces multitasking 9 16 interrupt controller 1 12 interrupt mask register 9 14 interrupt service routine 1 33 interrupt sharing 1 14 interrupt vectors 9 14 interrupt single step 9 8 interrupts BASIC 5 6 DOS 5 6 hardware 5 6 program 5 3 program interrupt listing real mode 5 5 sharing 1 14 system 1 12 interrupts program real mode 5 5 INTO 6 16 lOR 1 33 lOW 1 33 lRET 6 16 IRQ 2 9 11 IRQ 9 9 4 9...

Page 492: ... 11 routine 5 23 specifications 4 22 system commands 4 5 keyboard layouts keyboard scan code outputs keyboard French 4 16 keyboard German 4 17 Index 6 keyboard Italian 4 18 keyboard Spanish 4 19 keyboard UK English 4 20 keyboard U S English 4 21 keys 4 4 alternate 5 20 break 5 21 caps lock 5 20 combinations 5 21 control 5 20 number lock 5 21 pause 5 22 print screen 5 22 scroll lock 5 20 shift 5 19...

Page 493: ... 10 MEMR 1 34 MEMW 1 34 microprocessor 1 4 1 7 microprocessor cycle 1 7 modes graphic 5 8 modules RAM 1 24 modules ROM EPROM 1 23 MOV 6 3 MOVS 6 11 MUL 6 8 multi tasking function codes 9 18 interfaces 9 16 provisions 9 16 serialization 9 16 startup 9 16 multipoint line 8 5 N NEG 6 8 network nonswitched 8 5 network switched 8 5 NMI 1 12 1 38 no load protection 3 5 non maskable interrupt 1 38 nonswi...

Page 494: ...ors 1 71 inputs 3 3 output connectors 3 7 outputs 3 4 power on routine print screen key 5 22 priorities shift key 5 21 processor control instructions 6 17 program interrupts 5 3 program loops 9 14 programming hints BIOS 5 10 programming coprocessor 2 3 protected mode 1 5 5 6 protection control instructions 6 18 protection no load 3 5 provisions multitasking 9 16 PTAN 6 26 PUSH 6 3 PUSH SP 9 8 PUSH...

Page 495: ... codes key 4 11 scan codes ROM 5 13 SCAS 6 11 scroll lock key 5 20 SDO SD15 1 32 segment address 1 4 segments 1 5 sense levels output voltage 3 6 sequencing output voltage 3 4 serialization multitasking 9 16 SETPM 6 27 SGDT 6 18 shift counts 9 9 shift instructions 6 9 shift key 5 19 shift key priorities 5 21 Shift state 5 18 shift states 5 19 SIDT 6 18 signals diskette change 9 6 I O channels 1 31...

Page 496: ... 1 7 system clock signal 9 4 system interrupts 1 12 system performance 1 7 system request key 5 6 5 22 system reset 5 21 system timer block diagram 1 22 system timers 1 22 T T C 1 35 table translation 1 45 tables parameter 9 12 terminal count 1 35 TEST 6 10 test inputs keyboard controller 1 54 time outs 9 19 timer counter 1 22 timer counters 1 22 timers system 1 22 tone generation speaker 1 22 tra...

Page 497: ...it condition 9 17 wait loop classes 9 17 workspace default zero wait state 1 36 segment 5 9 write current diskette 9 7 Numerals X OWS 1 36 2XMl 6 26 XCHG 6 4 80286 1 4 XLAT 6 5 8042 1 42 XOR 6 11 82288 1 32 8237A 5 1 9 8254 2 1 22 8259A Interrupt 1 12 Index II ...

Page 498: ...Notes Index 12 ...

Page 499: ... the information you supply in any way it believes appropriate without incurring any obligation whatever You may of course continue to use the information you supply Please do not use this form for technical questions regarding the IBM Personal Computer or programs for the IBM Personal Computer or for requests for additional publications this only delays the response Instead direct your inquiries ...

Page 500: ...REPLY MAIL FIRST CLASS PERMIT NO 40 ARMONK NEW YORK POSTAGE WILL BE PAID BY ADDRESSEE IBM PERSONAL COMPUTER READER COMMENT DEPARTMENT P O BOX 1328 C BOCA RATON FLORIDA 33429 9960 1 11 11 1 11 1 11 1 1 1 1 1 11 11 1 1 1 aJa4 PIO adlll aldlllS IOU op aSllald adIII ...

Reviews: