ViStatus res;
ViSession defaultRM, vi;
ViUInt32 oldData, newData;
viOpenDefaultRM(&defaultRM);
viOpen(defaultRM, "PXI0::CHASSIS1::SLOT3::FUNC0::INSTR",VI_NULL,VI_NULL, &vi);
//READ DATA
ViAddr addr = 0x8000;
viIn32(vi, VI_PXI_BAR0_SPACE, adr, &oldData);
printf("Addr: %04x Data:%08x\n", adr, data);
//WRITE DATA
newData = 0x7FF7;
res = viOut32(vi, VI_PXI_BAR0_SPACE, adr, newData);