diff --git a/README b/README
index ea734fd..8f1bd20 100644
--- a/README
+++ b/README
@@ -118,17 +118,17 @@
 to simplify these accesses.
 
 Global variables defined in the C code can be read in 16bit mode if
-the variable declaration is marked with VAR16, VAR16_32, VAR16EXPORT,
-or VAR16FIXED.  The GET_GLOBAL macro will then allow read access to
-the variable.  Global variables are stored in the 0xf000 segment, and
-their values are persistent across soft resets.  Because the f-segment
-is marked read-only during run-time, the 16bit code is not permitted
-to change the value of 16bit variables (use of the SET_GLOBAL macro
-from 16bit mode will cause a link error).  Code running in 32bit mode
-can not access variables with VAR16, but can access variables marked
-with VAR16_32, VAR16EXPORT, VAR16FIXED, or with no marking at all.
-The 32bit code can use the GET/SET_GLOBAL macros, but they are not
-required.
+the variable declaration is marked with VAR16, VAR16VISIBLE,
+VAR16EXPORT, or VAR16FIXED.  The GET_GLOBAL macro will then allow read
+access to the variable.  Global variables are stored in the 0xf000
+segment, and their values are persistent across soft resets.  Because
+the f-segment is marked read-only during run-time, the 16bit code is
+not permitted to change the value of 16bit variables (use of the
+SET_GLOBAL macro from 16bit mode will cause a link error).  Code
+running in 32bit mode can not access variables with VAR16, but can
+access variables marked with VAR16VISIBLE, VAR16EXPORT, VAR16FIXED, or
+with no marking at all.  The 32bit code can use the GET/SET_GLOBAL
+macros, but they are not required.
 
 
 GCC 16 bit stack limitations:
diff --git a/src/ata.c b/src/ata.c
index c82e8a3..98d1141 100644
--- a/src/ata.c
+++ b/src/ata.c
@@ -23,7 +23,7 @@
 
 #define IDE_TIMEOUT 32000 //32 seconds max for IDE ops
 
