Listing 2

asm("    push  es");      /*  save segment register */
asm("    mov  ax, 034h"); /*  use the Phar Lap Local Descriptor Table (LDT) */
asm("    mov  es, ax");   /*  segment selector 034h to access real memory */
ebx = addr;               /*  real memory address desired */
cl = val;                 /*  byte value to poke */
asm(ebx, cl, "   mov   byte ptr es:[ebx], cl"); /*  poke it */
asm("    pop  es")        /*  restore segment register */