[Back to POINTERS SWAG index] [Back to Main SWAG index] [Original]
{
CC> I want to know how to retrieve the n(th) element from the
CC> table in BASM.
Solution:
}
 program _getvalue;
 const table:array[0..9] of integer=
   (1001,1002,1003,1004,1005,1006,1007,1008,1009,1010);
 function getvalue(nth:word):integer; assembler;
 asm
   mov si,nth                 { get index }
   add si,si                  { 'multiply' by two (word-sized) }
   mov ax,word ptr table[si]  { put table[index] in ax -> function-result }
 end;
 begin
   writeln(getvalue(7));
 end.
[Back to POINTERS SWAG index] [Back to Main SWAG index] [Original]