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

(Eol 7438<br />

fE03 3C40<br />

EEOS 1529<br />

EE07 AC<br />

EE08 ODED<br />

EEOA 8404<br />

EEOC 7224<br />

EEOE OOEO<br />

EEIO ODED<br />

Efl2 8410<br />

EE14 721C<br />

EE16 DOEO<br />

EElS 8408<br />

EEU 7216<br />

EEle OOEO<br />

EElf OOEO<br />

Ef20 8404<br />

EE22 nOE<br />

E:E24 ODED<br />

EE26 6403<br />

EEM nOB<br />

EEZA OOEO<br />

EEzt 8402<br />

EEZE 72:02:<br />

EnD<br />

EE30 8.20<br />

EE32<br />

ED2 06264100<br />

EE36 E67701<br />

EEl9<br />

EE39 C3<br />

EE3A<br />

EE3A E82E01<br />

EE3D C3<br />

EnE<br />

EDE E86FOl<br />

EE"1 32E4<br />

£E43 C3<br />

EE44<br />

EE44 52<br />

EE45 51<br />

EE46 BAF401<br />

EE49 33C9<br />

EE48<br />

EE48 EC<br />

EE4C A840<br />

E£4E 740C<br />

EESO E2:f9<br />

fE5,<br />

2561 JZ<br />

2562 CtlP Al,040H j TEST FOR ABNORMAL TERMINATION<br />

2563 JHZ JI8 j NOT ASNORHAl, BAD NEe<br />

2564<br />

2565 1------ AE'.NORMAl TERMINATION, FIND OUT WHY<br />

2566<br />

2:567 lOoS NEC_STATUS ; GET STl<br />

2568 SAL AL,I , TEST FOR EaT FOUND<br />

2569 HOV AH .RECORD_NOT_FND<br />

2570 JC JI. ; RWJAIL<br />

2571 SAL AL.I<br />

ZS7Z SAL AL,l ; TEST FOR CRC ERROR<br />

2573 HOV AH.BAD_CRC<br />

2574 JC JI. • RWJAIL<br />

2575 SAL ALol i TEST FOR DttA OVERRUN<br />

2576 HOV AH.BAD_DMA<br />

2.577 JC JI.<br />

2:578 SAL AL,I<br />

2579 SAL At,l TEST FOR RECORD HOT FOUND<br />

2560 MOV AH,RECORD_NOTJHD<br />

2561 JC JI. ; RWJAIL<br />

2!i9.2 SAL AL,t<br />

2583 HOV AH ,WRITE]ROTECT<br />

2564 JC Jl9 ; RWJAIL<br />

2585 SAL AL.l ; TEST HISSING ADDRESS HARK<br />

25&6 HOV AH ,BAD_ADDR_ttA~K<br />

2587 Je JI' ; RWJAIL<br />

2568<br />

2569 j------ NEC MUST HAVE FAILED<br />

2S'i'D<br />

2591 JI8: ; RW-NEe-FAIL<br />

2592 HOV<br />

ZS93 J19: : RW-FAIL<br />

2594 OR DISKETTE_STATUS ,AH<br />

2595 CALL NUM_TRANS I HOW HAtty WERE REALLY TRANSFERRED<br />

2596 J20: ; FlN_H!R<br />

2597 RET ; RETURN TO CALLER<br />

ZS98<br />

2599 J21: ; RN_ERR_RES<br />

2&00 CALL RESULTS ; FLUSH THE RESULTS BUFFER<br />

2601 RET<br />

2602<br />

2603 ~------ OPERATION WAS SUCCESSFUL<br />

260'4<br />

260'5 J22: ; OPH_OK<br />

260'6 CALL NUM_TRANS ; HOW HANY GOT HOVED<br />

2607 XOR AH,AH ; NO ERRORS<br />

26()8 RET<br />

260'9 RW_OPN ENDP<br />

261 () ; -------------------------------------------­<br />

2611 ; NEC_OUTPUT<br />

2612 THIS ROUTINE SEttOS A BYTE TO THE HEC CONTROLLER<br />

2613 AFTER TESTING FOR CORRECT DIRECTION AND COHTROLlER READY<br />

2:614 THIS ROUTINE WIll TIHE OUT IF THE BYTE IS NOT ACCEPTED<br />

2:615 WITHIN A REASONABLE AHOUNT OF TIttE. SETTING THE DISKETTE STATUS<br />

2:616 ON COMPLETION<br />

2:617 INPUT<br />

2618 (AH) BYTE TO BE OUTPUT<br />

2:619 OUTPUT<br />

2:620 CY = 0 SUCCESS<br />

2621 CY = 1 FAILURE -- DISKETTE STATUS UPDATED<br />

262:2 IF A FAILVRE HAS OCCURRED. THE RETURN IS MADE ONE LEVEL<br />

2623 HIGHER THAN THE CALLER OF NEC_OUTPUT<br />

2624 THIS REMOVES THE REQUIREMENT OF TESTING AFTER EVERY CALL<br />

2:62:5 OF NEC_OUTPUT<br />

2:626 (At) DESTROYED<br />

262:7 ; ---------------------- - --------------------­<br />

2:62:8 NEC_OUTPUT !"ROC NEAR<br />

2:629 PUSH ox ; SAVE REGISTERS<br />

2630 PUSH ex<br />

2:631 HOV DX,O'3F4H ; STATUS PORT<br />

XOR CX,CX ; COUNT FOR TIME OUT<br />

"'2<br />

2633 J23:<br />

2:634 It. Al,ox ; GET STATUS<br />

2635 TEST AL,040H ; TEST DIRECTION BIT<br />

2:636 JZ J25 ; DIRECTION OK<br />

2637 LOOP J2J<br />

2638 J2:4: TIME_ERROR<br />

A-36

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

Saved successfully!

Ooh no, something went wrong!