*****Listing 2*****

    /* Executable string: drive select
       Assembly      Hex     Octal   Comment
        TFR   D,X     1F      037     transfer fcb addr to X
                      01      001
        JSR   $DE0C   BD      275     call the FLEX routine
                      DE      336
                      0C      014
        BCS   +3      25      045     branch if error (carry set)
                      03      003     3 bytes beyond this branch
        CLRA          4F      117     make D=0 (ACCB+ACCB=D)
        CLRB          5F      137
        RTS           39      071     return zero to caller
        LDD   #-1     CC      314     make D= -1 (ERROR)
                      FF      377
                      FF      377
        RTS           39      071     return ERROR to caller
    */
    
    FILE  *fcb;
    char  *drvset =
      "\037\001\275\336\014\045\003\117\137\071\314\377\377\071";
    
    /* code fragment using drvset; reports and exits if error */
    if( (*((int (*)())drvset))(fcb) == ERROR )
      errxit(fcb->errno);

