我在看Richard Blum的《Professional Assembly Language》这本书的第五章时,看到有介绍pushad,popad这2条指令,使用gcc编译时提示:
stack.s:15: Error: no such instruction: `pushad '
stack.s:16: Error: no such instruction: `popad '
查看http://baike.baidu.com/link?url=iEo76x5cL0j4LtB92mgXf-w0VwDIIOxfM9QOo4OnVuuIHJYqtGAdLdffYttBl9ltkSYi-D1lFcR4odJOCURAEq关于pushad这条指令的介绍,文中提到pusha,pushad,popa,popad都开始于80286cpu,我编译pusha和popa指令是能通过的,那么pushad,popad也应该能通过吧?
我的gcc版本 4.1.2,cpu赛扬(R)。red-hat 32位操作。在另一台64位Xeon的机器上也编译不过,同样的错误提示,有人知道这是为什么吗?
以上均使用AT&T汇编。
再补充一点pushfd popfd也不能使用。