background image

Summary of Contents for 5170

Page 1: ......

Page 2: ......

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

Page 4: ...ducts 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 p...

Page 5: ...ified 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 offere...

Page 6: ...Notes iv...

Page 7: ...ne sections four of which describe the hardware aspects of the IBM Personal Computer AT including signal charts and register information Section 5 contains information about the usage of BIOS and a sy...

Page 8: ...erations for the IBM Personal Computer AT Suggested Reading BASIC for the IBM Personal Computer Disk Operating System DOS Hardware Maintenance and Service for the IBM Personal Computer AT MACRO Assemb...

Page 9: ...play Adapter Switch 1 31 Variable Capacitor 1 31 Keyboard Controller 1 31 Real time Clock Complementary Metal Oxide Semiconductor RT CMOS RAM Information 1 45 Specifications 1 55 System Unit 1 55 Conn...

Page 10: ...Keyboard Data Output 4 15 Keyboard Data Input 4 15 Keyboard Layout 4 16 Specifications 4 23 Keyboard Connector 4 23 SECTION 5 SYSTEM BIOS 5 1 System BIOS 5 3 System BIOS Usage 5 3 Keyboard Encoding a...

Page 11: ...Y 9 1 Hardware Considerations 9 3 System Board 9 3 20Mb Fixed Disk Drive 9 4 High Capacity Diskette Drive 9 4 Adapters 9 4 Keyboard 9 4 The IBM Personal Computer AT Does Not Support 9 5 Application Gu...

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: ...Notes xiv...

Page 17: ...PT LEVELS 7 CHANNEL DMA CMOS SYSTEM UNIT SYSTEM BOARD 80287 OSCILLATOR COPROCESSOR ROM SPEAKER CONNECTOR RAM KEYBOARD CONTROLLER REAL TIME BATTERY CLOCK CONNECTOR FIXED DISK DRIVES H H POWER SUPPLY 11...

Page 18: ...Notes xvi...

Page 19: ...Direct Memory Access DMA 1 12 Programming the 16 Bit DMA Channels 1 14 I O Channel 1 15 I O Channel Signal Description 1 22 Other Circuits 1 30 Speaker 1 30 Jumper 1 30 Type of Display Adapter Switch...

Page 20: ...Complementary Metal Oxide Semiconductor RT CMOS RAM Information 1 45 Real time Clock Information 1 45 CMOS RAM Configuration Information 1 48 1 0 Operations 1 54 Specifications 1 55 System Unit 1 55...

Page 21: ...clock Three programmable timers 64Kb read only memory ROM subsystem expandable to 128Kb Either a 256Kb or a 512Kb random access memory RAM Subsystem Speaker attachment Complementary metal oxide semic...

Page 22: ...al Real Address Mode In the real address mode the microprocessor s physical memory is a contiguous array of up to one megabyte The microprocessor addresses memory by generating 20 bit physical address...

Page 23: ...estartable exception As in the real address mode the protected mode uses 32 bit pointers consisting of 16 bit selector and offset components The selector however specifies an index into a memory resid...

Page 24: ...i SLVS LVS 0 r E f DI 0 lie U 2 III C 0 III E G 1 1 1 6 System Board...

Page 25: ...es at 6 MHz 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 percent o...

Page 26: ...sonal Computer AT 128KB 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...

Page 27: ...GATE 2 Controlled by bit 0 of port hex 61 PPI bit CLKIN 2 1 190 MHz OSC CLK OUT 2 Used to drive the speaker The 8254 2 Timer Counter is a programmable interval timer counter that system programs trea...

Page 28: ...110 Address Clock Out 2 AND I Low Pass To Spaakar Hax 0061 Port Bit 1 PCLK Divide D Flltar 2 38MHz by 2 System Interrupts The 80286 Microprocessor NMI and two 8259A Interrupt Controller chips provide...

Page 29: ...rocessor Fixed Disk Controller Reserved Serial Port 2 Serial Port 1 Parallel Port 2 Diskette Controller Parallel Port 1 ROM Subsystem The system board s ROM subsystem consists of two 32K by 8 bit ROM...

Page 30: ...ration 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 Direct Memory Acce...

Page 31: ...on odd byte boundaries The following figure shows the addresses for the page register Page Register I O Hex Address DMA Channel 0 0087 DMA Channel 1 0083 DMA Channel 2 0081 DMA Channel 3 0082 DMA Chan...

Page 32: ...current address aCE CH3 base and current word count 000 Read Status Register Write Command Register 002 Write Request Register 004 Write Single Mask Register Bit 006 Write Mode Register 008 Clear Byte...

Page 33: ...rts I O address space hex 100 to hex 3FF 24 bit memory addresses 16Mb Selection of data accesses either 8 or 16 bit Interrupts DMA channels I O wait state generation Open bus structure allowing multip...

Page 34: ...goCHANNEL ONNECTORS _ _ _ A REAR P ANE L o CJ Dl 1 16 System Board...

Page 35: ...l connectors 11 through J8 Rear Panel 11 r I I Al I I I I I I I I I I I I I I I I 110 I I AID I I I I I I I I I I I I I I I I I I 120 I I A20 I I I I I I I I I I I I I I I I I I I I 131 I I A31 Compon...

Page 36: ...ering for I O channel connectors 112 through 116 and 118 Re r nel r r 01 I I Cl I I I I I I I I I I I I I I I I 010 I I Cl0 I I I I I I I I I I I I I I 01B I I C1B Component Side I O Channel Pin Numbe...

Page 37: ...0 I O CH ROY A 11 AEN A 12 SA19 A13 SA18 A14 SA17 A 15 SA16 A16 SA15 A 17 SA14 A 18 SA13 A19 SA12 A20 SA11 A 21 SA10 A22 SA9 A23 SA8 A24 SA7 A25 SA6 A26 SA5 A27 SA4 A28 SA3 A29 SA2 A30 SA1 A 31 SAO I...

Page 38: ...9 12 Vdc Power 810 GND Ground 811 SMEMW 0 812 SMEMR 0 813 lOW I O 814 815 lOR DACK3 I O 0 816 DR03 I 817 DACK1 0 818 DR01 I 819 Refresh I O 820 ClK 0 821 IRQ7 I 822 IR06 I 823 IR05 I 824 IR04 I 825 IR...

Page 39: ...O I O I O I O I O I O I O I O I O I O I O I O I O I O I O Channel C Side J1 0 through J14 and J16 I O Pin Signal Name 01 MEM CS16 02 I O CS16 03 IRQ10 04 IRQ11 05 IRQ12 06 IRQ15 07 IRQ14 08 OACKO D9...

Page 40: ...t 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 16Mb of addressability These signals a...

Page 41: ...g 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 I Address latch enable I is provided by the 82288 Bus Contr...

Page 42: ...ving the highest 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...

Page 43: ...be driven by any microprocessor or DMA controller in the system I SMEMW is derived from I MEMW I and the decode of the low 1Mb of memory When a microprocessor on the I O channel wishes to drive MEMW...

Page 44: ...d to indicate a refresh cycle and can be driven by a microprocessor on the I O channel T C 0 Terminal Count provides a pulse when the terminal count for any DMA channel is reached SBHE I O Bus High En...

Page 45: ...AL REFERENCE UPDATE Note All previous Technical Reference updates must be installed before installing this update This package contains updates to the IBM Personal Computer AT Technical Reference manu...

Page 46: ...CE UPDATE The following pages update the Technical Reference for the IBM Personal Computer AT Replace or add the update pages as instructed below 1 27 and 1 28 Replace 1 28 1 and 1 28 2 Replace Discar...

Page 47: ...Select signals the system board 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 should be driven with an open collect...

Page 48: ...a Acquisition Adapter 1 070 07F Real time clock NMI non maskable interrupt mask 080 09F DMA page registers 74LS612 OAO OBF Interrupt controller 2 8259A OAE2 OAE3 Data Acquisition Adapter 2 OCO ODF DMA...

Page 49: ...pter Enhanced Graphics Adapter Color Graphics Monitor Adapter Diskette controller Serial port 1 GPIB Adapter 2 GPIB Adapter 3 Cluster Adapter 1 GPIB Adapter 4 GPIB Adapter 5 Cluster Adapter 2 GPIB Ada...

Page 50: ...maskable interrupt NMI into the 80286 is masked off The mask bit can be set and reset with system programs as follows Mask On Write to I O address hex 070 with data bit 7 equal to a logic 0 1 28 2 Sys...

Page 51: ...annel check signal I O CH CK is used to report uncorrectable errors on RAM adapters on the I O channel This check will create a non maskable interrupt NMI if enabled see the figure I O Address Map for...

Page 52: ...tem board s 2nd 256Kb of RAM is enabled or disabled Following are the pin assignments for the connector Pin Assignments 1 No connection 2 Ground 3 A8 28542 RAM Jumper Connector J18 The following shows...

Page 53: ...Controller The keyboard controller is a single chip microcomputer Intel 8042 that is programmed to support the IBM Personal Computer AT Keyboard serial interface The keyboard controller receives seri...

Page 54: ...ceive the data correctly a hex FF is placed in its output buffer and the parity bit in the status register is set to I indicating a receive parity error The keyboard controller will also time a byte o...

Page 55: ...System Board 1 33...

Page 56: ...2 4B 4C 52 OE 12 50 1A 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 System Scan Code FF 01 02 03 04...

Page 57: ...70 71 7F or 84 Part 2 of 2 Key 50 51 52 53 54 55 57 106 58 61 64 70 65 71 66 72 67 73 68 74 69 95 100 91 96 101 107 92 97 102 108 93 98 103 99 104 105 SYstem Scan Code 30 31 32 33 34 35 36 37 38 39 3...

Page 58: ...6F 13 19 39 51 53 5C 5F 62 63 64 65 67 68 6A 60 6E Key R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R Scan Code Translation Table 1 36 System Board System Scan...

Page 59: ...it for the keyboard to respond If 25 milliseconds are exceeded the keyboard controller places a hex FE in its output buffer and sets the transmit and receive time out error bits in the status register...

Page 60: ...state of the keyboard controller 8042 and interface It may be read at any time Status Register Bit Definition Bit 0 Output Buffer Full A 0 indicates that the keyboard controller s output buffer has n...

Page 61: ...aced in the keyboard controller s output buffer It reflects the state of the keyboard inhibit switch A 0 indicates the keyboard is inhibited Bit 5 Transmit Time Out A 1 indicates that a transmission s...

Page 62: ...e keyboard controller is expecting a data byte following 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 equa...

Page 63: ...Flag The value written to this bit is placed in the system flag bit of the controller s status register Bit 1 Reserved Should be written to a O Bit 0 Enable Output Huffer Full Interrupt Writing a 1 to...

Page 64: ...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 buf...

Page 65: ...port is connected to System Reset Pulsing this bit resets the microprocessor I O Ports The keyboard controller has two 8 bit 110 ports and two test inputs One of the ports is assigned for input and t...

Page 66: ...installed 1 Jumper not installed Bit 6 Display type switch 0 Primary display attached to Color Graphics adapter 1 Primary display attached to Monochrome adapter Bit 7 Keyboard inhibit switch o Keyboar...

Page 67: ...drive type byte drives A and B 11 Reserved 12 Fixed disk type byte drives C and 0 13 Reserved 14 Equipment byte 15 Low base memory byte 16 High base memory byte 17 Low expansion memory byte 18 High e...

Page 68: ...ytes 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 is available to read Bit 6...

Page 69: ...upt and a 0 disables it The system initializes this bit to O Update Ended Interrupt Enabled UIE A 1 enables the update ended interrupt and a 0 disables it The system initializes this bit to O Square W...

Page 70: ...ion of the contents of the CMOS RAM through the power sense pin A low state of the power sense pin indicates that the real time clock has lost its power battery dead A 1 on the VRB indicates power on...

Page 71: ...the system Bit 4 Memory Size Miscompare 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 Bit 3 Fixed...

Page 72: ...0001 Double Sided Diskette Drive 48 TPI 0010 High Capacity Diskette Drive 96 TPI Note 0011 through 1111 are reserved Hex address 11 contains a reserved byte Fixed Disk Type Byte Hex 12 Bit 7 Bit 4 Def...

Page 73: ...4 no 615 7 462 8 256 511 8 733 5 no 733 9 900 15 n08 901 10 820 3 no 820 855 855 319 733 11 855 5 no 12 855 7 no 13 306 8 128 14 733 7 no 15 Reserved set to zeros Write Landing Pre camp Zone BIOS Fixe...

Page 74: ...not installed 1 Math Coprocessor installed Bit 0 The set condition of this bit indicates that diskette drives are installed Note The equipment byte defines basic equipment in the system for power on d...

Page 75: ...ters to 3COOH 15360Kb I O adapter 15Mb maximum Hex addresses 19 through 2D are reserved Checksum Hex 2E and 2F Address hex 2E High byte of checksum Address hex 2F Low byte of checksum Note Checksum is...

Page 76: ...terrupt 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 Set if the IBM Personal Computer AT 128KB Memory Expansion Option is...

Page 77: ...d from 2 IN from port hex 71 and the data read is returned in the AL register Specifications System Unit Size Length 540 millimeters 21 3 inches Depth 439 millimeters 17 3 inches Height 162 millimeter...

Page 78: ...es C 50 to 110 degrees F Humidity System On 8 to 80 System Off 20 to 80 Altitude Maximum altitude 2133 6 meters 7000 feet Heat Output 1229 British Thermal Units per hour Noise Level Meets Class 3 42 d...

Page 79: ...o power supply connectors PS8 and PS9 Keyboard connector J9 Power LED and keylock connector J20 Battery connector J21 The speaker connector is a 4 pin keyed Berg strip The pin assignments follow Pin F...

Page 80: ...ing DIN connector The pin assignments are as follows Pin Assignments 1 Keyboard clock 2 Keyboard data 3 Spare 4 Ground 5 5Vdc Keyboard Connector J22 The power LED and keylock connector is a 5 pin Berg...

Page 81: ...Pin Assignments 1 Ground 2 Not Used 3 Not Used 4 6Vdc Battery Connector J21 System Board 1 59...

Page 82: ...The following figure shows the layout of the system board l l A C I1 v f System Board Layout 1 60 System Board...

