MB_END
save_16 = base[MB_END(16)];
base[MB_END(16)] = MAGIC_16M;
if (badbaddr(base + MB_END(32))) {
save_32 = base[MB_END(32)];
base[MB_END(32)] = MAGIC_32M;
if (base[MB_END(32)] != MAGIC_32M || base[MB_END(16)] != MAGIC_16M) {
if (badbaddr(base + MB_END(64))) {
save_64 = base[MB_END(64)];
base[MB_END(64)] = MAGIC_64M;
if (base[MB_END(64)] != MAGIC_64M || base[MB_END(32)] != MAGIC_32M) {
base[MB_END(64)] = save_64;
base[MB_END(32)] = save_32;
base[MB_END(16)] = save_16;
if (badbaddr(base + MB_END(4))) {
save_4 = base[MB_END(4)];
base[MB_END(4)] = MAGIC_4M_INV;
if (base[MB_END(4)] != MAGIC_4M_INV) {
base[MB_END(4)] = MAGIC_4M;
if (base[MB_END(4)] != MAGIC_4M) {
if (badbaddr(base + MB_END(8))) {
save_8 = base[MB_END(8)];
base[MB_END(8)] = MAGIC_8M;
if (base[MB_END(8)] != MAGIC_8M || base[MB_END(4)] != MAGIC_4M) {
if (badbaddr(base + MB_END(16))) {
save_16 = base[MB_END(16)];
base[MB_END(16)] = MAGIC_16M;
if (base[MB_END(16)] != MAGIC_16M || base[MB_END(8)] != MAGIC_8M) {
base[MB_END(16)] = save_16;
base[MB_END(8)] = save_8;
base[MB_END(4)] = save_4;