25.03.2015 Views

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

IBM 5150 PC Technical Reference (6025005, August, 1981) (PDF)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

LOC OBJ LINE SOURCE<br />

~<br />

~<br />

FOIA EE<br />

FOIB BoDe<br />

FOlD EE<br />

FOIE 58<br />

FOlf<br />

FOIF 50<br />

FOlD<br />

FOZD 88940800<br />

f024 42<br />

fOZ5 EC<br />

f026 BAED<br />

fOZ6 BOE4F8<br />

F02B<br />

FOZB SA<br />

F02e BAC2<br />

FaZE 80F448<br />

FOll EBC2<br />

FOll<br />

FOl3 SO<br />

F034 83C202<br />

f037 8008<br />

F039 EE<br />

F03A B8E603<br />

FOlD<br />

F03D 46<br />

F03E 75FO<br />

F040 BOOC<br />

F042 EE<br />

F043 EBOB<br />

3083 OUT DX,AL<br />

3084 MOV Al,OCH SET THE STROBE lOW<br />

3065 OUT OX.Al<br />

3066 POP AX RECOVER THE OUTPUT CHAR<br />

3087<br />

3068 J------ PRINTER STATUS<br />

3089 <br />

3090 85: <br />

3091 PUSH AX ; SAVE AL REG <br />

3092 86: <br />

3093 MOV OX, PRINTER_BASE lSI ]<br />

3094 ItlC OX<br />

3095 IN AL,OX ; GET PRINTER STATUS<br />

3096 MOV AH,Al<br />

3097 AND AH,OF8H I TURN OFF UNUSED BITS<br />

3098 87: j STATUS_SET<br />

3099 POP OX j RECOVER AL REG<br />

3100 NOV AL,UL ; GET CHARACTER INTO AL<br />

3101 XOR AH ,48H FLIP A COUPLE OF BITS<br />

3102 JMP .1 ; RETURN FROM ROUTINE<br />

3103<br />

3104 ;------ INITIALIZE THE PRINTER PORT<br />

3105<br />

3106 B8:<br />

3107 PUSH AX SAVE At<br />

3106 AOD OX,2 POINT TO OUTPUT PORT<br />

3109 MOV AL,8 SET INIT LINE LOW<br />

3110 OUT OX,Al<br />

3111 NOV AX,lOOO<br />

3112 89: INIT_lOOP<br />

3113 DEC AX lOOP FOR RESET TO TAKE<br />

3114 J~lZ .9 I !NIT_LOOP<br />

3115 NOV AL,OCH NO INTERRUPTS, NON AUTO LF, INIT HIGH<br />

••<br />

3116 OUT OX,Al<br />

3117 JNP PIH_STATUS_1<br />

3116 PRINTER_IO ENOP<br />

3119 ; --- INT 10 --------------------------------­<br />

3120 VIDEO_IO<br />

3121 THESE ROUTINES PROVIDE THE CRT INTERFACE<br />

3122 THE FOllOWItlG FUNCTIONS ARE PROVIDED:<br />

3123 (AH)=O SET HaDE (All CONTAINS HODE VALUE<br />

3124 (AlI=O 40X25 Bioi (POWER ON DEFAULT)<br />

3125 (AlI=1 40X25 COLOR<br />

3126 {AlI=2 80X25 Bioi<br />

3127 ( AL J=3 80X25 COLOR<br />

3128 GRAPHICS HODES<br />

3129 (ALI=4 320X200 COLOR<br />

3130 {All:5 320X200 Bioi<br />

3131 (All=6 640X200 BW<br />

3132 CRT HOOE = 7 80X25 B&W CARD (USED INTERNAL TO VIDEO ONLYJ<br />

3133 *** NOTE BW MODES OPERATE SAME AS COLOR HODES, BUT COLOR<br />

3134 BURST IS NOT ENABLED<br />

3135 (AHI=l SET CURSOR TYPE<br />

313~ (CH) = BITS 4-0 = START LINE FOR CURSOR<br />

3137 H HARDWARE WILL ALWAYS CAUSE BLINK<br />

3138 ** SETTING BIT 5 OR 6 WILL CAUSE ERRATIC BLIHKING<br />

3139 OR NO CURSOR AT All<br />

3140 (ClI::;- BITS 4-0 = END LINE FOR CURSOR<br />

3141 (AHJ=2 SET CURSOR POSITION<br />

3142 (OH,Ol) = ROW,COLUMN (O,O) IS UPPER LEFT<br />

}14 "' !BH I = PAGE NU;13ER (HUST BE 0 FOR CRAPHICS ~IODES)<br />

3144 (AHI=3 READ CURSOR POSITION<br />

3145 (BH) = PAGE NUMBER (MUST BE 0 FOR GRAPHICS MODES)<br />

3146 ON EXIT (oH,Ul) = ROW,COLUMN OF CURRENT CURSOR<br />

3147 (CH,Cll = CURSOR MODE CURRENTLY SET<br />

3148 (AH )=4 READ LIGHT PEN POSITION<br />

3149 ON EXIT:<br />

3150 (AH) = 0 -- LIGHT PEN SWITCH NOT DOWN/NOT TRIGGERED<br />

3151 (AH) = 1 -- VALID LIGHT PEN VALUE IN REGISTERS<br />

3152 {OH,DU ;: ROW,COLUMN OF CHARACTER LP POSN<br />

3153 (CHI = RASTER LINE (0-199'<br />

3154 (BX) = PIXEL COLUMN (0-319,639)<br />

3155 (AHI=5 SELECT ACTIVE DISPLAY PAGE (VALID ONLY FOR ALPHA MODES)<br />

3156 (AU=NEW PAGE VALUE (0-7 FOR HODES 0&1, 0-3 FOR MODES 2&3)<br />

A-43

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!