相关文章  
  • Linux系统内核定时器机制详解(下)(2)
  • Linux系统内核定时器机制详解(下)(3)
  • Linux系统内核定时器机制详解(下)(1)
  • Linux系统进程间隔定时器Itimer(下)(3)
  • Linux系统进程间隔定时器Itimer(下)(2)
  • Linux系统进程间隔定时器Itimer(下)(1)
  • Linux操作系统的X86汇编程序设计(3)
  • Linux操作系统的X86汇编程序设计(4)
  • Linux内核驱动程序初始化顺序的调整
  • Linux操作系统的声音设备编程实例(1)
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    Linux操作系统的X86汇编程序设计(2)2

    你应该使用 push dword msg, 指明字符串 msg 的内容, 应该用push dword [msg] (这只能包含 msg 的前四个字节). 因为 printf需要一个指向字符串的指针, 我们应该指明 msg 的地址。

    调用 printf 非常的直接. 注意每一次调用后你必须把栈清除(见下); 所以 PUSH 了一个dword 后, 我从栈里把一个 dword POP 进一个无用的寄存器. Linux 程序只简单的用一个 RET 来返回系统, 由于每个进程都是 shell(或者是 PID)的产物, 所以程序结束后把 控制权还给它. 注意到在 Linux 下, 你是在 "API" 或中断服务的场所里使用系统带来的标准共享库.所有的外部引用由 GCC 管理, 它给 asm 程序员节省了大部分的工作. 一旦你习惯了基本的技巧, Linux 下的汇编编程实际上要比 DOS 简单的多。

    C 调用的语法

    页码:[1] [2] [3] [4] [5] [6]2页、共6页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved