microprogrammed diagnostics