相关文章  
  • 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)5

    all printf loop looper pop eax ret ; EOF

    粗一看, 非常简单: 因为你在 10 个 printf() 调用用的是同一个字符串, 你不需要清除栈. 但当你编译以后, 循环不会停止. 为什么? 因为 printf() 里什么地方用了 ECX 但没有保存. 使你的循环正确的工作, 你必须在调用之前保存 ECX 的值, 调用之后恢复它, 像这样:

    ; loop.asm 
    
    
    
    global main 
    
    
    
    extern printf 
    
    
    
    section .text 
    
    
    
    msg db "H

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

         

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

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