-struct ata_channel_s ATA_channels[CONFIG_MAX_ATA_INTERFACES] VAR16_32;
+struct ata_channel_s ATA_channels[CONFIG_MAX_ATA_INTERFACES] VAR16VISIBLE;
 
 
 /****************************************************************
diff --git a/src/block.c b/src/block.c
index aa341a2..c96daaf 100644
--- a/src/block.c
+++ b/src/block.c
@@ -11,7 +11,7 @@
 #include "util.h" // dprintf
 #include "ata.h" // process_ata_op
 
-struct drives_s Drives VAR16_32;
+struct drives_s Drives VAR16VISIBLE;
 
 
 /****************************************************************
@@ -280,6 +280,7 @@
 {
     if (! CONFIG_DRIVES)
         return -1;
+    ASSERT16();
 
     return stack_hop((u32)op, GET_SEG(SS), 0, __send_disk_op);
 }
diff --git a/src/clock.c b/src/clock.c
index 55b8f95..c95f0a1 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -56,7 +56,7 @@
 #define PIT_TICK_RATE 1193182 // Underlying HZ of PIT
 #define CALIBRATE_COUNT 0x800 // Approx 1.7ms
 
-u32 cpu_khz VAR16_32;
+u32 cpu_khz VAR16VISIBLE;
 
 static void
 calibrate_tsc()
diff --git a/src/floppy.c b/src/floppy.c
index a71c9eb..3d8d07d 100644
--- a/src/floppy.c
+++ b/src/floppy.c
@@ -26,7 +26,7 @@
 // Since no provisions are made for multiple drive types, most
 // values in this table are ignored.  I set parameters for 1.44M
 // floppy here
-struct floppy_ext_dbt_s diskette_param_table2 VAR16_32 = {
+struct floppy_ext_dbt_s diskette_param_table2 VAR16VISIBLE = {
     .dbt = {
         .specify1       = 0xAF, // step rate 12ms, head unload 240ms
         .specify2       = 0x02, // head load time 4ms, DMA used
@@ -68,7 +68,7 @@
     u8 media_state;
 };
 
-struct floppyinfo_s FloppyInfo[] VAR16_32 = {
+struct floppyinfo_s FloppyInfo[] VAR16VISIBLE = {
     // Unknown
     { {0, 0, 0}, 0x00, 0x00},
     // 1 - 360KB, 5.25" - 2 heads, 40 tracks, 9 sectors
diff --git a/src/misc.c b/src/misc.c
index 2d702a4..b12e860 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -11,11 +11,11 @@
 #include "pic.h" // enable_hwirq
 
 // Amount of continuous ram under 4Gig
-u32 RamSize VAR16_32;
+u32 RamSize VAR16VISIBLE;
 // Amount of continuous ram >4Gig
 u64 RamSizeOver4G;
 // Space for bios tables built an run-time.
-char BiosTableSpace[CONFIG_MAX_BIOSTABLE] __aligned(MALLOC_MIN_ALIGN) VAR16_32;
+char BiosTableSpace[CONFIG_MAX_BIOSTABLE] __aligned(MALLOC_MIN_ALIGN) VAR16VISIBLE;
 
 
 /****************************************************************
@@ -134,23 +134,23 @@
 } PACKED;
 
 // Real mode IDT descriptor
-struct descloc_s rmode_IDT_info VAR16_32 = {
+struct descloc_s rmode_IDT_info VAR16VISIBLE = {
     .length = sizeof(struct rmode_IVT) - 1,
     .addr = (u32)MAKE_FLATPTR(SEG_IVT, 0),
 };
 
 // Dummy IDT that forces a machine shutdown if an irq happens in
 // protected mode.
-u8 dummy_IDT VAR16_32;
+u8 dummy_IDT VAR16VISIBLE;
 
 // Protected mode IDT descriptor
-struct descloc_s pmode_IDT_info VAR16_32 = {
+struct descloc_s pmode_IDT_info VAR16VISIBLE = {
     .length = sizeof(dummy_IDT) - 1,
     .addr = (u32)MAKE_FLATPTR(SEG_BIOS, &dummy_IDT),
 };
 
 // GDT
-u64 rombios32_gdt[] VAR16_32 __aligned(8) = {
+u64 rombios32_gdt[] VAR16VISIBLE __aligned(8) = {
     // First entry can't be used.
     0x0000000000000000LL,
     // 32 bit flat code segment (SEG32_MODE32_CS)
@@ -168,7 +168,7 @@
 };
 
 // GDT descriptor
-struct descloc_s rombios32_gdt_48 VAR16_32 = {
+struct descloc_s rombios32_gdt_48 VAR16VISIBLE = {
     .length = sizeof(rombios32_gdt) - 1,
     .addr = (u32)MAKE_FLATPTR(SEG_BIOS, rombios32_gdt),
 };
diff --git a/src/pirtable.c b/src/pirtable.c
index a83d4f7..18d3ff5 100644
--- a/src/pirtable.c
+++ b/src/pirtable.c
@@ -9,7 +9,7 @@
 #include "util.h" // checksum
 #include "biosvar.h" // SET_EBDA
 
-u16 PirOffset VAR16_32;
+u16 PirOffset VAR16VISIBLE;
 
 struct pir_table {
     struct pir_header pir;
diff --git a/src/pnpbios.c b/src/pnpbios.c
index 7d9ece5..4e7abc6 100644
--- a/src/pnpbios.c
+++ b/src/pnpbios.c
@@ -41,7 +41,7 @@
 // We need a copy of this string in the 0xf000 segment, but we are not
 // actually a PnP BIOS, so make sure it is *not* aligned, so OSes will
 // not see it if they scan.
-char pnp_string[] __aligned(2) VAR16_32 = " $PnP";
+char pnp_string[] __aligned(2) VAR16VISIBLE = " $PnP";
 #endif
 
 #define FUNCTION_NOT_SUPPORTED 0x82
diff --git a/src/smp.c b/src/smp.c
index 49e5631..44a7929 100644
--- a/src/smp.c
+++ b/src/smp.c
@@ -45,8 +45,8 @@
     return *(volatile const u8 *)addr;
 }
 
-struct { u32 ecx, eax, edx; } smp_mtrr[16] VAR16_32;
-u32 smp_mtrr_count VAR16_32;
+struct { u32 ecx, eax, edx; } smp_mtrr[16] VAR16VISIBLE;
+u32 smp_mtrr_count VAR16VISIBLE;
 
 void
 wrmsr_smp(u32 index, u64 val)
@@ -60,7 +60,7 @@
     smp_mtrr_count++;
 }
 
-u32 CountCPUs VAR16_32;
+u32 CountCPUs VAR16VISIBLE;
 extern void smp_ap_boot_code();
 ASM16(
     "  .global smp_ap_boot_code\n"
diff --git a/src/system.c b/src/system.c
index 8236cf0..a9f271e 100644
--- a/src/system.c
+++ b/src/system.c
@@ -247,8 +247,8 @@
 }
 
 // Info on e820 map location and size.
-struct e820entry e820_list[CONFIG_MAX_E820] VAR16_32;
-int e820_count VAR16_32;
+struct e820entry e820_list[CONFIG_MAX_E820] VAR16VISIBLE;
+int e820_count VAR16VISIBLE;
 
 static void
 handle_15e820(struct bregs *regs)
diff --git a/src/types.h b/src/types.h
index 215b666..7edd809 100644
--- a/src/types.h
+++ b/src/types.h
@@ -42,9 +42,9 @@
 # define VISIBLE32
 // Designate a variable as (only) visible to 16bit code.
 # define VAR16 __section(".data16." UNIQSEC)
-// Designate a variable as visible to both 32bit and 16bit code.
-# define VAR16_32 VAR16 __VISIBLE
-// Designate a variable visible externally.
+// Designate a variable as visible to 16bit, 32bit, and assembler code.
+# define VAR16VISIBLE VAR16 __VISIBLE
+// Designate a variable as externally visible (in addition to all internal code).
 # define VAR16EXPORT __section(".data16.export." UNIQSEC) __VISIBLE
 // Designate a variable at a specific 16bit address
 # define VAR16FIXED(addr) __aligned(1) __VISIBLE __section(".fixedaddr." __stringify(addr))
@@ -58,9 +58,9 @@
 # define VISIBLE16
 # define VISIBLE32 __VISIBLE
 # define VAR16 __section(".discard.var16." UNIQSEC)
-# define VAR16_32 VAR16 __VISIBLE __weak
-# define VAR16EXPORT VAR16_32
-# define VAR16FIXED(addr) VAR16_32
+# define VAR16VISIBLE VAR16 __VISIBLE __weak
+# define VAR16EXPORT VAR16VISIBLE
+# define VAR16FIXED(addr) VAR16VISIBLE
 # define VAR32VISIBLE __VISIBLE
 # define ASM16(code)
 # define ASM32(code) __ASM(code)
diff --git a/src/vgahooks.c b/src/vgahooks.c
index ddeb1d3..701e83c 100644
--- a/src/vgahooks.c
+++ b/src/vgahooks.c
@@ -13,9 +13,9 @@
 #include "config.h" // CONFIG_*
 
 // The Bus/Dev/Fn of the primary VGA device.
-int VGAbdf VAR16_32;
+int VGAbdf VAR16VISIBLE;
 // Coreboot board detected.
-int CBmainboard VAR16_32;
+int CBmainboard VAR16VISIBLE;
 
 static void
 handle_155fXX(struct bregs *regs)
