## Storage Device Driver Reference

[prev][next][parent][TOC]

### Calling ASPI

When the ASPI entry-point parameters have been successfully determined, calling ASPI uses the values appropriate to the mode of the processor. The address of the ASPI request block and the DS of the ASPI entry point must be pushed onto the stack before making a FAR call. The following is an example of how to call ASPI:

                              PUSH            AX                      ;Save AX

                              PUSH            @ASPI_SRB               ;Push pointer to ASPI SRB

                              SMSW            AX                      ;Check mode of processor

                              TEST            AX,PROTECT_MODE

                              JNZ             PROT_CALL

                              PUSH            Real_DS

                              CALL            [ASPI_REAL]

                              JMP             CALL_DONE

            PROT_CALL:        PUSH            Prot_DS

                              CALL            [ASPI_PROT]

            CALL_DONE:        ADD             SP,6                    ;Restore the stack

                              POP             AX