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 08J LINE SOURCE<br />

2255 ;-- INT 13 ---------------------'------------­<br />

2256 ;DISKETTE 1/0<br />

2257 THIS INTERFACE PROVIDES ACCESS TO THE 5 1/4" DISKETTE DRIVES<br />

2.258 ; INPUT<br />

2259 (AH };;Q RESET DISKETTE SYSTEM<br />

2260 HARD RESET TO NEC, FREPARE COMMAND. RECAL REQD ON ALL DRIVES<br />

2261 (AHI=l READ THE STATUS OF THE SYSTEM INTO (All<br />

2262 DISKETTE_STATUS FROM LAST OP'" IS USIO<br />

2263 REGISTERS FOR P.EAO/WRITE/vERIFY/FORMAT<br />

2264 (OLI - DRIVE NUtlBER (0-3 ALLOWED, VALUE CHECKED)<br />

22:65 {DHI ~ HEAD ~ruMBER (0-1 ALLOWEn, I\'OT VALUE CHECKED)<br />

2266 (CH) - TRACK NUtlBER (0-39, t.'OT VALUE CHECKEO)<br />

22:67 (eL) - SECTOR truMBER f 1-8, NOT VALUE CHECKEO)<br />

2268 fAll - NUMBER OF SECTORS ( MAX ;; 8, NOT VALUE CHECK EO)<br />

2269<br />

2270 (ES:BX) - ADDRESS OF BUffER ( NOT REQUIRED FOR VERIFY)<br />

2:271<br />

2272 (AH )=2: READ THE DESIRED SECTOOS INTO MEMORY<br />

2273 «AH )=3 WRITE HlE DESIRED SECTORS FROM HEMORY<br />

2274 (AH 1=4 VERIFY THE DESIRED SECTORS<br />

22:75 (AH);:5 FORMAT THE DESIRED TRACK<br />

2276 FOR THE fORMAT OPERATlm" THE BUFFER POINTER (ES,BXI MUST<br />

2277 POINT TO THE COLLECTIOH OF DfSIRED ADDRESS FIElDS FOR THF.:<br />

22:78 TRACK. EACH FIELD IS CQtlPOSED OF 4 BYTES. (C,H,R,NI, WHERE<br />

2279 C ;; TRACK HUMBER, H=HEAD NUMBER, R ;; SECTOR NUMBER, N= NUMBER<br />

2280 OF BYTES PER SECTOR ("00=128, 01=256, 02=512. 03=1024,)<br />

2281 THERE MUST BE ONE ENTRY FOR EVERY SECTOR ON THE TRACK.<br />

USZ<br />

2:283 READ/WRITE ACCESS.<br />

2284 ; DATA VARIABLE -­ DISK_POINTER<br />

THIS INFORMATION IS USED TO Fum THE REQUESTED SECTOR DURING<br />

~28S DOUBLE WORD POINTER TO THE CURRENT SET OF DISKETTE PARAMETERS<br />

2286 ; OUTPUT<br />

2287 AH = STATUS OF OPERATION<br />

2288 STATUS BITS ARE DEfINED IN THE EQUATES fOR DISKETTE_STA,TUS<br />

2289 VARIABLE IN THE DATA SEGMENT OF THIS NODULE<br />

EC59<br />

EC59 fB<br />

ECSA 53<br />

Ee58 51<br />

ECSC IE<br />

Ee50 56<br />

ECSE 57<br />

ECSF 55<br />

EC60 52<br />

EC61 8BEt<br />

EC63 8E4000<br />

EC66 BEDf<br />

EC68 f81COO<br />

EC6B 6B0400<br />

EC6E ESFFO}<br />

Ee7l e8264000<br />

Ee75 8A264100<br />

EC79 80FCO)<br />

Ee7t FS<br />

EC7D SA<br />

Ee7E 50<br />

[e7F SF<br />

EC8Q Sf<br />

EC8l IF<br />

Ee62 59<br />

Ecel 58<br />

E(84 CA0200<br />

Ee87<br />

2290<br />

2291<br />

2292<br />

2293<br />

2294<br />

2295<br />

2296<br />

2297<br />

2296<br />

2299<br />

2300<br />

2301<br />

2302<br />

2303 PROC FAR<br />

2304<br />

2]05 ex<br />

2306 ex<br />

2307 os<br />

2308 51<br />

Z309 01<br />

2310 BP<br />

2311 ox<br />

2312 BP.SP<br />

e313<br />

SI,DATA<br />

2314 OS,SI<br />

2315 Jl<br />

2316 BX,4<br />

2317<br />

2318<br />

2319<br />

2320 eMP AH,J ; SET THE CARRY fLAG TO INDICATE<br />

2321 eMe I SUCCESS OR FAILURE<br />

2322 POP ox i RESTORE ALL REGISTERS<br />

232:3 POP BP<br />

2324 POP 01<br />

2325 POP 51<br />

2326 POP OS<br />

2327 POP CX<br />

2328 POP BX ; RECOVER ADDRESS<br />

2329 RET ; THROW AWA'( SAVED FLAGS<br />

2330 DISKETTE_IO E~mp<br />

2:331 Jl PROC ~lEAR<br />

A-32

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

Saved successfully!

Ooh no, something went wrong!