易码技术论坛

 找回密码
 加入易码
搜索
查看: 1278718|回复: 33

汇编区不是一般的冷啊.......

 关闭 [复制链接]
发表于 2007-8-22 18:57:05 | 显示全部楼层
俺来了
谁知道brk这个指令的功能?
发表于 2007-8-22 18:59:36 | 显示全部楼层
看来汇编区确实冷啊
 楼主| 发表于 2007-8-22 19:07:16 | 显示全部楼层
leesoft还真牛啊
  一下就吧偶考倒了
那就让偶教教你吧
brk应该是break,也就是中断吧

哈哈~~~~~~~~~~~~
发表于 2007-8-22 19:09:45 | 显示全部楼层
俺是说brk的功能
brk发生时,cpu都做了什么事情,比如:改变了哪些标志位,往栈里压了什么数值?
发表于 2007-8-22 19:12:23 | 显示全部楼层
还有,arm都有哪些中断?
发表于 2007-8-22 19:12:55 | 显示全部楼层
不会就google一下吧
^_^
 楼主| 发表于 2007-8-22 19:15:02 | 显示全部楼层
...


应该是压入了执行中断的地址和标志积存器状态吧
发表于 2007-8-22 19:17:03 | 显示全部楼层
压的地址是什么?
a.brk指令的地址
b.brk指令的地址+1
b.brk指令的地址+2
c.brk指令的地址+3
 楼主| 发表于 2007-8-22 19:19:56 | 显示全部楼层
ARM啊
那偶可不懂了,我只是个菜鸟,什么LDA STA 啊会一点
多的就不会了
如果lee没事的话在汇编区谢谢教程,肯定火
汇编还是有点用的
LAVA的编译器不也是汇编写的么
发表于 2007-8-22 19:21:30 | 显示全部楼层
LavaX的编译器是vc写的
:-)
 楼主| 发表于 2007-8-22 19:21:41 | 显示全部楼层
选b
对了
lee给偶加分
 楼主| 发表于 2007-8-22 19:22:19 | 显示全部楼层


‘写错了,是解释器
 楼主| 发表于 2007-8-22 19:23:24 | 显示全部楼层
对哦
  

  google是最好的网络教师

  不过我百度多点
发表于 2007-8-22 19:23:45 | 显示全部楼层
引用第11楼Loading2007-08-22 19:21发表的“”:
选b
对了
lee给偶加分


俺写成两个b了?
到底哪个?
 楼主| 发表于 2007-8-22 19:25:18 | 显示全部楼层
b.brk指令的地址+1
发表于 2007-8-22 19:27:58 | 显示全部楼层

是brk指令的地址+2
brk虽然是单字节指令,但是cpu会跳过brk后的一个字节,而把brk指令的地址+2入栈
 楼主| 发表于 2007-8-22 19:31:58 | 显示全部楼层
以前记得谁说过执行RTI指令时会出栈中断执行地址+1和寄存器状态的啊
  
  我没仔细想过,不过lee说的在理,偶信你

学到东西了,偶给你加分
 楼主| 发表于 2007-8-22 19:33:34 | 显示全部楼层
跟lee说话一不小心就会学到东西
  真好玩
 楼主| 发表于 2007-8-22 19:45:58 | 显示全部楼层
看来lee还是挺谨慎的,这样戴高帽都没用

  肯定是去水区了
发表于 2007-8-22 19:51:12 | 显示全部楼层
^_^
那俺再说一个
brk虽然是单字节指令,但是cpu会跳过brk后的一个字节,而把brk指令的地址+2入栈
那么rti返回时地址数不是就是brk指令的地址+2呢?
按理说应该是的。不过,ggv某人耍了点小聪明,在brk中断里,把栈里的返回地址+1,这样rti返回到brk指令的地址+3处。这就是为什么某些人以为brk后面跟双字节的原因。
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-25 19:28 , Processed in 0.011667 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表