Inline assembler for Dummies

novice2 sorry at noem.ail
Sun Dec 2 11:56:31 PST 2007


> Anyway: what's the difference between EAX and [EAX]?
EAX="opearnd is EAX register itself"
[EAX]="operand is memory pointed by address in EAX"

>And: how do you get the address of a variable in assembler anyway?
lea register, variable

small eample:

#void main()
#{
#  uint var1;
#  uint var2;
#
#  asm
#  {
#    mov  var1, 13;  //var1 = 13
#  }
#  printf("var1 now contain: %d\n", var1);
#
#  asm
#  {
#    lea  EAX, var1;  //EAX = address of var1
#    mov  var2, EAX;  //var2 = var1
#  }
#  printf("var2 now contain address of var1: 0x%p\n", var2);
#}



More information about the Digitalmars-d-learn mailing list