Page 83: ...liT4 V2 It 1 1 E SHT4 SHT4 22 l o D GfI All SHT4 121 12 42 A OpF rrAL W 41 A fI I SHT 3 BUS 286 f Ab SHT 3 Nf II 9 Nt A7 A7 SHT 21 CPU 6 1 HOLD AI 21 All SHTl6j 111m 57 lNTR 049 ZZ Aq i CAP AMi 21 AID...

Page 84: ...OFF ICE I 20 DM vcc ND 12 LR 110 F o U ll Q il 6 l l 12 Jr IIl clK SHT 6 C 5HT3 f I t Jn U97 0 JALSO FlO L SHT1S I LSb4b ALSO IV ZI glR AD SSA ISHT 4 CAB ISHT 13 L5 22 SHTI SDO SHT6 13 20 rt 20 I I 5...

Page 85: ...N I I I I I he L l N II 0 M Q Q c t C III 0 m 0 E Q 1 1 l 0 I I tJ I I m I w System Board 1 63...

Page 86: ...SI SI Si 51 N i S 33 3 m c Z xn i II 0 G G s C IV 0 III E en i i i c N 1 i i 1 64 System Board...

Page 87: ...t IZK 3 U94 2 Ufo SHT6 SHT 17 RAM SEL Fl SHT19 HEM Sib AlSl2 SHT 3 HLDA GATE ALE 5HT3 If UB SHT2 AlE ALSZIf 5 SAl SHT 1 11 14 15 16 SAl B 12 SHT 1 11 14 15 17 A SHT 3 11 14 15 so A 11 SHT 1 11 14 18...

Page 88: ...N II CO f r 0 G G s 11 oi l R tJ as 0 III E CD II en _ r I I I 1 1 I I 1 I 1 I I I I 1 1 1 1 1 1 1 L __ _____ J 9 1 I I 18 hd j Uj iii i i i g g g 1 e G i r HQ 2 1 1 Z re H 2 1 66 System Board...

Page 89: ...iii m i5i iii i5i ij I U I I I I I I I I r C g N II II 0 Q Q c C ftI I 0 III E Q en x i LDCO N I U U S9 I I System Board 1 67...

Page 90: ...MAl iS I r 2 IA RASI VI us 9 IZ8I xi A SAIO I 18 SHT9 SHT4 SAil I r SHT7 AIlOR sa R G RASI lAASi MAl 7 FI 58 r MAl 1l1jA BANI I MAl 12 A2 SAO IA YI I A n MAl MA A A 12 MA6 D O 10 uF 1 2 2 1 SAil rVOlT...

Page 91: ...TAl 08 I f DIN DOUr U 4 AI A I TA HO 1 11f l2 I T DIN I DOur Uk BMI 3 IT I A T Il0l0 I llf lAO A DIN DOUr U6 OECOUPLlNG CAP 1 0 2 A 11 TAO Mnll 1 IIf 8 TA DIN DOUT UZ2 VOLTAGE I SANK IOuF i i i SHTe...

Page 92: ...I 5 c c f i li a 852t g gbll l N __ 22 C IoI 0 0 e e s en E IV 0 ID E e 1 J I J en 1 70 System Board...

Page 93: ...I 2 rt0 O 0 d I dO 5 v I I f w w 3 I GUO r r i I I I go C Q2 2 O S 1 1 1 J rl l l 0 0 iCitl ii II o G G s I System Board 1 71...

Page 94: ...i w 0 01 01 0 01 I L 000000 dd c U 0 0 III E 1 1 L c M i 1 72 System Board...

Page 95: ...HT 14 15 16 17 18 Db IS ISHT 3 14 15 16 17 18 07 ALSO 11 ALsoa l OIR uln SHT3 ACK I I SHT 19j MASTER II U 1 ACK SHT3 2 AL527 SHT4 15 SHT5 SHT5 U8412 5 1 XA SHT1S 1I IOR SHT3 tiPCS Ubl 10 SHT2 INTA q U...

Page 96: ...oooo oood oocccooo I I J lJr l l r 11 il o H eN L 2 5 7 1 W f I J ril c _ o K l 0 Jr Cf ff I I g 0 g 0 8 I I I ldd 8 0 8 l si i 11l1 I I d t N N N N ___N _ l i II I l i Jl l i sl j jil1n I I ii n i H...

Page 97: ...2 2 5 N lL H m MM S C i C i o II II II c U I L s o N 88 I I i ii System Board 1 75...

Page 98: ...Im d lii r ti I J l 1 i jo t 1 76 System Board...

Page 99: ...Bellil 1 rrr Or 7 rrrr o p i c tn 2 Ii ca i E i i N g S System Board 1 77...

Page 100: ...ii M E I I n i r Q N cO G I C i iii 3 JL co 0 G G c r m D II 0 ED Q v r E N N G I I i Iii 0 m r S86 21 C cc If l _ N Wi l E I I eajH e 5 i l 1 78 System Board...

Page 101: ...a SHT14 m I LA22 ORO SHT14 I 1ST co 00 LA21 DflO SHT 14 e D15 ISHT 4 S81 L420 ORO 7 SHT 14 COl DO JRQ 10 SHT 16 SHT2 HEMR 0 IRQ II COO elO SHTZ MEHW JRQI2 DO IRQ I I007 IRQ I ISHT 16 D08 SHT 14 DACKO...

Page 102: ...SA lRQ6 Al8 B22 AI7 B2I IRQ 7 SHT 16 5AI SAl I I SAIl A SAI7 SAI8 BI AI SHT4 SAIQ ORQ I SHT 14 ORQ SHT14 81 BI ORQ SHT14 SHT2 lOW SHT2 lOR 8 8 SHT7 5 HEMR PWR GOOD SHT 1 18 8 SHT7 5 HEHW P I SHT3 svsc...

Page 103: ...G i I a g ii C II 0 C II G G c In E I 0 III E G I In System Board 1 81...

Page 104: ...LS74 1 1 1 SHTl AI I 0 l 0 CL ce CL ISHT 1 SO SHTl 5 I 0 II CLK uroo UIO UI06 SHT DWN SHT1 Q PR 10 SHT17 IK SHT 15 Snell SHT 3 PULL UP SHT 3 SYSCLI 30 WE SHT 8 21 SHT1 MITIS 30 SHT9 RID SHT15 XHEMW BH...

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

Page 106: ...Notes 2 2 Coprocessor...

Page 107: ...ary 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...

Page 108: ...ds 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 busy signal informs the microprocessor that it is exec...

Page 109: ...e microprocessor When reset by a power on reset or an I O write operation to port hex OOFl the coprocessor is in the real address mode This mode is compatible with the 8087 Math Coprocessor used in ot...

Page 110: ...Notes 2 6 Coprocessor...

Page 111: ...ON 3 POWER SUPPLY Contents Inputs 3 3 Outputs 3 3 Output Protection 3 4 Dummy Load 3 4 Output Voltage Sequencing 3 4 No Load Operation 3 5 Power Good Signal 3 5 Fan Out 3 6 Connectors 3 6 Power Supply...

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

Page 113: ...ected with the switch above the power cord plug at the rear of the power supply The following figure shows the input requirements Range Voltage Vae Current Amperes Minimum 100 Maximum 5 115 Vae Maximu...

Page 114: ...milliseconds An overcurrent condition will not damage the power supply Dummy Load If no fixed disk drive is connected to the power supply the Dummy Load must be connected to PIO The Dummy Load is a 5...

Page 115: ...the ac input voltage sense signal The power good signal is also a TTL compatible high level for normal operation or a low level for fault conditions The ac fail signal causes power good to go to a lo...

Page 116: ...Sense Levels Fan Out Fan out is the number of inputs that one output can drive The I power good I signal can drive six standard TTL loads Connectors The following figure shows the pin assignments for...

Page 117: ...5 PS9 4 5 PS9 5 5 PS9 6 5 P10 1 12 P10 2 Ground P10 3 Ground P10 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 Note For more details s...

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

Page 119: ...OP 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 I...

Page 120: ...oard Data Input 4 15 Keyboard Layout 4 16 U S English Keyboard 4 17 U K English Keyboard 4 18 French Keyboard 4 19 German Keyboard 4 20 Italian Keyboard 4 21 Spanish Keyboard 4 22 Specifications 4 23...

Page 121: ...er 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 occur if more than sixteen codes are p...

Page 122: ...the interface is inhibited only the first make code is stored in the buffer This prevents buffer overflow as a result of typematic action Functions Performed at Power On Time Power On Reset The keybo...

Page 123: ...ematic and make break Commands from the System The commands described below may be sent to the keyboard at any time The keyboard will respond within 20 milliseconds Note The following commands are tho...

Page 124: ...mand 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 keyboard will acknowledge the command and co...

Page 125: ...s 4 and 3 The typematic rate make code per second is l period The period is determined by the first equation above The following table results Bit Rate Bit Rate 00000 30 0 10000 7 5 00001 26 7 10001 6...

Page 126: ...n the keyboard receives this command it issues a hex EE response and continues scanning if the keyboard was previously enabled Set Reset Mode Indicators Hex ED Three mode indicators on the keyboard ar...

Page 127: ...ndicator Bit 0 Scroll Lock indicator Note Bit 7 is the most significant bit bit 0 is the least significant The keyboard will respond to the Set Reset Mode Indicators command with an lACK I discontinue...

Page 128: ...ey also sends a break code when the key is released The break code consists of two bytes the first of which is the break code prefix hex FO the second byte is the same as the make scan code for that k...

Page 129: ...Keyboard 4 11...

Page 130: ...13 55 31 1C 50 32 70 05 103 7A 14 50 32 18 51 31 71 04 104 71 15 66 33 23 52 3A 72 03 105 84 16 00 34 28 53 41 73 83 106 7C 17 15 35 34 54 49 74 01 107 78 Make Scan Codes Command Codes to the System T...

Page 131: ...c 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...

Page 132: ...4th bit Data bit 2 5th bit Data bit 3 6th bit Data bit 4 7th bit Data bit 5 8th bit Data bit 6 9th bit Data bit 7 most significant 10th bit Parity bit odd parity 11th bit Stop bit Transmission Data S...

Page 133: ...ntention 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 th...

Page 134: ...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 respo...

Page 135: ...c rJ1 rI l I r Q a i a01 00 I 17 NOl133S I...

Page 136: ...I QC tr1 as IJ i a...

Page 137: ...f s Ie t NOI13 1S i I...

Page 138: ...German Keyboard 4 20 Keyboard...

Page 139: ...e if f fA N V NOI13 JS I...

Page 140: ...f o I J i CI l I f...

Page 141: ...ters 9 inches Weight 2 8 kilograms 6 2 pounds Keyboard Connector The keyboard cable connects to the system board through a 5 pin DIN connector The following figure lists the connector pins and their s...

Page 142: ...REQUIRE SPECIAL I ALTH ANlICR SAFETY PRECAUTIONS o POLARIZE PI AT POSITION AJ PI PI CI B 3 GNO M O 0 82 L2 LED I LED 2 LED _ GNO lo CJ 1 P02AQ AJ NtC P22 AI B B EO 2 L __________ l 18 R2 P21181 b UI...

Page 143: ...eanings 5 6 Other Read Write Memory Usage 5 8 BIOS Programming Hints 5 10 Adapters with System Accessible ROM Modules 5 11 System Board Additional ROM Modules 5 12 Keyboard Encoding and Usage 5 12 Enc...

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

Page 145: ...ules later in this section The goal of the ROM BIOS is to provide an operational interface to the system and relieve the programmer of concern about the characteristics of hardware devices The BIOS in...

Page 146: ...is used at input to indicate the desired operation For example to set the time of day the following code is required MOV AH t function is to set time of day MOV CX HIGH COUNT establish the current ti...

Page 147: ...3B E Diskette DISK INT 3C 3F F Printer D11 40 43 10 Video VIDEO 10 44 47 11 Equipment Check EQUIPMENT 48 4B 12 Memory MEMORY SIZE DETERMINE 4C 4F 13 Diskette Disk DISKETTE 10 50 53 14 Communications...

Page 148: ...r DOS absolute disk read DOS absolute disk write DOS terminate fix in storage Reserved for DOS Reserved Reserved for user program interrupts Not used IRQ 8 Realtime clock INT BIOS entry RTC INT IRQ 9...

Page 149: ...sed unless the application program sets a different value Control may be retained by this routine with the following problems The Break may have occurred during interrupt processing so that one or mor...

Page 150: ...the read write character interface will form a character from the ASCII code point using a set of dot patterns ROM contains the dot patterns for the first 128 code points For access to the second 128...

Page 151: ...hows the reserved memory locations Address Mode Function 400 4A1 ROM BIOS See BIOS listing 4A2 4EF Reserved 4FO 4FF Reserved as intra application communication area for any application 500 5FF Reserve...

Page 152: ...colors 1 3 Do not set to O The default is 3 Example 100 PRINT PEEK H2E 256 x PEEK H2F L H Hex 64 Hex 00 The following is a BIOS memory map Starting Address 00000 BIOS interrupt vectors 001 EO Availab...

Page 153: ...les The ROM BIOS provides a way to integrate adapters with on board ROM code into the system During POST interrupt vectors are established for the BIOS calls After the default vectors are in place a s...

Page 154: ...additional ROM if valid will gain control The absolute addresses hex EOOOO through EFFFF are scanned in a 64K block in search of a valid checksum Valid ROM is defined as follows Byte 0 Hex 55 Byte 1 H...

Page 155: ...ctions handled within the keyboard routine or through interrupts Character Codes The following character codes are passed through the BIOS keyboard routine to the system or application program A I mea...

Page 156: ...The following figure is a keyboard layout showing the key positions 5 14 System BIOS...

Page 157: ...D01 Note 1 OC3 019 Note 1 EOT 004 Note 1 ACK 006 Note 1 BEL 007 Note 1 BS 008 Note 1 LF 010 Note 1 VT 011 Note 1 FF 012 Note 1 1 1 1 1 1 1 1 1 FS 028 1 SUB 026 Note 1 CAN 024 Note 1 ETX 003 Note 1 SY...

