digitalmars.D.learn - iasm, call and dolar sign
Greetings. While using D iasm I noticed something interesting. I was trying to get instruction pointer by using call trick and noticed that in opposite to nasm (and probably others assemblers) D iasm uses $ as next instruction pointer. Documentation mentions that dolar sign is usable in Jcc (or jmp only? not sure) and call instructions. It doesn't work. http://dpaste.dzfl.pl/5c9c3d6b call $ ; this should jump to next instruction and store RIP on stack ; if I understand correctly? pop RAX; Compiler slaps me with information that $ is bad operand for call instruction. Am I doing something wrong or it is a bug? Thanks!
Mar 03 2013
On Monday, 4 March 2013 at 03:30:30 UTC, nazriel wrote:Greetings. While using D iasm I noticed something interesting. I was trying to get instruction pointer by using call trick and noticed that in opposite to nasm (and probably others assemblers) D iasm uses $ as next instruction pointer. Documentation mentions that dolar sign is usable in Jcc (or jmp only? not sure) and call instructions. It doesn't work. http://dpaste.dzfl.pl/5c9c3d6b call $ ; this should jump to next instruction and store RIP on stack ; if I understand correctly? pop RAX; Compiler slaps me with information that $ is bad operand for call instruction. Am I doing something wrong or it is a bug? Thanks!Will answer myself :p s/call $/call near ptr $ fixed the thing. Sorry for distributions
Mar 03 2013