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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

LOC OBJ LINE SOURCE<br />

F146 EE<br />

F147 42<br />

Fl48 FEC4<br />

Fl4A 8A07<br />

F14C EE<br />

Fl4D 43<br />

Fl4E 4A<br />

~ Fl4F E2F3<br />

FISl 58<br />

Fl52 IF<br />

Fl53 33FF<br />

Fl55 893E4EOO<br />

Fl59 C606620000<br />

FISE B90020<br />

Fl6l aOFC04<br />

F164 noc<br />

Fl66 80FC07<br />

F169 7404<br />

Fl6B :33CO<br />

Fl60 EB06<br />

Fl6F<br />

FI6F B90008<br />

FI72<br />

F172 B82007<br />

F175<br />

F175 F3<br />

FI76 AS<br />

FIn C7066000-6700<br />

Fl7D A04900<br />

~ Fl8032E4<br />

F182 8BFO<br />

F184 8BI66300<br />

FI88 83C204<br />

FI8B 2E8A84F4FO<br />

F 1 90 EE<br />

Fl n A26500<br />

FI94 2E8A84ECFO<br />

FI99 32E4<br />

F 19B A34AOO<br />

F19E 81E60EOO<br />

FlA2 2E6B8CE4FO<br />

FIA7 890E4COO<br />

FlAB 890800<br />

FlAE BF5000<br />

FIBI IE<br />

FIB2 07<br />

FIB3 nco<br />

FIBS F3<br />

FIS6 AB<br />

FIB7 42<br />

FiB8 B030<br />

FIBA 803E490006<br />

FIBF 7502<br />

FICI B03F<br />

FIC! EE<br />

FIC4 A266DO<br />

3384 OUT OX.Al<br />

3385 INC ox ; POINT TO DATA PORT<br />

3366 INC AH ; NEXT REGISTER VALUE<br />

3367 MOV Al.[BX) ; GET TABLE VAlUE<br />

3388 OUT OX.Al ; OUT TO CHIP<br />

3369 INC BX ; UEXT IN TABLE<br />

3390 OEC OX ; BACK TO POINTER REGISTER<br />

3391 LOOP MID DO THE WHOLE TABLE<br />

3392 POP AX GET MODE BACK<br />

3393 POP OS RECOVER SEGMENT VALUE<br />

3394 ASSUME OS:OATA<br />

3395<br />

3396 ;------ FILL REGEN AREA WITH BLANK<br />

3397<br />

3398 XOR 01.01 ; SET UP POINTER FOR REGEN<br />

3399 MOV CRT_START .01 ; START ADDRESS SAVED IN GLOBAL<br />

3400 MOV ACTIVE_PAGE ,0 ; SET PAGE VALUE<br />

3401 MOV CX.8192 ; NUMBER OF WORDS IN COLOR CARD<br />

3402 CMP AH ,4 TEST FOR GRAPHICS<br />

3403 JC MI2 NO_GRAPHICS_INIT<br />

3404 CHP AH , 7 TEST FOR Bioi CARD<br />

340S JE MIl BW_CARD_INIT<br />

3406 XOR AX, AX FILL FOR GRAPHICS MODE<br />

3407 JHP SHORT Ml3 CLEAR_BUFFER<br />

3408 MIl:<br />

3409 HOV CX,2048 ; BUFFER SIZE ON BW CARD<br />

3410 M12; ; NO_GRAPHICS_INIT<br />

3411 MOV AX,' '+7*256 FIll CHAR FOR ALPHA<br />

3412 M13: CLEAR_BUFFER<br />

3413 REP STOSW FILL THE REGEN BUFFER WITH 8UNKS<br />

3414<br />

3415 ;------ ENABLE VIDEO AND CORRECT PORT SETTING<br />

3416<br />

3417 MOV CURSOR_MOoE.67H ; SET CURRENT CURSOR MODE<br />

3418 MOV j GET THE MODE<br />

3419 XOR AH,AH INTO AX REGISTER<br />

3420 MOV SI,AX TABLE POINTER. WDEXEo BY MODE<br />

3421 MOV DX.ADDR_6845 PREPARE TO OUTPUT TO .... IOEO ENABLE PORT<br />

3422 AOO DX,4<br />

3423 HOV AL.CS: I SI+OFFSET M7]<br />

34~4 OUT DX.Al ; SET VIDEO ENABLE PORT<br />

3425 MOV CRT_MOOE_SET,Al ; SAVE THAT VALUE<br />

3426<br />

3427 ; ------ DETERMINE NUMBER OF COLUMNS. BOTH FOR ENTIRE DISPLAY<br />

3428 ;------ AND THE NUMBER TO BE USED FOR TTY INTERFACE<br />

3429<br />

3430 MOV AL.CS:IS1 + OFFSET M6J<br />

3431 XOR AH.AH<br />

3432 MOV CRT_COlS,AX ; HUMBER OF COLUMNS IN THIS SCREEN<br />

31133<br />

3434 ;------ SET CURSOR POSITIONS<br />

3435<br />

3436 ANO SI.OEH ; WORD OFFSET INTO CLEAR lENGTH TABLE<br />

3437 MOV CX.CS:[SI + OFFSET tiS) j lENGTH TO CLEAR<br />

3438 MOV CRT_lEN.CX • SAVE lENGTH OF CRT -- HOT USED FOR Bioi<br />

3439 MOV CX,a ; ClEAR ALL CURSOR POSITlmiS<br />

3440 MOV oI.OFFSET CURSOR_POSr~<br />

3441 PUSH OS ESTABLISH SEGMENT<br />

3442 POP ES ADDRESSINS<br />

3443 XOR AX,AX<br />

3444 REP STOSW ; FILL WITH ZEROES<br />

3445<br />

3446 ;------ SET UP OVERSCAN REGISTER<br />

3447<br />

3448 INC OX SET OVERSCAN PORT TO A DEFAULT<br />

3449 MOV Al,30H VALUE OF 3'OH FOR ALL MODES EXCEPT 640X200<br />

3450 CMP CRT.MODE,6 SEE IF THE HaDE IS 640X200 Bioi<br />

3451 JNZ M14 IF IT IS:n 640X20D. THEN GOTO REGULAR<br />

3452 MOV Al,3FH IF IT IS 640X200, THEN PUT IN 3FH<br />

3453 M14: OUT oX.Al OUTPUT THE CORRECT VALUE TO 309 PORT<br />

3454 MOV CRT.PALLETTE ,Al SAVE THE VALUE FOR FUTURE USE<br />

3455<br />

3456 ;------ NORMAL RETU~N FROM ALL VIDEO RETURNS<br />

3457<br />

A-47

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

Saved successfully!

Ooh no, something went wrong!