希望大神解释一下关于汇编语言MIPS

希望大神解释一下关于汇编语言MIPS,第1张

a:      .word  -12

这条指令。是分配一个word类型的空间给变量a,并初始化成-12。其具体的地址,在编程的时候“不知道”。必须在整个汇编程序汇编完之后,连接,并可能“重定位”,这些变量的地址才会真正知道。

编译时,开发工具通常都会生成类似于“.map”和“.lst”之类的文件,里面会有详细的变量和函数之类的地址信息。具体文件,得查阅MIPS汇编程序开发工具的相关手册(抱歉,我手边没有)。

有问题继续交流,谢谢。

准确测试cpu的mips或者mflops一般是设计体系结构时候用cpu模拟器或者verilog前仿得到的。对于用C语言比较准确的测试mips或者mflops,你可以用一个程序读取系统时间,然后执行第二个程序,第二个程序执行完成后再记录执行的时间,然后反汇编第二个程序,统计第二个程序中执行的指令条数,通常第二个程序中执行的指令数是确定的,(分支和循环的次数是可确定的)。mips和mflops在risc cpu的评价中比较有价值,感觉cisc稍差一些。

1、

[ 233.110000] Kernel bug detected[#1]:前面的几行很重要,是oops的直接原因,但是你没有沾上来

2、

[ 233.110000] Call Trace:

[ 233.110000] [<80210d30>] do_ade+0x1c0/0x598

[ 233.110000] [<80200404>] ret_from_exception+0x0/0x10

这个是oops时的调用栈

3、 do_ade+0x1c0/0x598

具体出错的位置,0x598是do_ade的长度,0x1c0是出错的指令在do_ade里的偏移。你可以通过反汇编根据0x1c0这个偏移定位到具体的c代码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11473107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存