在GCC内联汇编中进行syscall

在GCC内联汇编中进行syscall,第1张

在GCC内联汇编中进行syscall

就像是

char p = 'P';int main(){__asm__ __volatile__         (          " movl ,  %%edx nt"          " leal p , %%ecx nt"          " movl 添加,  %%ebx nt"          " movl ,  %%eax nt"          " int 
lea
x80 nt" ::: "%eax", "%ebx", "%ecx", "%edx" );}

ecx
:请注意,我曾经
ebx
将char的有效地址加载到避免使用外部字符寄存器中;对于
int main(){__asm__ __volatile__         (          " movl ,  %%edx nt"          " subl , %%esp nt"          " movl , (%%esp)nt"          " movl %%esp, %%ecx nt"          " movl ,  %%ebx nt"          " movl ,  %%eax nt"          " int x80       nt"          " addl , %%espnt"          ::: "%eax", "%ebx", "%ecx", "%edx"         );}
我尝试$ 0和$ 1的价值,它似乎仍然可以工作…

注意:它之所以有效是因为Intel处理器的字节序!:D



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4981983.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存