144
I/O Handling
The access codes are -
o
Abortive access
1
Asynchronous access with programmed I/O
2
Asynchronous access with DMA
3
Synchronous access with programmed I/O
Calling Procedure:
1.
Load register A with the address of the ISR.
2. Load register B with the information described above.
3. Call the utility.
Exit Conditions:
RET 2
If
the attempt at linkage is successful, the utility returns to the second word following
its call. Register Pa is set to the select code;
if
access code 2 was specified then
Dmapa has also been set to the select code.
RET 1
If
the attempt at linkage is unsuccessful, the utility returns to the first word following
the call. Register A contains an indication of the type of difficulty encountered -
- 1 Access couldn't be obtained after specified number of attempts.
- 2 Select code is still linked to an assembly language ISR.
Note: Access code 0 (abortive access) should be used with caution. An interrupt routine with
abortive access can exist on the same priority level as an interrupt routine with synchronous
access.
If
the abortive routine is in progress when an interrupt occurs requiring the synchronous
service routine, the abortive routine will finish before the synchronous routine can be serviced.
The timing requirements of the synchronous routine might thus be violated.
Access code 0 is intended to be used by routines that will be executed only extremely
infrequently. For instance, if the 9835A/B is monitoring a potentially dangerous
manufacturing process, it may be necessary to have an interrupt service routine to shut down
the process when something goes awry. This could be accomplished with an abortive routine.
The advantage (and also the reason for the previously mentioned caution) of access code 0 is
that no other modes of access are prohibited by its use. Thus, the infrequently used routine will
not prevent another routine from getting the type of access it needs.
Need help?
Do you have a question about the 9835A and is the answer not in the manual?