Page 158: ...66 Nul Note 1 Nul Note 1 Nul Note 1 Nul Note 1 72 Nul Note 1 Nul Note 1 Nul Note 1 Nul Note 1 67 Nul Note 1 Nul Note 1 Nul Note 1 Nul Note 1 73 Nul Note 1 Nul Note 1 Nul Note 1 Nul Note 1 68 Nul Note...

Page 159: ...fer to Special HandlinQ in this section Special Character Codes Extended Codes Extended Functions Ctrl Clear Screen 1 Top of Text and Home 1 Reverse Word Note 1 1 Advance Word Note 1 1 Erase to EOL No...

Page 160: ...se 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 home cursor Keyboard Extended Functions Shift States Most s...

Page 161: ...These three digits are interpreted as a character code and are sent through the keyboard routine to the system or application program AIt is handled internal to the keyboard routine Break The combinat...

Page 162: ...r case When Num Lock is pressed again it reverses the action Num Lock is handled internal to the keyboard routine When Num Lock is pressed it toggles the Num Lock Mode indicator If the indicator was o...

Page 163: ...arge enough to support entries by a fast typist However if a key is pressed when the buffer is full the key will be ignored and the alarm will sound The keyboard routine also suppresses the typematic...

Page 164: ...Notes 5 22 System BIOS...

Page 165: ...EKC 05 EKC 06 EKC 07 EKC 08 EKC 09 EKC 10 EXC ll EXC 12 EKC 13 EXC 14 EXC 15 EKC 16 EXC 17 EKC IB EKC 19 0000 18FC 0000 1901 0000 1906 0000 190B 0000 1910 0000 1915 0000 191A 0000 191F 0000 1924 0000...

Page 166: ...F065 VIDEO 10 0000 191A EXC 27 0000 3605 VIDEO IO I 0000 191F EXC 28 0000 FOA4 VIDEO PARMS 0000 1924 EXC 29 0000 37DC VIDEO STATE 0000 1929 EXC 30 0000 EOB7 VIR ERR 0000 192E EXC 31 0000 3938 WRITE AC...

Page 167: ...6A OBF_ 42B 0000 E06C EO 0000 E085 EO A 0000 E09E EO B 0000 EOB7 VIR_ERR OOOO EODO CM4 0000 EOE9 E1 OOOO EOFC E1 B 0000 E10C E1 C OOOO E11C ADERR1 0000 E137 ADERR 0000 E152 F3A 0000 E15D F3B 0000 E164...

Page 168: ...5 26 ROS Map...

Page 169: ...R 0020 EQU 20H MfG LOOP POST JUMPER 0010 EQU 010H REFRESH TEST BIT 0000 8000 FFFF POST_SS POST SP TEMP STACK LO EQU EQU EQU OH 8000H OFFFFH POST STACK SEGMENT POST STACK POINTER 0000 TEMP STACK H I EQ...

Page 170: ...K CARD INSTALLED 0040 C NEW_INST EQU 040H FLAG USED BY CMOS SETUP UTILITY 0020 C Hf _BOOT EQU 020H BOOT HARD FILE FLAG C I NTERRUI T EQUATES 0020 C INTAOO EQU 20H 8259 PORT 0021 C INTA01 EQU 21H 8259...

Page 171: ...PORT ADDRESS 0071 c CDATA_PRT EQU 071 H CMOS DATA PORT ADDRESS OOCO c CMOS_GOOD Eau OCOH BATTERY AND CHECKSUM INDICATOR 0010 c CMDSDSK BYTE EaU 010H DISKETTE BYTE ADDRESS OOOF c LOWNIS EaU OOFH ISOLAT...

Page 172: ...RIVE 3 0 IS CURRENTLY C RUNN I NC C BIT 7 CURRENT OPERATION IS A WRITE C RLQU I RlS DELAY 0040 01 C MOTOR_COUNT 00 1 DUP TIME OUT COUNTER FOR DRIVE TURN OFF C C C 0041 01 C 01 SK TTE_STATUS DB 1 DUP R...

Page 173: ...P c c c 0076 01 c DB 1 DUP c c c 0077 01 c DB 1 DUP c c c c c PRINTER AND RS232 TIME OUT VARIABLES c 0078 04 c DB 4 DUP c c c 007C c DB 4 DUP c c c c c ADDITIONAL KEYBOARD DATA AREA c 0080 01 c DW 1 D...

Page 174: ...ER e EO RA E E T AT OB800H 0000 c 0000 c REGEN LABEL BYTE 0000 c REGENW LABEL WORD 0000 4000 C DB 16384 DUP 11 e I e e 4000 e V I OEO RAM ENDS e LIST I NCLUOE SEGMENT SRC 0000 CODE SEGMENT BYTE PUBLIC...

Page 175: ...ABSO ASSUME ES ABSO 005A 2B CO SUB AX AX DS O 005C BE 08 Mav DS AX 005E 8E CO Mav ES AX ES O 0060 C7 06 0008 R 0000 E MOV NMI_PTR OFFSET NMI_INT NMI INTERRUPT 0066 C7 06 0014 R 0000 E MOV I NT5_PTR OF...

Page 176: ...00 JMP SHORT 2 0112 BO FF MOV AL OFFH 01111 E6 21 OUT I NTA01 AL RE INITIAI LE THE 8259 INTERRUPT 2 CONTROLLER CHI P 0116 no 11 MOV I CWl EDGE SLAVE I CW4 0118 E6 AO OUT 011A EB 00 JMP WAIT STATE FOR...

Page 177: ...ISABLED 01AD BO 8B C10A MOV AL CMOS_ALARM OlAF E6 70 OUT CMOS_PORT AL 01Bl EB 00 JMP SHORT 2 01 B3 E4 71 IN AL CMOS_PORT 1 GET THE CURRENT CONTROL REG 01B5 86 C4 XCHG AL AH SAVE r T 01B7 80 E4 07 AND...

Page 178: ...8253 CHECK TIMER 1 ALL BIT OFF OESCR I PT I ON SET TIMER COUNT CII CK THAT T I MER ALL BITS OFF _ _ CHECKPOINT 5 0258 BO 05 C13 HOV AL 05 1 025A E6 80 OUT MFG_PORT AL CHECKPO I NT 5 025C 8A C3 HOV AL...

Page 179: ...XT REG 02E6 F4 liLT NO HALT THE SYSTEM 02E7 02E7 02EA 83 C2 02 E2 E8 e18A ADD LOOP DX 2 C17A i g T TO NEXT CH REG WRITE PATTERN TO NEXT REG 02EC FE CO INC AL SET PATTERN TO 0 02EE 74 DA JZ el6A YES CO...

Page 180: ...IS TOGGLI NG 0392 A8 10 TEST AL REFRESH_BIT 039 1 E1 fA LOOPZ C2B INSURE I FRESH IS OFF 0396 7 f JZ C26 GO If NOT 0398 2B C9 SUB cX ex 039A E4 61 C29 IN AL PORT_B 039C A8 10 TEST AL REfRESH_BIT INSUR...

Page 181: ...B FF sua DI DI FIRST 16K 0435 26 F6 SUB SI SI 01137 2B CO SUB AX AX 01t39 8E 08 MOV DS AX 0 1138 8E CO MOV ES AX 043lJ 81 FB 1234 eMP ax 1234H WARM START 01141 75 03 JNZ E30A_0 GO I F NOT 0443 E9 05E6...

Page 182: ...RT TO A DEFAULT 0400 BO 30 MOV AL 30H VALUE OF 301l FOR ALL MODES EXCEPT 640X200 04DF EE OUT DX AL OUTPUT THE COR RECT VALUE TO 309 PORT ENABLE COLOR V IDEO AND CORRECT PORT SETT I NG O IEO BA 0308 MO...

Page 183: ...5 88 05 I OV MOV DS Dlj AX AX DS 01 J 058E E2 FA LOOP C3 _B 0590 0590 0592 0594 89 05 88 05 E2 FA MOV MOV LOOP DS DI AX AX OS 01 J C31_C 0596 0596 89 05 MOV OS DIJ AX 0598 059A 8B 05 E2 FA MOV LOOP AX...

Page 184: ...T AX 0400H CHECK DIRECTION FLAG 063F 06L 1 74 013 fC JZ ClD ERR_PROT GO IF KOT SET CLEAR DIRECTION FLAG 0642 9C PUSHF INSURE DIRECTION FLAC IS RESET 0643 58 POP AX 06411 A9 0 100 TEST AX 0400H 0647 75...

Page 185: ...GET THE SEGMENT 060A AD 060B E2 F7 03 ESTA LISH BIOS SUBROUTINE CALL I NTERRUPT VECTORS 0600 06DF BO E6 80 MOV OUT AL 15H MFG_PORT AL CHECKPOI NT 15 06El BF 0040 R MOV OJ OFFSET YIDEO_ INT SET VIDIO...

Page 186: ...SET BAD CHECKSUM fLAG 078C E6 70 OUT CMOS_PORT Al 078E EB 00 JMP SHORT 2 10 DELAY 0790 E4 71 IN Al CMOS PORT l GET THE CURRENT STATUS 0792 86 C4 XCHG Al AH SAVE IT 0794 80 CC 40 OR AI I BAO_CKSUM SET...

Page 187: ...EST PATTERN SAVE PATTERN SEND PATTERN TO MEM PUT SOMETH I NG IN AL GET PATTERN I NSURE NO PAR I TY 10 CHECK COMPARE PATTERNS 084C 75 30 JNZ HOW_B I G_END GO END I F NO COMPARE 084E 1E PUSH OS 084F B8...

Page 188: ...MPARE 0904 0905 1 138 0018 PUSH MOV os AX RSOA_PTR POI NT TO SYSTEM DATA AREA 0908 090A 0910 8 08 81 3E 0072 R 1234 1 F MOV CMP POP OS AX RESET_FLAG 1234H os SOFT RESET RESTORE OS 0911 7518 JNZ HOW_B...

Page 189: ...IS INSTALLED 09F6 74 7A JZ NORMAL_CON FIG GO IF INSTALLED 0918 EB 4C 90 JMP BAD_MOS GO DEFAULT ROUTINE CHFCK FOR VIDEO ROM PRESENT 09fl3 CHK VIDEO 09fB B9 GOOD MOV CX OCOOOH START OF 10 ROM 09fE CHK V...

Page 190: ...0405 R CALL C8042 I SSUE THE COMMAND OAA5 90 POPF RESTORE FLAGS OAM 74 OC JZ E6 CONT I NUE WITHOUT RESU LTS OAA8 E4 60 IN AL PORT_A CET I NPUT FROM KEY BOARD OAAA A2 0072 R MOV BYTE PTR RESET_FLAG AL...

Page 191: ...C4 AND AL AH CHECK VIDEO HORZ LINE OB56 74 05 JZ E16 I TS ON CHECK NEXT LINE OB58 E2 F9 LOOP E15 LOOP I F ON TILL I T GOES OFF OB5A E6 36 90 JMP E17 GO ERROR BEE P CHECK HORIZONTAL LINE OB5D 61 03 E1...

Page 192: ...0 MOV JMP BX AX SHORT 2 ALLOW BUS TO SETTLE OC03 OC05 8B 3D 07 AA55 MOV CMP AX BX AX OAA55H READ HIE FIRST LOCATION I S THE COLOR VIOEO CARD THERE OC08 1 F POP OS RESTORE THE DATA SEGMENT OC09 75 24 J...

Page 193: ...XTRN ROM_CHECK NEAR XTRN ROS CHECKSUM NEAR EXTRN SEEK NEAR EXTRN ERR BEEP NEAR EXTRN P_MSG NEAR EXTRN START_ 1 NEAR EXTRN r4 NEAR EXTRN F4E NEAR EXTRN F3A NEAR EXTRN DiSK_BASE NEAR EXTRN F30 NEAR EXTR...

Page 194: ...07E E6 70 OUT CMOS PORT AL 0080 E4 80 IN AL MFG_PORT ANY NMI 0082 OA CO OR AL AL 0684 74 09 JZ 07_C CONT I NUE 1F NOT 0086 BO 28 MOV AL 28H 0088 E6 80 OUT MFG_PORT AL CHECKPOI NT 28 008A BE 0000 E MOV...

Page 195: ...CEPTED 0133 0135 0137 0139 013B 0130 013F 2B C9 BO 20 E6 80 E4 64 A8 02 74 08 E2 F8 013 c c WA ITT I ME MOY AL 2DH OUT MFG PORT AL CHECKPOINT 20 IN AL STATUS_PORT GET THE 8042 STATUS TEST AL INPT_BUF_...

Page 196: ...l AL OHC 58 POP AX RESTORE AX 01 FD 39 06 0013 R CMP MEMORY_S I ZE AX IS MEMORY SIZE GREATER THAN CONFIG 0201 77 68 E20Bl JA E20C DEFAULT TO MEM SIZE DET I F YES 0203 8B 08 MaY BX AX SET BASE MEMORY S...

Page 197: ...MP BASE_HI_BYTE O MOV ES DS_TEMP BASE_IO_WORD O TEMPORARY SEGMENT SAVE IN DMA PAGE REG I STER SUB AL AL OUT DMA PAGE 4 AL HIGH BYTE OF LOW WORD OF SEGMENT OUT OMA PAGE 5 AL LOW BYTE OF LOW WORD OF SEG...

Page 198: ...RECOVER 64K BLOC COUNT 037E 58 POP AX 037F E2 03 LOOP KB_LOOP2 LOOP TILL ALL MEM CHECKED 0381 EB 06 90 JMP KB_LOOP3 CONT I NUE 0384 KB_LOOP2 0384 50 PUSH AX 0385 51 PUSH CX SAVE LOOP COUNT 0386 E9 02...

Page 199: ...ex DL 30H OX DEC_LOOP DISPLAY LAST OK MEMORY MOV PRT_DEC POP CALL INC LOOP MQV MOV KB_LOOP_1 MOV INC CALL INC LOOP POP POP POP LOOP CHECK OUT XCHG OUT IN AND XCHG IN AND IN XCHG IN JNZ JMP KB_LOOP_2...

