__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。
这是我第一次尝试使用汇编代码。