Mail Archives: djgpp/1998/05/14/08:31:54
Herman Schoenfeld wrote:
>
> How do i do a "byte ptr" in djgpp inline asm?
>
> ie.
>
> mov ax, byte ptr a
> asm ("movw ??, %%ax": : "g" (a): "ax");
movzwb ??,%%ax // unsigned
or movswb ??,%%ax // signed
if i remember...
>
> Is there any possible way to use variable names in inline assembly?
>
> int i=10, j=20;
> asm ("movw %_i, %%eax": : "eax");
> asm ("movw %_j, %%ebx": : "ebx");
2 ways:
local variables:
asm ("movw %0, %%ebx": : "m" j); // i'm not sure about 'm'
globals: (and perhaps locals)
int j asm ("myvar_j");
asm ("movw myvar_j, %%ebx");
>
> I know that works, however if the above assembly is in a function and
> the variables i,j are declared publically, then it decides to load those
> not the ones declared inside the function. Why doesn't the scope rules
> seem to affect djgpp inline asm? Or, is there a way around this?
--
^ ^ ^
| | |
+-+-+ Fabrice ILPONSE
| email: fabrice AT asim DOT lip6 DOT fr
|
|
-
- Raw text -