Page 200: ...MEMORY SIZE 04E2 BO B1 IOV AL M SIZE HI D4E4 E6 70 OUT CMOS PORT AL 04E6 8A C MOV AL CH GET THE HIGH BYTE MEMORY SIZE 04E8 EB 00 JMP SHORT 2 10 DELAY 04EA E6 71 OUT CMOS PORT l AL WRITE IT 04EC BO BO...

Page 201: ...0000 E 8 0000 E ERR2 MOV CALL SI OFfSET El E_MSG SETU P ADDRESS aF ERROR MSG PR I NT ERROR MSG ENTRY FROM SHUTDOWN 0558 SHUT2 TEST 20 ADD I T 10NAI PROTECTED V I RTUAL MODE TEST DESCR I PT I ON THE PR...

Page 202: ...OCK MUST BE LOW 05EO 74 OB JZ Gll 05E2 80 OE 0016 R 08 OR MFG_ERR_FLAG 1 KYCLK_FA I L KEYBOARD CLOCK HI GH 05E7 BE 0000 E MOV S I OFFSET fl_B DI SPLAY 304 ERROR 05EA EB 62 90 JMP F6D REPORT ERROR 05ED...

Page 203: ...NG TEST MODE 06 35 06BA OGBC F6 06 0412 R 20 75 OA C7 06 0020 R 0000 E TEST JNZ May OATA_AREA MFG_TSTMDATA_basel LOOP_POST MFG TEST MODE 9 INT_AoDR OFfSET BlINK_INT SETUP TIMER INTR TO BLINK LED 06C2...

Page 204: ...LAY 0770 E621 OUT INTA01 AL CHECK CMOS BATTERY CHECKSUM 0772 F6 06 0012 R 20 TEST LOOP_POST MFG JUMPER 0777 75 03 JNZ GO I F NOT 0779 E9 0858 R JMP BYPASS I F YES 077C BO 8E Bl_0K MOV AL OIAG STATUS 0...

Page 205: ...OR 2ND DISKETTE DRIVE 0849 E8 0000 E CALL DDS INSURE DATA SEGMENT 084C 80 3E 0091 R 00 CMP DSK STATE 1 O IS THERE A DRIVE 2 ATTACHED 0851 74 05 JZ F15C GO I f NOT 0853 80 DE 0010 R 40 OR BYTE PTR EQU...

Page 206: ...I DREG 08FF 75 08 J NZ F19 0901 0907 C7 8 0000 R 02F8 43 MQV INC RS232_BA5E1BX 2F8H BX SETUP RS232 CD H2 0908 0909 43 INC BX I F19 BASE END 0909 8B C6 MOV AX SI SI HAS 2 NUMBER OF RS232 090B Bl 03 MO...

Page 207: ...D DB 060H POPA DB 061H TEST I O_ROM_I NIT OB8BFH ALL BITS SHOULD BE OFF JNZ NO_287 GO I F NOT INSTALLED IN Al I NTBOl GET THE SLAVE I NT MASK AND Al ODFH ENABLE 287 INTERRUPTS JMP SHORT 2 10 DELAY OUT...

Page 208: ...DELAY OA46 24 F3 AND AL RAM PAR ON ENARI_E RAM PCK AND 10 CH OA48 E6 61 OUT PORT_B AL OA4A C7 06 0067 R 0003 MOV OS rO_ROM_INIT 0003H SET THE OFFSET OA50 8C 06 0069 R MOV OS 10_ROM_SEG ES SET TilE SEG...

Page 209: ...0004 PUSH MOV CX CX 4 SAVE COUNT ADJUST 0037 03 E8 SHR AX CL 0039 03 DO ADD OX AX SET PO I NTER TO NEXT MODULE 003B 59 POP CX RETR I VE COUNT 003C E8 0002 R CALL ROS CHECKSUM CNT 00 CHECKSUM 003F 74 0...

Page 210: ...R HI 64 0090 8E DB MOV OS BX 0092 E8 0098 R CAll PROT_PRT 0095 5B POP BX 0096 1F POP DS 0097 C3 RET 0098 PROT_PRT 0098 57 PUSH DI SAVE DISPLACEMENT 0099 01 C7 ROL 01 1 MUll 2 0098 0090 88 05 5F MOV PO...

Page 211: ...ARD A BAD RAM MODULE OR A PROBLEM WITH THE CRT ENTRY PARAMETERS DH NUMBER OF LONG TONES TO BEEP DL NUMBER OF SHORT TONES TO BEEP 0027 ERR_BEEP PRoe NEAR 0027 9C PUSHF SAVE FLAGS 0028 FA CLI 0 I SABLE...

Page 212: ...DS SET DATA SEGMENT 00B9 BO DB MOV AL OBH READ I N SERV I CE REG OOBB E6 20 OUT INTAOO AL FINO OUT WHAT LEVEL BEING OOBD EB 00 JMP SHORT 2 10 DELAY OOBF 90 NOP SERVICED OOCO E4 20 IN AL INTAOO GET LEV...

Page 213: ...117 8A C6 MOV 0119 E8 0000 E CALL 011C 8A C2 MOV 011 E 8 0000 E CALL 0121 BO 30 MOV 0123 8 0000 CALL 0126 BO 20 MOV 0128 E8 0000 CALL 0126 C3 RET 012C PRT_SEG ENDP 012C CODE ENOS END I S PASSED TO MAS...

Page 214: ...5 72 Test 4...

Page 215: ...I iH PECTED EXC_Ol MOV AL 91H JMP TEST_EXC r I H n PECTED EXC_02 MOV Al 92H 5ET CH CKPO I NT JMP TEST_EXC GO TEST F EXCEPT ION WAS EXPECTED EXC_03 MOV AL 93H SET CHECKPOINT JMP TEST EXC GO TEST IF EXC...

Page 216: ...EB 15 90 MOV JMP AL OBlll TEST_EXC 5ET CHECKPOINT GO TEST I F INTERRUPT WAS EXPECTED 00C3 00C3 BO B2 MOV AL OB2H SET CH CKPO INT DOCS EB 10 90 JMP TEST_EXC GO TEST IF I iTERRU PT WAS EXPECTED 00C8 OOC...

Page 217: ...HES 0008 E6 61 OUT PORT_ B AL GGGA EB 00 JMP SHORT 2 10 D LAY OOOC 24 F3 AND Al RAM_PAR_ON OOOE E6 61 DUT PORT_B AL ROLL A BIT THfWUCH rHE F I HST WORD 0010 8A 0001 MDV DX 0001 H WRITE THE INIT DATA P...

Page 218: ...H 00A3 E4 89 IN AL DMA_PAGE 8 GET AL PAR I TY ERROR EX I T 00A5 75 1E JNZ cn GO t F YES CHECK FOR END OF 64K BLOCK 00A7 23 02 AND OX OX ENDING ZERO PATTERN WRITTEN TO STC 00A9 74 lA JZ C14 YES RETURN...

Page 219: ...ION fUNCT IONS 13 lOW MEG CH I P SELECT TEST LIST PUBl I C posn C INCLUDE SEGMENT SRC 0000 C CODE SEGMENT BYTE PUBL I C C EXTRN E_MSG NEAR EXTRN XPC_BYT NEAR ExmN F1 NEAR EXTRN VECTOR TABlE NEAR EXTRN...

Page 220: ...D PTR OS ES_TEMP BASE_LO_WORD 0 SET ES REG I STER 0078 B8 0048 MDV LOAD ES 007B 8E CO MOV CAUSE AN EXCEPTION 13 INTERRUPT 0070 23 FF SUB 01 01 007F 26 8B 05 MOV AX ES DI THJS SHOULD CAUSE AND EXCEPTIO...

Page 221: ...IG OFFSET Cs oooe 00F7 2B C9 suu CX CX WAIT FOR POSSIBLE INTERRUPT 00F9 E2 FE LOOPA LOOP LOOPA OOFB E4 BB IN AL DMA_PAGE OAH GET THE RESULTS OOFD 3C 00 CMP AL O DID AN INTERRUPT OCCUR OOFF 75 03 JNZ T...

Page 222: ...NSTR ACCESS A READ ONLY WITH A WRITE AND VERI FY AN EXCEPTION INT 13 0196 0198 019A 01AO 01A5 80 E6 C7 C6 C7 F6 80 06 06 06 0048 004C 004A FFFF 00 FOOO T7_10 MOV OUT MOV MOV MOV AL OF6H MfG_PORT AL CH...

Page 223: ...AX SECOND OPERAND 020A 020A 88 C3 11001 E ARPL LABEL MOV AX ex BYTE AX BX I SSUE THE RPL COMMAND NOTE SOURCE TARGET REGS ARE REVERSED DUE TO OPCODE 31 T 1 020C 001 F LABEL BYTE 020A 020A 63 ORG DB OF...

Page 224: ...RD 8000H 0291 B8 0048 MOY LOAD S REG 0294 8E CO MOV 0296 26 C7 05 AA55 MOV WORD PTR ES Dlj OAA55H WRITE A ZERO DO FOR SEGMENT 1AOOOO 02913 C6 0 004C lA MOV BYTE PTR OS ES TEMP BASE HI BYTE lAH 02AO C7...

Page 225: ...0019 01 DB 001H D01C D01C 88 FD ORc MOV OFFSET CS 170002 DI BP ES DI NOW END OF JOT AGAIN BU I LD THE GOT OlE 0021 0024 0026 BF D8AO E8 0000 E 86 f B8 0088 MOV CALL MOV MOV DI GDT_LOC GOT BLD BP OI AX...

Page 226: ...5 84 Sys Init...

Page 227: ...served COM PAT I BlE COLOR CRT DESCR_DEF SEC CCRT_SIZE CCRT _LO CCRT _HI CPlO_OATA_ACCESS 0028 4000 OW CCRT SIZE Segment lim i t 002A 8000 Segment base address low word 002C DB g gg i Segment base add...

Page 228: ...nt limit 0072 0068 R OW TR LOC Segment base address low word 0074 00 DB Segment base add ress high byte 0075 93 DB CPLO_OATA_ACCESS Access rights byte 0076 0000 OW 0 Rese rved 0078 LOT_LOC POST LDTR O...

Page 229: ...O I NTERRU PT DESCR I PTOR AT FREe I NTS PAGE 0028 HIGH lOT 0028 8B f5 MOV S I BP DS SI FREE DESCRIPTOR ES DI LEfT OFF AT INT 32 0020 A5 MOVSW MOVE THE OFFSET OF THE IRET INSTRUCTION 002E A5 MOVSW MOV...

Page 230: ...10 EXCPT 10 STK PL BAO I N GATE TRANSFER 007C 007E 0000 E 0000 E DW DW OFFSET EXC_ OFFSET EXC_12 EXCPT 11 SEGMENT NOT pRESENT EXCPT 12 STACK SEGMENT NOT PRESENT 0080 0000 E DW OFFSET EXC_13 EXCPT 13 G...

Page 231: ...TO THE DESIRED NUMBER Of SECTORS TRACK 8 FOR 320K 9 FOR 360K DISK BASE IS POINTED TO BY DISK POINTER LOCATED AT ABSOLUTE ADDRESS 0 78 WHEN 320 360K FORMAT OPERATIONS ARE COMPLETE THE PARAMETERS SHOUL...

Page 232: ...3E 32 FF XOR lH BH SETUP ADDRESS TO MEDIA STATE FOR THIS DRIVE OOtiD 8A OA MOY l3L DL 00112 8A 26 0041 R MOV AH DISKETTE STATUS GET STATUS OF OPERATION 0046 OA Eit OR AH AH SEE I F ANY ERRORS 0048 75...

Page 233: ...0130 50 53 51 52 E8 0604 R EB 51 PUSH PUSII PUSH PUSH CALL JMP AX BX CX OX READ DSKCHNG SHORT J1H SAVE OR I GI NAL PARAMETERS AVE PARAMETERS SELECT DRIVE FOR DISKETTE ATTACH CARD IGNORE DISK CHANGE S...

Page 234: ...ALL GET_PARM TO THE NEC CONTROLLER 0205 BB 0003 MOV BX 3 SECOND BYTE PARM I N BLOCK 0208 E8 0382 R CALL GET_PARM TO THE NEt CONTROLLER 020B C3 RET 5 t o CALLER 020e 01 SK_RESET ENOP DISKETTE STATUS RO...

Page 235: ...SURE MOTOR DOESHT TURN OFF DURING OPERATION I S LESS THAN EC THEN TURN ON NOT DUE TO READING OF DISK CHANGE LINE OTHERWISE GO TEST FOR WAIT NECESSARY TURN ON THE CURRENT MOTOR SHI FT COUNT TO MOVE DRI...

Page 236: ...O BE fETCHED it 2 IF THE LOW BIT OF BX IS ON THE BYTE IS IMMEDIATELY OUTPUT TO THE NEC CONTROLLER EXI T AH THAT BYTE FROM BLOCK 0382 GET PARM PROC NEAR 0382 1E PUSH OS SAVE SEGMENT 0383 56 PUSH 51 SAV...

Page 237: ...11 REPEAT TIL DELAY FINISHED TIME ERROR OR DISKETTE_STATUS T I ME_OUT pop BX RESTORE REG I STERS POP ex pop ox SET ERROR CODE AND f lESTORE REGS POP AX DISCARD THE RETURN ADDRESS 5TC I NDrCATE ERROR T...

Page 238: ...PUSH CX SAVE REG I STER J29 HEAD_SETTLE MOY CX 800 1 MS LOOP OR AH AH TEST FOR T I ME EXP I RED JZ J31 J30 LOOP J30 DELAY FOR 1 MS DEC AH DECREMENT THE COUNT JMP J29 DO IT SOME MORE J31 POP CX RECOVE...

Page 239: ...A OR DISKETTE_STATUS TIME_OUT NOTHING HAPPENED 0550 F9 STC ERROR RETURN OS5E J37 055E 9C PUSHF SAVE CURRENT CARRY 055F 80 26 003E R 7F AND SEEK_STATUS NOT INT_fLAG TURN OFF INTERRUPT FLAG 0564 90 POPF...

Page 240: ...STATE FOR THIS DRIVE THIS SEQUENCE OF SEEKS IS USED TO RESET DISKETTE CHANGE SIGNAL 05 1 E8 OleA R CAll DISK Ri SET RESET NEC 05 A 8B 56 00 MOV DX BP RESTORE DRIVE PARMETER O ED 1 35 01 MOV CH D1H MO...

