1
__asm__(".data\n\t"
        "msg:\n\t"
        ".string \"Hello, world!\\n\"\n\t"
        "len = . - msg\n\t"   
        ".text \n\t"               
        "li      0,4\n\t"
        "li      3,1\n\t"
        "lis     4,msg@ha\n\t"
        "addi    4,4,msg@l\n\t"
        "li      5,len\n\t"
        "sc           \n\t"
  ----> "li      0,1\n\t" 
        "li      3,1\n\t"
        "sc"       
        :
        :
        : "cr0","cr3","cr1","cr5","memory"
       );

我正在尝试打印 Hello World!用上面的代码。但是代码在“sc”之后的指令中给了我一个例外,即标有“---->”的行。我正在尝试在 vxWorks-5.4 上的处理器 MPC 8280 (PowerPC) 上执行此操作。在咨询一些文档时。在互联网上找到,我知道sc是一个例外。有人可以建议我做什么来完成这项工作。只是为了确认起见,x86 中的类似代码在它的 int 0x80 处完美运行,它完成了 sc 的工作并触发了系统调用,但由于某种原因,它似乎不适用于 PPC,here。

这是我第一次尝试使用汇编代码。

4

0 回答 0