Programowianie C i Assem



cze ALL :-)
Podobno strukturka FineInfoBlock ma miec adres podzielnym przez 2 ...
ale jak to zrobic >?? W c ????

#include <proto/exec.h>
#include <proto/dos.h>
#include <dos/dos.h>
#include <stdio.h>
#include <stdlib.h>
char __stdiowin[] = "con:0/0/640/200";
char *patch = "dh0:Libs";
BPTR    FileLock;
BOOL    success;
int main(int argc, char *argv[])
{
        struct DosBase  *DosBase;
        struct FileInfoBlock *FileInfoBlock;

        DosBase=(struct DosBase*) OpenLibrary("dos.library",30);
        if(DosBase)
        printf("otwarty dos.");
        printf("\nAnaliza Katalogu : %s\n", patch);
        if(FileLock=Lock(patch,ACCESS_READ))
        printf("\n Lock zrobiony \n");
        else
        printf("Cos nie poszlo");
        if(success=Examine(FileLock, FileInfoBlock));
        printf("Pierwszy Examine");
}

Kompiluje sie ok!, ale nie dziala (Guru :-) )))
co tu zrobic ???

Btw:

Dlaczego Asembler (program) mi chodzi zle ????
        Move.l  FileLock,d1 <- tu jeszcze ok ; file lock = np $99455
        ------
        ------
        Move.l  (a0),d1 ; cos dalej ...
        ------
        ------
        Move.l  FileLock,d1 <- al tu inna warotsc ???? dlzczego ??
                nic nie robilem z FileLock'ime

        hrhrhrhrhrhrh :-(

Pozdrawiam Baran :-)