Page 241: ...TYPE THIS ROUTINE IS USED TO EITHER ESTABLISH THE TYPE OF MEDIA DRIVE TO BE USED IN THE NEXT OPERATION FOR FORMAT ONLY OR RETURN THE TYPE OF MEDIA DRIVE INSTALLED AT THE DRIVE SPECIFIED 0698 DISK TYPE...

Page 242: ...C3 MOV RET DSK_STATE BXj M12D12 SET STATE VARIABLE RETURN TO CALLER 076B 0770 C6 06 0041 R 01 C3 SE so MOV RET OJ SKETTE_STATUS BAD_CMD UNKNOWN STATE BAD COMMAND RETURN TO CAllER 0771 FORMAT_SET ENDP...

Page 243: ...EB 10 JMP SHORT NXT_DRV DRIVE NOT INSTALLED BYPASS 0809 5B SUP4 POP BX RESTORE PO INTER 08C1A 83 FE CIA CMP SI QUiET_SEEK SEE I F SEEKS STEPPED EQUAL THE OR I G I NAL 0800 C6 87 0090 R 61 MOV DSK_STAT...

Page 244: ...5 102 Diskette...

Page 245: ...EGISTER 10 BITS TOTAL Al NUMBER OF SECTORS MAXIMUM POSSIBLE RANGE l BOH FOR READ WRITE lONG 1 79H ES BX ADDRESS OF BUFfER FOR READS AND WRITES NOT REQu I RED FOR VER I FY FORMAT AH ES BX POINTS TO A 5...

Page 246: ...RECOMPENSATION CYLINDER HF PORT 2 SET SECTOR COUNT lIF PORT 3 SET SECTOR NUMBER HCPORT 4 SET CYLI NDER LOW HF_PORT 5 SET CYLINDER HIGH 2 BITS HF_PORT 6 SET SIZE DRIVE HEAD HF_PORT 7 SET COMMAND REGIST...

Page 247: ...06 0077 R 00 SA 08 IN MOV MOV AL 71H PORT OFF O BL AL ZERO CARD OffSET SAVE HARD fiLE BYTE 0090 0092 0094 0096 B4 00 24 FO 74 42 05 FFFO E MOV AND JZ ADO AH O AL OFOH POD ONE AX OffSET FD_TBL 160 GET...

Page 248: ...OUT 0178 S TJAIL ENDP 0178 POD TCHK PROC NEAR CHECK FOR 30 sECOND TIME OUT 0178 58 POP AX SAVE RETURN 0179 59 POP ex GET TIME OUT liMITS 017A 5B POP BX 017B 53 PUSt BX AND SAVE THEM AGAIN 017C 51 PUSH...

Page 249: ...IVE AS 0 OR 1 0221 3A OA BL DL 0231 76 76 BAD_COMMAND POP I NVALI 0 DRIVE 0233 06 ES 0234 E8 06B4 R GET VEe GET DI SK PARMS 0237 26 8B 47 05 AX WORD PTR ES ex 5 J GET WRITE PRE COMP CYL AX 2 0238 7 00...

Page 250: ...CK 5 01 OH Ol 1 INIT_DRV SET TO DRIVE 1 SET MAX HEADS 02F8 02 FB 0300 E8 0465 R c6 06 0074 R 00 C3 ORE CALL MOV RET HOI SI RECAL OISK3 TATUS1 0 RECAl TO RESET SEEK SPEED I GNORE ANY SET UP ERRORS 0301...

Page 251: ...E C DISK STATUS1 0 AX ES 8X TEST WI7HIN RANGE MAX NUMBER OF CYLI NDERS 03B6 03B9 2D 0002 8A E8 SUB Mav AX 2 CH AL ADJUST FOR O N 03B8 25 0300 AND AX 0300H HIGH TWO BITS OF CYL 03SE 01 E8 SHR AX l 03CO...

Page 252: ...TS PASS THRU TO 0491 21 FB AND AL OF8H SECOND CH I P 0493 E6 21 OUT I NTl_CTL_PORT l AL 0495 01 198 E8 05DF R 75 1A CALL JNZ NOT BUSY CD3_RR WAIT FOR CARD BAD CARD 0119A SA 01 F7 MOV OX HF_PORT 7 0119...

Page 253: ...E4 Al IN AL I NT CTL_PORT l TURN ON SECOND INTERRUPT CH I P 0563 24 BF AND AL OSFH 0 65 E6 A1 OUT INT CTL PORT 1 AL 0567 E4 21 IN AL TNT1 CTL_PORT l LET j NTERRUPTS PASS THRU TO 0569 24 fB AND AL OFBH...

Page 254: ...0 MOV AH O 0639 A8 80 TEST Al ST_BUSY IF STILL BUSY 063B 75 1A JNZ CKST EXIT REPORT OK 0630 B4 CC MOV AH WRITEJAULT 063F A8 20 TEST AL ST_WRT_FLT CHECK FOR WRITE FAULT 06111 75 1L1 JNZ CKST_EXIT 0643...

Page 255: ...118 R LES ax HF1_TBL_V C ES BX DRIVE PARAMETERS 06C2 EB 05 JMP SHORT GV_EX I T 06C4 06C4 26 C4 lE 0104 R LES ax HF_TBL_VEC ES ax DR I V PARAMETERS 06C9 GV EXIT 06C9 C3 RET 06CA GET_VEe ENDP D isK iNjE...

Page 256: ...5 114 Disk...

Page 257: ...K ON DURING LOOP 0025 90 NOP ALLOW AN I NTERRUPT TO OCCUR 0026 fA K1C Cli INTERRUPTS BACK OFF 0027 88 lE OOlA R MOV BX BUFFER_HEAD GET POINTER TO HEAD OF BUFFER 0028 3B lE OOlC R CMP BX BUFFER_TAl L T...

Page 258: ...G_2 GET PREV 10US BITS OOCD 32 08 XOR BL AL SEE I F ANY OJ FFERENT OOCF 60 3 07 AND Bl 07H ISOLATE INDICATOR BITS 0002 711 03 JZ UPO I F NO CHANGE BYPASS UPDATE 0004 E8 0439 R CALL SND LEO GO TURN ON...

Page 259: ...SH I FT STATE TOGGLE lED I F CAPS OR NUM KEY DEPRESSED 0193 F6 C4 70 TEST AH CAPS_SH I fT NUM_SH I FT SCROll_SH 1fT SH I FT TOGGLE 0196 74 05 JZ K22B GO I F NOT 0198 0199 50 E8 0439 R PUSH CAll AX SND...

Page 260: ...PO I NT I NG 0266 0268 026A 026C F2 AE 75 05 80 00 E9 0375 R REPNE JNE MOV JMP SCASB K34 AL O K57 LOOK FOR MATCH I N ALPHABET NOT rOUND rUNCTION KEY OR OTHER ASC I I CODE OF LERO PUT I TIN THE BUFFER...

Page 261: ...URE KEYBOARD I S ENABLED EXECUTE ENABL END OF CURRENT INTERRUPT SO FURTHER TH I NGS CAN HAPPEN SAVE PO INTER ISSUE PR I NT SCREEN INTERRUPT RESTORE POI NTER GO BACK WITHOUT EO I OCCURR ING 0321 0321 0...

Page 262: ...9102 MOV AX 09102H MOVE IN POST CODE 8 TYPE 03C7 CD 15 INT 15H PERFORM OTHER FUNCTION 03C9 E9 01 EC R JMP K27A I HTERRU PT_RETURN TRANSLATE SCAN FOR PSEUDO SCAN CODES 03CC K63 TRANSLATE SCAN 03CC 2C...

Page 263: ...R OR KB_FLAG_2 AL SAVE PRESENT INDICATORS STATES FOR NEXT TIME 0466 F6 06 0097 R 80 TEST KB_FLAG_2 KB_ERR TRANSM I T ERROR DETECTED 0470 75 OB JNZ SL2 I F YES BYPASS SECOND BYTE TRANSMISSION 0472 E8 0...

Page 264: ...5 122 Keyboard...

Page 265: ...ZERO INDICATING NO PRINT RETURN TEST FOR AH O 0018 74 DE JZ B2 PRINT AL 0010 FE CC DEC AH TEST FOR AH 1 OOH 0021 0023 74 54 FE CC 74 3C JZ DEC JZ B8 AH B5 INIT PRT TEST FOR AH c 2 PR NTER STATUS 0025...

Page 266: ...JMP Bl RETURN FROM ROUT I NE INITIALIZE THE PRINTER PORT 0075 B8 0075 50 PUSH AX SAVE Al 0076 42 INC OX POINT TO OUTPUT PORT 0077 42 INC OX 0078 90 08 007A EE MOV OUT Al a DX AL SET IN IT LINE lOW 007...

Page 267: ...END BIT 3 DELTA RECEIVE LINE SIGNAL DETECT BIT 2 TRA III NG EDGE RING DETECTOR BIT 1 DELTA DATA SET READY 61T 0 DELTA CLEAR TO SEND OX PARAMETER INDICATING WHICH RS232 CARD 10 1 ALLOWED DATA AREA RS23...

Page 268: ...ETURN RECEIVE CHARACTER FROM COMMO LINE 0094 Al2 0094 83 C2 04 ADD DX 4 MODEM CONTROL REG rSTER 0097 BO 01 MOV AL l DATA TERMINAL READY 0099 009A EE 42 OUT INC DX AL ox MODEM STATUS REG I STER 009B 42...

Page 269: ...Of SCROLL DH DL ROW COlUMN Of LOWER RIGHT CORNER OF SCROll BH ATTRIBUTE TO BE USED ON BLANK LINE CHARACTER HAMDL I NG ROUT I NES AH 8 READ ATTRIBUTE CHARACTER AT CURRENT CURSOR POSITION BH DISPLAY PAG...

Page 270: ...AGE OOOC 0222 R ow OffSET SCROLL UP OOOE 02C6 R OW OffSET SCROLL DOWN 0010 0318 R OW OffSET READ AC CURRENT 0012 035E R OW OffSET WR I TE AC CURRENT 0014 0391 R OW OffSET WR I TCC CURRENT 0016 0109 R...

Page 271: ...E PUT CURSOR MODE IN CORRECT POSTIDN ASSUME ES ABSO OOCl 26 A3 0460 R MOV ES WORD PTR DATA_AREA CURSOR_MODE DATA AX ASSUME ES VIDEO_RAM 00C5 07 POP ES RESTORE THE SCREEN BUFFER S SEGMENT 00C6 32 E4 XO...

Page 272: ...LUE 015l II OUT RlGISTER SET 015F INC DATA REGISTER 2 0160 EB 00 JMP 10 DELAY 0162 8A C5 Mav DATA lL OUT 0165 DCC 0166 E8 00 JMP 10 DELAY 0168 8A CII MOV 016A FE CO NC POINT TO OTHER DATA GISTER fJ16C...

Page 273: ...E COLOR 0 BY SETTING THE BACKGROUND COLOR 01 E7 01E9 alEC 24 EO 80 E3 1f OA C3 AND AND OR AL OEOH BL 01 FH AL BL TURN OFF LOW 5 BITS OF CURRENT TURN OFF HIGH 3 BITS OF INPUT VALUE PUT VALUE I NTO REG...

Page 274: ...Al CRT_MODE_SET GET THE VALUE Of THE MODE SET MOV DX 03D8H ALWAYS SET COLOR CARD PORT OUT DX Al N6 VIDEO_RET_HERE JMP V IDEO_RETURN N7 BLANK_f I ElD MOV Bl DH GET ROW COUNT JMP N3 GO CLEAR THAT AREA...

Page 275: ...0 I SPLAY PAGE ALPHA MODES ONLY OS r DATA SEGMENT ES REGEN SEGMENT OUTPUT AL CHAR READ AHJ ATTRIBUTE READ j Eo cs c D 0 DA1A Es OA1 0318 0318 80 FC 04 READ_AC_CURRENT pROe CMP AH 4 NEAR IS THIS GRAPH...

Page 276: ...ITION 03A3 86 F6 MOY DI BX ADDRESS TO 0 I 03A5 59 POP ex WRITE COUNT 03A6 5B POP BX BL HAS CHAR TO WRITE 03A7 P11 WRITE_LOOP WAIT FOR HORIZONTAL RETRACE 031 7 86 16 0063 R MOY OX ADDR_6845 GET BASE AD...

Page 277: ...AX SAVE WRITE STRING OPTION 01 145 88 0200 MOV AX 0200H SET NEW CURSOR POSITION 0448 CD 10 I NT 10H 044A 58 POP AX 0448 E2 98 LOOP WR lTE_CHAR DO IT ONCE MORE UNTil CX ZERO 041 10 5A POP OX RESTORE OL...

Page 278: ...ET 04C5 2A C9 SUB CL CL ZERO INTO STORAGE LOCATION 04C7 R6 04C7 DO C8 ROR AL l LEFT JUSTIFY THE VALUE IN AL FOR WRITE 04C9 02 CD ADD CL CH ADD IN THE BIT OFFSET VALUE 04CB FE Cf DEC BH LOOP CONTROL 04...

Page 279: ...SAL INC DL 1 01 1 01 H COLUMNS 2 SINCE 2 BYTES CHAR OFFSET OK OFFSET 2 SINCE 2 BYTES CHAR PO I NT TO LAST BYTE 054E 054E 054F 0550 0552 0556 0558 OSSA 055C 055E 0560 0562 0561 0566 0568 06 1F 2A D 81...

Page 280: ...TION 0007CH TO POINT TO THE USER SUPPLIED TABLE OF GRAPHIC IMAGES 8X8 BOXES FAI LURE TO DO SO WI LL CAUSE I N STRANGE RESULTS ASSUME CS CODE DS DATA ES DATA GRAPHICS WRITE PRoe NEAR MOV AH O ZERO TO H...

Page 281: ...V SPj AL ADJUST AND STORE 0688 45 I Ne 8P 068C 83 C6 50 AOO SI 80 POINT R INTO REG N 068f FE CE OEe OH LOOP CONTROL 0691 75 L13 JNZ 512 DO I T SOME MORE 0693 8 17 90 JMP 515 GO MATCH THE SAVED CODE PO...

