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 />

97. ;--------------------------------------­<br />

97. ; INITIAL RELIABILITY TEST -- PHASE 4<br />

97. ;--------------------------------------­<br />

977 ASSUME CS:COOE ,OS: DATA <br />

E4A7 20333031 97. '1 DB • 301'<br />

0004 97. EQU $-FI J KEYBOARD MESSAGE<br />

E4A8 313331 980 DB '131'<br />

"L EOU t-F2 i CASSETTE MESSAGE<br />

E4AE 363031 982 F3 O' '601 '<br />

".......... 0003 9Bl "<br />

•••<br />

'IL<br />

00Q3 9B3 F3L EOU $-F3 ; DISKETTE MESSAGE <br />

98. <br />

E481 985 F. LABEL WORD ; PRINTER SOURCE TABLE <br />

E4Bl BC03 986 OW 38CH <br />

E483 7603 9B7 OW 378H <br />

E485 7602 9BB OW 278H <br />

E487 989 F'E LABEL WORD <br />

£487 30313233343536 9'0 ASCII.TBl DB '0123456789ABCDEF' <br />

37383941424344<br />

.546<br />

991 .-------------------------------------------­<br />

9'2 HEST.12<br />

9.J KEYBOARD TEST<br />

99. ;DESCRIPTION<br />

E4C7 '.B TSTl2:<br />

99. PESET THE KE'tBOARD AND CHECK THAT SCAN CODE AA.' IS RETURNED<br />

99. TO THE CPU. CHECK FOR STUCK KEYS.<br />

9.7 i -----------------------------------------.-­<br />

E4C7 884000 MOV AX,DATA ;POINT OS TO DATA SEG<br />

E4CA 8E08 1000 MOV OS,AX<br />

E4CC 803E120001 1001 eMP ~:FG_TST ,I ;MANUFACTURING TEST HODE?<br />

E401 7439 1002 JE F7 ; YES - SKIP KEYBOARD TEST<br />

E4D3 E8B201 1003 CAll K8D_RESET ; ISSUE SOFTWARE RESET TO KEYBRD<br />

E4D6 E32B 1004 JCXZ '6<br />

i PRINT ERR HSG IF NO INTERRUPT<br />

E4D8 B04D 1005 NOV AL,4DH ; ENABLE KEYBOARD<br />

E40A E661 1006 OUT PORT_B,Al<br />

E40C 80FBll 1007 CMP Bl,OAAH iSCAN CODE AS EXPECTED?<br />

"..........<br />

1009 <br />

E40F 7522 1006 JHE F. iNO - DISPLAY ERROR HSG<br />

1010 CHECK FOR STUCK KEYS<br />

1011<br />

E4E1 BOCt 1012 tIOV Al,otCH ; e lR KBD. SET ClK lINE HIGH <br />

E4E3 E661 Ion OUT PORT_B,Al <br />

E4£5 B04C 1014 MOV Al.4CH IENABlE KBD,elK IN NEXT BYTE <br />

E4E7 E661 1015 OUT PORT_B,Al <br />

E4E9 2BC9 1016 SUB ex,cx <br />

E4EB 1017 F5: ; KBD_WAIT: <br />

E4EB E2FE 1018 lOOP '5<br />

;DELAY FOR A WHILE <br />

E4ED E460 1019 IN Al,KBD_IN ICHECK FOR STUCK KEYS <br />

E4EF 3COO 1020 CMP Al,o iSCAN CODE = O? <br />

E4Fl 7419 1021 JE '7<br />

J YES - CONTINUE TESTING <br />

E4F3 8AE8 1022 MOV eH,Al .SAVE SCAN CODE<br />

E4F5 BI04 1023 MOV Cl,4<br />

E4F7 02E8 1024 5H. Al,el iRIGHT-JUSTIFY HIGH BYTE<br />

E4F9 E89CFF 1025 CAll XlAT_PIHHT_CODE j CONVERT AND PRINT<br />

E4FC 8AC5 1026 MOV Al.CH JRECOVER SCAN CODE<br />

E4FE 240F 1027 AND Al.OFH iISOlATE LOW ORDER BYTE<br />

E500 E895FF 1028 CAll XlAT_PRINT_CODE I CONVERT ANO PRINT<br />

E503 BEA7E4 1029 F6: MDV 5I.OFFSET F 1 ;GET MSG AOOR<br />

E506 B90400 1030 MOV CX,F1l ;GET HSG BYTE COUNT<br />

E509 E86E01 1031 CAll P_HSG i PRINT MSG ON SCREEN<br />

1032<br />

1033 SETUP INTERRUPT VECTOR TABLE<br />

1034<br />

ESOC 1035 F7: ; SE1UP_lNT_TABlE:<br />

E50C 2BCO 1036 SUB AX,AX<br />

£50£ 8ECO 1037 MOV ES,AX<br />

".......... £510 B93000 1038 MOV CX,24*Z: ;GET VECTOR CNT<br />

E513 OE 1039 PUSH CS iSETUP OS SEG REG<br />

E514 IF 1040 POP OS<br />

£515 BEnF£ 1041 MOV SI.OFEF3H ; OFFSET VECTOR_TABLE<br />

E518 BF2000 1042 MOV OI.OFFSET INT_PTR<br />

E51B FC 1043 CLD<br />

E5lC F3 1044 .EP HOV5W<br />

E51D AS<br />

A-IS

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

Saved successfully!

Ooh no, something went wrong!