Page 282: ...MOV AL SI 1 J GET SECOND BYTE MOV eX OCOOOH 2 BIT MASK TO TEST THE ENTR I ES 0730 62 00 MOV DL O RESULT REG I STER 0732 S24 0732 85 Cl TEST AX CX IS THIS SECTION BACKGROllND 0734 F8 ele CLEAR CARRY IN...

Page 283: ...R AT CURRENT CURSOR 07A1 8A FC MOV BH AH STORE IN BH 07A3 U3 SCROLL UP 07A3 B8 0601 MOV AX 601H SCROLL ONE LINE 07A6 26 C9 SUB ex cx UPPER LEfT CORNER 07A8 66 18 MOV DH 24 LOWER RIGHT ROW O AA 8A 16 0...

Page 284: ...3E 0049 R 04 CMP CRT_MODE 4 DETERM I NE I F GRAPH I CS OR ALPHA 0832 72 2A JB VU ALPHA_PEN 0834 80 3E 0049 R 07 eMP CRT_MODE 7 0839 74 23 JE VU ALPHA_PEN GRAPHICS MODE 083B B2 28 MOV Dl 40 DIVISOR FO...

Page 285: ...O THE SYSTEM INPUT NO REG I STERS TilE EQU I P FLAG VAR I ABLE I S SET OUR I NG TH E POWER ON DIAGNOSflCS USING THE FOLLOWING HARDWARE ASSUMPTIONS PORT 3 FA I NTERfW PT I D REG I STER Of 8250 PR II AR...

Page 286: ...081 72 OC JB NMI_3 0083 0087 81 FA 8000 73 OC CMP JAE OX 8000H NMI 4 CHECK ABOVE 512K CHECK fOR 10 CHECK 0089 E4 80 IN AL MFG_PORT GET THE SWITCH SETTINGS 008B A8 10 TEST AL BASE_RAM CHECK fOR 2ND 256...

Page 287: ...014C POD_DONE 014C FA CLI 01110 014F E4 21 24 FE IN ANO AL 021H AL OFEH 0151 0153 E6 21 f OUT STI 021H AL 0154 1f POP OS POPA 0155 61 OB 061H 0156 C3 RET 0157 TOO_ERROR 0157 1f POP OS POPA 0158 61 DB...

Page 288: ...5 146 BIOS...

Page 289: ...NUMBER OF MICROSECONDS TO ELAPSE BEFORE RETURN TO CALLER AH 87H MOVE BLOCK CX NUMBER OF WORDS TO MOVE ES SI l POINTER TO DESCRI PTOR TABLE AHl 88H EXTENDED MEMORY SIZE DETERMINE AH 89H PROCESSOR TO V...

Page 290: ...AL aBH ENABLE PI E 0081 E6 70 OUT CMOS PORT AL 0083 E4 71 IN AL CMOS_PORT 1 0085 24 7F AND AL 07FH 0087 DC 40 OR AL 040H 0089 50 PUSH AX abBA 008C 008E 008F ao OB E6 70 5 E6 71 MOV OUT POP OUT Al OBH...

Page 291: ...ER 0 MOV AH AL JMP SHORT 2 IN AL TIMER READ HIGH BYTE OF TIMER 0 XCHG AH AL REARRANGE TO HIGH LOW CMP CX AX CHECK FOR COUNTER WRAP JAE TEST_CORD_4 GO I F NO PUSH OX MOV DX 1 SUB oX AX ADJUST FOR WRAP...

Page 292: ...ESIDENT 4 THE CURRENT USER STACK SEGMENT AND OFFSET IS SAVED 5 THE GDTR IS LOADED WITH THE OFFSET INTO ES SI 6 THE IDTR SELECTOR I S ROM RES I DENT AND I S LOADED 7 THE PROCESSOR I S PUT I N V I RTUAl...

Page 293: ...AX 0187 01B8 01BA 01BC 0 03 08 73 02 FE C6 DB ADD JNC INC BX AX BL3A DH DEVELOPE THE LOW WORD ADDRESS GO I F NO CARRY INCREMENT THE HIGH BYTE ADORES 01 BE 01C2 26 88 74 OC 26 89 5C OA BL3A I DT_Loc BA...

Page 294: ...AX V I RTUAL_ENABLE MACH I NE STATUS WORD NEEDED TO LMSW AX SWITCH TO VIRTUAL MODE DB OOFH 70012 LABEL BYTE MOV SI AX 0013 LABEL BYTE ORG OFFSET CS 0012 DB OOlH ORG OFFSET CS 0013 JUMPFAR VIRT BIOS_C...

Page 295: ...cha ngas 02CC 87 DB Access rights byte 02CD 0000 OW Reserved EXCEPT I ON 05 02Cf 03A7 R DESCR_OEF GATE EX_I NT B IOS_CS 0 TRAP_GATE ow EX_INT Destination offset 0201 0203 0020 00 DW DB BIOS_CS 0 Desti...

Page 296: ...CR_DEF GAT E EX_I NT B I OS_CS 0 TRAP_GATE 0347 03A7 R OW EX_ I NT Destination offset 0349 034B 0020 00 DW BIOS_CS Destination segment selector DB 0 Word count foc stack to stack copy only for ca I I...

Page 297: ...I NPUT BUFFER EMPTY 03B4 75 10 JNZ GATE A20_RETURN RETURN IF 8042 UNABLE TO ACCEPT COMMAND 0386 80 01 MOV AL OD1H 8042 COMMAND TO WRITE OUTPUT PORT 03B8 E6 64 OUT STATUS_PORT AL OUTPUT COMMAND TO 8042...

Page 298: ...E IT S EXECUTION WHILE IN PROTECTED MODE WHEN CONTROL GETS PASSED TO THE USER S CODE TH I S DESCR I PTOR CAN BE USED BY HI H I N ANY WAY HE CHOOSES NOTE EACH DESCRIPTOR MUST CONTAIN ALL THE NECESSARY...

Page 299: ...AS THE COMMAND ACCEPTED GO I F YES 03FO 84 FF MOV AH OFFH SET THE EMOR FLAG 03F2 F9 STe SET CARRY 03F3 eF IRET EARLY EXIT 03F4 B I T20_0N SECOV ES LOAD THE GLOBAl DESCR I PTOR TABLE REG 03F4 26 DB 026...

Page 300: ...T LOW WORD OF CS O SET ACCESS RIGHTS BYTE 3D 9B MOV ES 51 J BIO CS DATA ACC R I GHTS CPLO CODE ACCESS 3E 0000 MOV E5 SI BIO CS DATA RESERVED O ZERO RESERVED AREA ENABLE PROTECTED MODE MOV AX V I RTUAL...

Page 301: ...F E TIME OF DAY 1 ST 1 PUSH PROC OS FAR INTERRUPTS BACK ON SAVE SEGMENT 0002 E8 0000 E CALL DDS SET DATA SEGMENT 0005 0007 OA 4 74 14 OR JZ AH AH T2 AH O READ TIME 0009 FE CC DEC AM AH 0008 0000 4 23...

Page 302: ..._I NC_2 AL DH CMOS_PORT l AL PORT INC 2 AL cI CMOS PORT l AL PORCI NC_2 AL CH CMOS_PORT l AL OL OAH PORT INC OX AL CMOS_PORT l AL 23H AL OL AL 02H AX DL OAH PORT INC AX CMOS_PORT l AL Tl DONE ENOP PRO...

Page 303: ...DRESS MOV AL DL OUT CMOS_PORT AL RET PORT_INC 2 ADD OL 2 I NCREMENT ADDRESS MOV AL DL OUT CMOS_PORT AL RET NITlALlZCSTATUS PRoe NEAR PUSH ox SAVE MDV DL 09H CALL PORT_I NC MOV AL 26H OUT CMOS PORT l A...

Page 304: ...8 75 15 CMP JNZ TIMER HIGH 018H T5 TEST FOR COUNT EQUALLI NG 24 HOURS 01 SKETTE_CTL 0240 0246 81 3E 006C R OOBO 75 00 CMP JNZ MER_LOW OBOH T I MER HAS GONE 24 HOURS 0248 2B CO SUB AX AX 024A A3 006E R...

Page 305: ...OR 02B4 75 21 JNZ ERR10 JUMP I F ERROR DETECTED 02B6 FE C2 INC Ol ADVANCE TO NEXT COLUMN 02B8 02SA 02SC 3A CA 75 OF 32 02 CMP JNZ XOR Cl DL PR 11 Dl DL SEE If AT END OF LINE I F NoT PROCEED BACK TO CO...

Page 306: ...5 164 BIOS 2...

Page 307: ...BLIC PUBLIC PUBLIC PUBLI C PUBL IC PUBL I C PUBLl C PUBLt C PUBLI C PUBL I C PUBLIC PUBlI C K 6 NEAR I NT 287 NEAR DSKETTCSETUP NEAR 0 SK_SETUP NEAR sEEK NEAR RTC INT NEAR START_1 NEAR NMI_INT_ NEAR B...

Page 308: ...13 10 lIS 72 72 6F 72 00 OA OOFC 20 31 30 31 20 1 3 El B DB 401 CRT Error 13 10 52 5 1 20 115 72 72 6F 72 OD OA 010C 20 35 30 31 2D 43 501 CRT Error 13 10 2 1 20 4 72 72 6F 72 OD OA 011C 2U 32 30 32...

Page 309: ...74 65 60 20 42 6F 61 72 64 20 45 72 72 6F 72 00 OA MEMORY SIZE ERROR 032A 20 31 36 34 20 40 E1_A D B 164 Memory Size Error Run SETUP 13 10 65 60 6F 72 79 20 53 69 7A 65 20 45 72 72 6F 72 20 28 52 75 6...

Page 310: ...0436 0200 OW 05120 WRITE PRE COMPENSATION CYL 0438 00 DB 0 0439 00 DB 0 CONTROL BYTE 043 1 00 00 00 08 0 0 0 0430 03AC OW 09400 LAND I NG ZONE 043f 0440 11 00 08 DB 170 0 SECTORS TRACK DRIVE TYPE 05 0...

Page 311: ...O 0 01280 0 0 0 0 0 03190 170 0 CYLI NOERS HEADS WR I TE PRE COMPENSAT I ON CYL CONTROL BYTE LAND I NG ZONE SECTORS TRACK DR I VE TYPE 14 0401 0403 0404 0406 0lt08 0409 04DA 0400 040F 04 0 0200 21 2 0...

Page 312: ...0H 1 5CH I zxcvbnm 1 1 1 I 76 62 6E 60 2C 2E 2F FF 2A FF 20 091A FF DB 1 UC TABLE 0918 k11 LABEL BYTE 091B 1B 21 40 23 24 25 DB SE 26 2A 28 29 5F 28 08 00 092A 51 Yf 45 52 511 59 DB QWERTYU IOPt J OH...

Page 313: ...OFFSET WR I TE_At_CURRENT 1059 0000 E OW OFFSET WR I TE C CURRENT 105B 0000 E UW OFFSET SET COLOR 1050 0000 E OW OFFSET WRITE DOT 105f 0000 E DW OFFSET READ DOT 1061 0000 E OW OFfSET WRITE TTY 1063 00...

Page 314: ...H 018H 07 H 03CH 018H OFFH 0_17 18 FF lB2E 18 3C 7E 18 18 18 DB 018H 03CH 07EH 018H 018H 018H 018H OOOH 0_18 18 00 1B36 18 18 18 18 7E 3C DB 01 8H 018H 0 18H 018H 07 H 03CH 018H OOOH 0_19 18 00 lB3E 0...

Page 315: ...lC 00 lCFE FC 66 66 7C 6C 66 DB OFCH 066H 066H 07CH 06CH 066H OE6H OOOH R 0_52 E6 00 1D06 78 CC EO 70 lC CC DB 07BH OCCH OEOH 070H 01 CH OCCH 07BH OOOH SO_53 78 00 100E FC B4 30 30 30 30 DB oFCH OB4H...

Page 316: ...ECTOR fABLE 1 EF3 1 EAS R OW OFFSET TIMER INT I NTERRU T 8 1 EFS 0987 R OW OFFSET KB INT INTERRUPT 9 1EF7 0000 E OW OFFSET D f INTERRUPT A SLAVE INPUT 1EF9 0000 E OW OFFSET 011 INTERRUPT B 1EFB 0000 E...

Page 317: ...POWER ON RESET 1FFO P_O_R LABEL FAR lFFO LA DR OEAH HARD CODE JUMP HFl 005B R DW OFFS T RESET OFFSET 1 f F3 FOOO DW DFOOOH SEGMENT lFF5 30 31 21 31 30 2 DB 01 10 84 RELEASE MARKER 38 34 lFFE ORG 01 FF...

Page 318: ...5 176 ORGS...

Page 319: ...Transfer 6 3 Arithmetic 6 6 Logic 6 10 String Manipulation 6 12 Control Transfer 6 13 Processor Control 6 19 Protection Control 6 21 80287 Coprocessor Instruction Set 6 24 Data Transfer 6 24 Compariso...

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

Page 321: ...Data Transfer MOV move Register to Register Memory 1000100w mod reg r w Register Memory to Register 1000101w I mod reg r w 1100011w data if w 1 Immediate to Register 1011wreg I data I data ifw 1 Memo...

Page 322: ...I01010reg Segment Register I oooreg110 Immediate I01101050 Idata Idata if 5 0 PUSHA Push All Push All I01100000 POP Pop Memo I10001111 Imodooo rim Register I01011reg Segment Register I000res111 res z...

Page 323: ...1110010w 1 port Variable Port 1 1110110w OUT Output To Fixed Port 1110011w 1 port Variable Port 1 1110111 w XLAT Translate Byte to AL Translate Byte to AL 111010111 LEA Load EA to Register Load EA to...

Page 324: ...11 SAUF Load AH with Flags Store AH with Flags 110011110 PUSHF Push Flags Push Flags 1 10011100 POPF Pop Flags Pop Flags 10011101 Arithmetic ADD Add Reg Memory with Register to Either l ooooooOw 1 mod...

Page 325: ...ter 01 000reg SUB Subtract Reg Memory with Register to Either I001010dw mod reg rim Immediate from Register Memory 100000sw mod101 rim I data I data if sw 01 Immediate from Accumulator 0010110w data I...

Page 326: ...ith Register I 0011101w I mod regr m Register with Register Memory I0011100w mod reg rIm 100000sw Data if sw 01 Immediate with Accumulator I 0OO111Ow Data I Data if w 1 NEG Change Sign Change Sign 111...

Page 327: ...tiply Signed Integer Multiply 11111011w I mod101 rim IIMUL Integer Immediate Multiply Signed Integer Immediate Multiply I01101051 I mod reg rim I Data I Data if 5 0 DIV Divide Unsigned Divide I 111101...

Page 328: ...ord 10011001 Logic Shift Rotate Instructions Register Memory by 1 1101000w 1 mod TTT rim Register Memory by CL 1101001w 1 mod TTT rim Register Memory by Count 1100000w 1 mod TTT rim 1 Count T T T Inst...

Page 329: ...ata I Data ifw 1 Immediate to Accumulator I0000110w Data I Data if w 1 Or Or Reg Memory and Register to Either I000010dw mod reg rim Immediate to Register Memory 1000000w mod001 rim I Data I Data if w...

Page 330: ...ve Byte Word Move Byte Word I 1010010w CMPS Compare Byte Word Compare Byte Word I 1010011w seAS Scan Byte Word Scan Byte Word I 1010111w LODS Load Byte Word to AL AX Load Byte Word to AL AX 11010110w...

Page 331: ...ing Compare String 1 1111001z 1101oo11w SCAS Scan String 1 11110010 1 1010111w Scan String LODS Load String 111110010 11010110w Load String STOS Store String 1 11110010 1 1010101w Store String INS Inp...

Page 332: ...o different privilege level x parameters Via TSS Via task gate Indirect Interse ment 11111111 mod011 rim mod 11 Protected Mode Only Indirect Intersegment Via call gate to same privilege level Via call...

Page 333: ...segment 11111111 I mod101 rim mod 11 Protected Mode Only Indirect Intersegment Via call gate to same privilege level Via TSS Via task gate RET Return from Call Within Segment 11000011 11000010 Interse...

Page 334: ...111110 I disp JB JNAE Jump on Less or Equal Not Greater Jump on Less or Equal Not Greater I 01110010 I disp JBE JNA Jump on Below or Equal NotAbove Jump on Below or Equal Not Above I 01110110 I disp J...

Page 335: ...JNB JAE Jump on Not Below Above or Equal Jump on Not Below Above or Equal I 01110011 I disp JNBE JA Jump on Not Below or Equal Above Jump on Not Below or Equal Above I01110111 I disp JNP JPO Jump on N...

Page 336: ...Not Equal Zero Loop while Not Equal Zero 1 11100000 1 disp JCXZ Jump on CX Zero Jump on ex Zero 1 11100011 1 disp ENTER Enter Procedure Enter Procedure 11001000 1 data low 1 data high L L O L l L l LE...

Page 337: ...level Via task gate IRET Interrupt Return Interrupt Return 111001111 Protected Mode Only To same privilege level To different task NT O BOUND Detect Value Out of Range Detect Value Out of Range 1 011...

Page 338: ...errupt Clear Interrupt 1 11111010 STI Set Interrupt Set Interrupt 1 11111011 HLT Halt Halt 111110100 WAIT Wait Wait 1 10011011 LOCK Bus Lock Prefix Bus Lock Prefix 111110000 CTS Clear Task Switched Fl...

Page 339: ...ter I00001111 I 00000001 I mod011 rim SIDT Store Interrupt Descriptor Table Register Store Interrupt Descriptor Table Register I00001111 I 00000001 I mod001 rim LLDT Load Local Descriptor Table Regist...

Page 340: ...ister Memory I00001111 I 00000011 I mod reg rim ARPL Adjust Requested Privilege Level from Register Memory Adjust Requested Privilege Level from Register Memory I 01100011 I mod reg rim VERR Verify Re...

Page 341: ...EA SI disp If rim 101 then EA 01 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 Segment Override Prefix Segment Ove...

Page 342: ...Coprocessor Instruction Set The following is an instruction set summary for the 80287 coprocessor Data Transfer FLD Load Integer Real Memory to ST O I escape MF 1 I mod 000 rim Long Integer Memory to...

Page 343: ...1 rIm ST O to BCD Memory I escape 111 I mod 110 rIm ST O to ST i I escape 101 11011 8T i FXCH Exchange ST i and ST O Exchange ST j and ST O Iescape 001 I 11001 8T i Comparison FCOM Compare Integer Rea...

Page 344: ...00 Test ST O FXAM Examine ST O 1 escape 001 111100101 Examine ST O Constants FLDZ Load 0 0 into ST O Load 0 0 into ST O Iescape 000 1 11101110 FLDI Load 1 0 into ST O Load 1 0 into ST O 1 escape 001 1...

Page 345: ...dition Integer Real Memory with ST O I escape MF 0 I mod 000 rim ST II and ST O I escape dPO I 11000 ST i FSUB Subtraction Integer Real Memory with ST O I escape MF 0 I mod 10r rim ST i and ST O I esc...

Page 346: ...1111101 FPREM Partial Remainder of ST O ST l Partial Remainder of ST O ST 1 I escape 001 111111000 FRNDINT Round ST O to Integer Round ST O to Integer I escape 001 111111100 FXTRACT Extract Components...

Page 347: ...cape 001 1 11110011 F2XM1 2ST O _1 ST O 1 escape 001 1 11110000 FYL2X ST 1 X Logz ST O 1z ST O ST 1 x log 1 escape 001 1 11110001 FYL2XP1 ST l X Logz ST O 1 z ST O 1 ST 1 x log 1 escape 001 111111001...

Page 348: ...pe 001 1 mod 111 rim FSTSW Store Status Word Store Status Word 1 escape 101 1 mod 101 rim FCLEX Clear Exceptions Clear Exceptions 1 escape 011 111100010 FSTENV Store Environment Store Environment 1 es...

Page 349: ...k Pointer Increment Stack Pointer 1 escape 001 1 11110111 FDECSTP Decrement Stack Pointer Decrement Stack Pointer 1 escape 001 111110110 FFREE Free ST i Free ST j I escape 101 1 11000ST i FNOP No Oper...

Page 350: ...Notes 6 32 Instruction Set...

Page 351: ...SECTION 7 CHARACTERS KEYSTROKES AND COLORS Contents Characters Keystrokes and Color 7 3 NOTES 7 13 Characters Keystrokes and Colors 7 1...

Page 352: ...Notes 7 2 Characters Keystrokes and Color...

Page 353: ...t Backspace 09 9 Ctrl I Black Light Blue High Intensity 0 Underline OA 10 Ctrl J Black Light Green High Intensity Ctrl OB 11 d Ctrl K Black Light Green High Intensity OC 12 Q Ctrl L Black Light Red Hi...

Page 354: ...ensity 1F 31 Ctrl Blue White High Intensity 20 32 Blank Space Bar Green Black Normal Space Shift Space Ctrl Space Alt Space 21 33 I I Shift Green Blue Underline 22 34 Shift Green Green Normal 23 35 Sh...

Page 355: ...yan Light Blue High Intensity Underline 3A 58 Shift Cyan Light Green High Intensity 3B 59 Cyan Light Cyan High Intensity 3C 60 Shift Cyan Light Red High Intensity 3D 61 Cyan Light High Intensity Magen...

Page 356: ...U U Note 4 Magenta Magenta Normal 56 86 V V Note 4 Magenta Brown Normal 57 87 W W Note 4 Magenta Light Grey Normal 58 88 X X Note 4 Magenta Oark Grey High Intensity 59 89 Y Y Note 4 Magenta Light Blue...

Page 357: ...0 Note 5 Yellow White High Intensity 70 112 p p Note 5 White Black Reverse Video 71 113 q q Note 5 White Blue Underline 72 114 r r Note 5 White Green Normal 73 115 s s Note 5 White Cyan Normal 74 116...

Page 358: ...8A 138 e Alt 138 Note 6 Black Light Green High Intensity 8B 139 i Alt 139 Note 6 Black Light Cyan High Intensity 8C 140 i Alt 140 Note 6 Black Light Red High Intensity 8D 141 i Alt 141 Note 6 Black Li...

Page 359: ...genta Normal A6 166 Alt 166 Note 6 Green Brown Normal A7 167 Alt 167 Note 6 Green Light Grey Normal A8 168 i Alt 168 Note 6 Green Dark Grey High Intensity A9 169 r Alt 169 Note 6 Green Light Blue High...

Page 360: ...O 192 L All 192 Note 6 Red Black Normal T C1 193 All 193 Note 6 Red Blue Underline C2 194 Alt 194 Note 6 Red Green Normal C3 195 Alt 195 Note 6 Red Cyan Normal t C4 196 Alt 196 Note 6 Red Red Normal C...

Page 361: ...219 ote 6 agenta Light Cyan High Intensity DC 220 Alt 220 Note 6 Magenta Light Red High Intensity DD 221 Alt 221 Note 6 Magenta Light High Intensity Magenta DE 222 Alt 222 Note 6 Magenta Yellow High I...

Page 362: ...mal F3 243 S Alt 243 Note 6 White Cyan Normal F4 244 Alt 244 Note 6 White Red Normal r F5 245 J Alt 245 Note 6 White Magenta Normal F6 246 Alt 246 Note 6 White Brown Normal F7 247 Alt 247 Note 6 White...

Page 363: ...r 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...

Page 364: ...0 0 NULL SPACE 0 p P 1 1 I q 1 A Q a 2 2 l II 2 B R b r 3 3 IF 3 C S c s 4 4 crT 4 D T d t 5 5 4t CJ o 5 E U e u 6 6 6 F V f v 7 7 7 G W g W 8 8 i 8 H X h x 9 9 0 1 9 I Y 1 Y 10 A J Z J z I I B d K k...

Page 365: ...U tE a 1 ex fJ 2 3 I 2 3 e fE A 0 0 U I r lL 1T 4 5 4 5 a a 0 0 n I N b L a F r J 6 6 0 a 1 u a f 1 F r y 0 0 7 7 u 0 In T 8 9 8 9 e e y 0 0 L I P J Q e 0 10 A e U _L n I I B 1 Y2 n 0 r 12 c 1 b 00 n...

Page 366: ...Notes 7 16 Characters Keystrokes and Color...

Page 367: ...SECTION 8 COMMUNICATIONS Contents Communications 8 3 Establishing a Data Link 8 6 Communications 8 1...

Page 368: ...Notes 8 2 Communications...

Page 369: ...n in the figure however other types of DCE also can be connected to the DTE using EIA or CCITT standardized connections EIA standards are labeled RS x recommended standards x and CCITT standards are l...

Page 370: ...Data Set Ready CC 107 Data Terminal Modem Data Terminal Ready CD 108 2 Equip Connect Data Set to line 108 1 ment Received Line Signal Detector CF 109 Speed Select CH 111 Transmit Signal Element Timin...

Page 371: ...quence Data Terminal Ready Data Set Ready Request to Send ________ r L___ Clear to Send Transmitted Data Nonswitched Timing Sequence Data Terminal Ready 1 Data Terminal Ready ______r L___ Request to S...

Page 372: ...dem to turn off the carrier and deactivate the clear to send line 11 Terminal A and modem A now become receivers and wait for a response from terminal B indicating that all data has reached terminal B...

Page 373: ...II L_J 0 Ii Transmitter Signal I d I Element Timing r i II II L_C _J II Transmitted II II 01 Oat III I I 1 I 0 II L r J r R HU t to SendllJ II 1 i I Carner 1 I I Received line L _ _ _ _ _ _ _ _ I u u...

Page 374: ...their received data line To respond to the poll station A activates its request to send line III which causes the modem to begin transmitting a carrier signal 7 8 9 10 When station A detects the acti...

Page 375: ...II I I 0 D d Data Transmitter Signal d I r II Element Timingl I _ a J II II II liB AA II Transmitted Data 0 II II J D 1 II 1 to Send r II I Carner f t I i II 0 1 I Generate r II L _ _ _ _ J D 0 I IRec...

Page 376: ...ndicator linelDto terminal B 7 Terminal B activates the data terminal ready line to modem Bm which activates the autoanswer circuits in modem B The data terminal ready line might already be active in...

Page 377: ...nd Is I Iml Ring Indic orIEI 1 0 1 I I d Cut Th ough Cut Th ough II L J L J CCT iwl 10 I I a I lu II I y I T odemD Data Modem II I e I I d II L_J II Ready OA Readv DA I I I u I I la r r l L J I I II i...

Page 378: ...Notes 8 12 Communications...

Page 379: ...n Guidelines 9 5 High Level Language Considerations 9 5 Assembler Language Programming Considerations 9 6 Multi tasking Provisions 9 11 Interfaces 9 11 Classes 9 13 Timeouts 9 15 SYS REQ Key 9 15 Subs...

Page 380: ...Notes 9 2 Compatibility...

Page 381: ...oard uses an Intel 80286 microprocessor which is generally compatible with the Intel 8088 microprocessor used in the rest of the IBM Personal Computers Programming considerations because of the faster...

Page 382: ...0Kb and 1 2Mb mode However if a diskette formatted in either the 160 180Kb or 320 360Kb mode is written on by this diskette drive that information may only be read by a high capacity diskette drive No...

Page 383: ...ines The following information should be used to develop application programs for the IBM Personal Computer family High Level Language Considerations The IBM supported languages of BASIC FORTRAN COBAL...

Page 384: ...irtual address mode with CPL 5IOPL then a pending maskable interrupt the INTR pin active may be improperly recognized after executing the POPF instruction even if maskable interrupts were disabled bef...

Page 385: ...s to these functions r This practice removes the absolute addressing from the program Only the interrupt number is required The math coprocessor detects six different exception conditions that can occ...

Page 386: ...he IBM Personal Computer AT The system can mask hardware sensitivity New devices can change the ROM BIOS to accept the same programming interface on the new device In cases where BIOS provides paramet...

Page 387: ...e time will be enforced for a High Capacity Diskette Drive and 20 milliseconds will be enforced for a Double Sided Diskette Drive If a parameter block contains a motor start wait parameter of less tha...

Page 388: ...Vectors hex O A program may change these to point at different processing routines When an interrupt vector is modified the original value should be retained If the interrupt either hardware or progr...

Page 389: ...ts own load addresses A program s memory requirement should be identified and contiguous with the load module A program should not assume that all of memory is available to it Multi tasking Provisions...

Page 390: ...return via the IRET instruction Serialization It is up to the multi tasking system to insure that the device driver code is used in a serial fashion Multiple entries into the code can result in very...

Page 391: ...n interrupt 15 occurs with a function code 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 fo...

Page 392: ...t the loop Function Code Classes type code AL Description OOh 7Fh serially reusable devices operating system must serialize access 80h OBFh reentrant devices ES BX is used to distinguish different cal...

Page 393: ...ly it is necessary for the multi tasking dispatcher to be aware of time If a device enters a busy loop it generally should remain there for a specific amount of time before indicating an error The dis...

Page 394: ...to the rest of the subsystems previously installed that it is starting and at the same time provides the address of a lock This lock must be set incremented by subsystems higher in the hierarchy when...

Page 395: ...ents the lock When it completes running it decrements the lock This allows proper synchronization of resources and subsystems SYS REQ Key Functions During initialization the subsystem also needs to co...

Page 396: ...puter and the IBM Personal Computer XT a multiple key sequence must be used to access the SYS key functions SYS Key Interfaces There are four interfaces needed by the SYS code to support a subsystem s...

Page 397: ...Active Super Active Completion Idle Super cur Startup Active Action activate subsys cur activate subsys code increment num set cur to num insert entry point and code cancel subsys cur decrement cur a...

Page 398: ...nitialization code needs to hook the vector for interrupt iSH save the previous address and reissue the initialization call Activation This is a signal from the SYS REQ processing module that a subsys...

Page 399: ...valid opportunity to run through its dispatcher code in a normal fashion The subsystem entry point is CALLED with the AH register set to 1 Completion The following call signals completion Completion...

Page 400: ...hich is performed by BIOS Data Transfer Rate BIOS selects the proper data transfer rate for the media being used r Disk Base Copy protection which creates its own disk base will not work on the High C...

Page 401: ...media being used Machine Sensitive Code Programs may program for machine specific features but they must test for specific machine type Location hex OFFFF OE contains the machine identification Hex Ma...

Page 402: ...Notes 9 24 Compatibility...

Page 403: ...ce or unit used to extend the operation of another system address bus One or more conductors used to carry the binary coded address from the processor throughout the rest of the system algorithm A fin...

Page 404: ...1 Pertaining to data in the form of continuously variable physical quantities 2 Contrast with digitaL AND A logic operator having the property that if P is a statement Q is a statement R is a stateme...

Page 405: ...ice that is not main storage 2 Data storage other than main storage for example storage on magnetic disk 3 Contrast with main storage BASIC Beginner s all purpose symbolic instruction code basic input...

Page 406: ...nchronous transmission of binary coded data between stations BIOS Basic input output system bit Synonym for binary digit bits per second bps A unit of measurement representing the number of discrete b...

Page 407: ...ut data bus One or more conductors used for transmitting signals or power byte 1 A sequence of eight adjacent binary digits that are operated upon as a unit 2 A binary character operated upon as a uni...

Page 408: ...A set of unique representations called characters 3 A defined collection of characters characters per second cps A standard unit of measurement for the speed at which a printer prints check key A grou...

Page 409: ...rks with a wide range of power supply voltages computer A functional unit that can perform substantial computation including numerous arithmetic operations or logic operations without intervention by...

Page 410: ...odem control cursor 1 In computer graphics a movable marker that is used to indicate a position on a display 2 A displayed symbol that acts as a marker to help the user locate a point in text in a sys...

Page 411: ...put and control functions to accomplish a sequence of operations on data data transmission Synonym for transmission dB Decibel dBa Adjusted decibels dc Direct current debounce An electronic means of o...

Page 412: ...one direction direct memory access DMA A method of transferring data between main storage and 110 devices that does not require processor intervention disable To stop the operation of a circuit or dev...

Page 413: ...rs by dots 2 In word processing a pattern of dots used to form characters This term normally refers to a small section of a set of addressable points for example a representation of characters by dots...

Page 414: ...tion circuit EIA Electronic Industries Association electromagnet Any device that exhibits magnetism only while an electric current flows through it enable To initiate the operation of a circuit or dev...

Page 415: ...The detection and correction of all single bit errors plus the detection of double bit and some multiple bit errors ESC The escape character escape character ESC A code extension character used in so...

Page 416: ...sk drive flag 1 Any of various types of indicators used for identification 2 A character that signals the occurrence of some condition such as the end of a word 3 Deprecated term for mark flexible dis...

Page 417: ...begins and ends with a flag 2 In data transmission the sequence of contiguous bits bracketed by and including beginning and ending flag sequences g Gram G 1 Prefix giga I 000000000 2 When referring t...

Page 418: ...net used to read write or erase data on a magnetic disk hertz Hz A unit of frequency equal to one cycle per second hex Common abbreviation for hexadecimal hexadecimal 1 Pertaining to a selection choic...

Page 419: ...y gives a visual or other indication of the existence of the prescribed state and that may in some cases be used to determine the selection among alternative processes for example an overflow indicato...

Page 420: ...s interleave To arrange parts of one sequence of things or events so that they alternate with parts of one or more other sequences of the same nature and so that each sequence retains its identity int...

Page 421: ...ightmost digit See also low order position LED Light emitting diode light emitting diode LED A semiconductor device that gives off visible or infrared light when activated load In programming to enter...

Page 422: ...cessing 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...

Page 423: ...ion set implemented in a part of storage that is not program addressable microinstruction 1 An instruction of microcode 2 A basic or elementary machine instruction microprocessor An integrated circuit...

Page 424: ...ried in accordance with another wave or signal usually low frequency This technique is used in modems to make business machine signals compatible with communication facilities modulation rate The reci...

Page 425: ...is a statement then the NAND of P Q R is true if at least one statement is false false if all statements are true NAND gate A gate in which the output is 0 only if all inputs are 1 nano n Prefix 0 000...

Page 426: ...is used to accomplish media fill or time fill and that may be inserted into or removed from a sequence of characters without affecting the meaning of the sequence however the control of the equipment...

Page 427: ...e if all statements are false OR gate A gate in which the output is 1 only if at least one input is output Pertaining to a device process or channel involved in an output process or to the data or sta...

Page 428: ...in a procedure that is used to refer to an argument passed to that procedure parity bit A binary digit appended to a group of binary digits to make the sum of all the digits either always odd odd pari...

Page 429: ...precedence in receiving system resources processing program A program that performs such functions as compiling assembling or translating for a particular programming language processing unit A functi...

Page 430: ...mmunicating parties 2 The set of rules governing the operation of functional units of a communication system that must be followed if communication is to be achieved pulse A variation in the value of...

Page 431: ...OM A storage device whose contents cannot be modified The memory is retained when power is removed read write memory A storage device whose contents can be modified Also called RAM recoverable error A...

Page 432: ...e device used to convert the composite video signal to the antenna level input of a home TV RGBI Red green blue intensity rising edge Synonym for positive going edge ROM Read only memory ROM BIOS The...

Page 433: ...nd consecutive which refer to processes 2 Pertaining to the sequential or consecutive occurrence of two or more related activities in a single device or channel 3 Pertaining to the sequential processi...

Page 434: ...ction 2 In a start stop system a signal preceding a character or block that prepares the receiving device for the reception of the code elements start of text STX A transmission control character that...

Page 435: ...esentation of a concept or a representation of something by reason of relationship association or convention 2 A representation of something by reason of relationship association or convention synchro...

Page 436: ...1 The path or one of the set of paths parallel to the reference edge on a data medium associated with a single reading or writing component as the data medium moves past the component 2 The portion o...

Page 437: ...att watt The practical unit of electric power 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 storag...

Page 438: ...Notes Glossary 36...

Page 439: ...tion 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 Corpora...

Page 440: ...Notes Bihliography 2...

Page 441: ...1 13 address latch enable 1 26 address latch enable buffered 1 23 address mode real 1 4 address space I O 1 15 address segment 1 4 addresses CMOS RAM 1 45 addresses page register 1 13 AEN 1 23 1 26 AL...

Page 442: ...iagram keyboard interface 1 38 system xv system board 1 6 system timer 1 9 board system 1 3 BOUND 6 19 break code 4 4 4 10 break key 5 19 buffer keyboard 4 3 buffered address latch enable 1 23 buffers...

Page 443: ...M addresses 1 45 CMOS RAM configuration 1 48 CMOS RAM I O operations 1 54 CMP 6 8 COBAL 9 5 device driver 9 11 machine identification 9 23 machine sensitive 9 23 extended 5 17 multi tasking function 9...

Page 444: ...control transfer instructions 6 13 controller keyboard 1 31 controllers bus 1 23 DMA 1 7 1 12 1 13 1 22 interrupt 1 10 refresh 1 7 controls math coprocessor 1 29 coprocessor programming 2 3 coprocess...

Page 445: ...ry access 1 12 disk pointer 9 8 disk_base 9 8 9 22 diskette change signal 9 23 diskette data transfer rate 9 22 diskette rotational speed 9 22 diskette track density 9 22 diskette write current 9 23 D...

Page 446: ...ended codes 5 17 F FABS 6 28 FADD 6 27 fan out 3 6 FCHS 6 28 FCLEX 6 30 FCOM 6 25 FCOMP 6 25 FCOMPP 6 26 FDECSTP 6 31 FDIV 6 27 FFREE 6 31 FIFO 4 3 FINCSTP 6 31 FINT 6 29 FLD 6 24 FLDCW 6 30 FLDENV 6...

Page 447: ...30 FSTENV 6 30 FSTP 6 25 FSTSW 6 30 FSTSWAX 6 30 FSUB 6 27 FTST 6 26 function calls DOS 9 7 function codes multi tasking 9 14 FXAM 6 26 FXCH 6 25 FXTRACT 6 28 FYL2X 6 29 FYL2XPI 6 29 F2XMl 6 29 G game...

Page 448: ...nnel connectors 1 15 1 17 1 18 1 19 I O channel ready 1 24 I O channel signals 1 22 I O chip select 1 27 I O commands 9 7 I O CS16 1 27 I O ports keyboard controller 1 43 I O read 1 24 I O write 1 24...

Page 449: ...ard 4 3 interfaces multi tasking 9 12 interfaces SYS code 9 18 interrupt controller 1 10 interrupt mask register 9 10 interrupt service routine 1 24 interrupt vectors 9 10 interrupt single step 9 7 in...

Page 450: ...n codes 4 10 keyboard buffer 4 3 clock line 1 43 4 5 4 14 4 15 commands 4 12 connector 1 58 4 23 controller 1 31 controller commands 1 40 controller I O ports 1 43 controller input buffer 1 40 control...

Page 451: ...alian 4 21 keyboard Spanish 4 22 keyboard U K English 4 18 keyboard U S English 4 17 keylock 4 3 keys 4 3 break 5 19 caps lock 5 19 combinations 5 20 control 5 19 number lock 5 20 pause 5 19 print scr...

Page 452: ...17 loop busy 9 12 LOOPNZ LOOPNE 6 18 loops program 9 10 LOOPZ LOOPE 6 18 LSL 6 22 LTR 6 21 M machine identification code 9 23 machine sensitive code 9 23 make code 4 3 4 10 mask off 1 29 mask on 1 29...

Page 453: ...etion 9 21 function codes 9 14 interfaces 9 12 provisions 9 11 serialization 9 12 startup 9 12 9 20 subsystems 9 16 multipoint line 8 5 N NEG 6 8 network nonswitched 8 5 network switched 8 5 NMI 1 10...

Page 454: ...ster addresses 1 13 parameter gap length 9 9 passing 5 4 tables 9 8 parameters BIOS fixed disk 1 51 PASCAL 9 5 pause key 5 19 performance system 1 7 point to point line 8 5 POP 6 4 POPA 6 4 POPF 6 6 9...

Page 455: ...er 1 30 RAM modules 1 12 RAM subsystem 1 12 RAM CMOS 1 45 rate typematic 4 4 4 7 real address mode 1 4 2 5 real mode 5 3 real time clock 1 45 record configuration 1 45 refid admod virtual 1 4 REFRESH...

Page 456: ...eAS 6 12 6 13 scroll lock key 5 20 SD SDI5 1 23 segment address 1 4 segments 1 4 sense levels output voltage 3 6 sequencing output voltage 3 4 serialization multi tasking 9 12 SGDT 6 21 shift counts 9...

Page 457: ...TC 6 19 STD 6 20 STI 6 20 STR 6 22 string manipulation instructions 6 12 SUB 6 7 subsystem RAM 1 12 subsystem ROM 1 11 subsystems multi tasking 9 16 support joystick 5 6 switched network 8 5 keyboard...

Page 458: ...est input port keyboard controller 1 44 timeouts 9 15 timerI counter 1 9 timerI counters 1 8 timers system 1 8 tone generation speaker 1 9 track density diskette 9 22 track to track access time 9 22 t...

Page 459: ...6 VERR 6 22 video display buffers 9 10 virtual address mode 1 4 2 5 w WAIT 6 20 wait condition 9 12 wait loop classes 9 13 workspace default segment 5 9 write current diskette 9 23 x XCHG 6 5 XLAT 6...

Page 460: ...Numerals OWS 1 27 80286 1 3 1 4 1 7 8042 1 31 82288 1 23 8237A 5 1 12 8254 2 1 8 8259A 1 10 Index 20...

Page 461: ...f 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 t...

Page 462: ...AILED 111111 INTHE UNITED STATES BUSINESS REPLY MAIL FIRST CLASS PERMIT NO 321 BOCA RATON FLORIDA 33432 POSTAGE WILL BE PAID BY ADDRESSEE IBM PERSONAL COMPUTER SALES SERVICE P O BOX 1328 C BOCA RATON...

Reviews: