linux0.11汇编如何打印eax寄存器

jayus0821 2018-09-26 09:05:57
linux0.11内核的系统调用中,eax寄存器存储着调用的函数id。这里想要将eax寄存器的值打印出来。
但是仅仅使用int 0x81,是将eax中的值当作ascii打印,打印出的是一些箭头。
我给eax增加一个48没有反应,gdb调试发现add根本不起作用,调换eax与48的顺序也没反应。
这里加48是不行的,因为调用的函数的id不止一位数。
所以
1,为什么add没作用
2,该如何打印eax的值?

...全文
357 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43939551 2019-11-21
  • 打赏
  • 举报
回复
add是有用的,但是如果系统调用号超过9,比如10,10+48=58,就会输出58对应的ascii码,是乱码
weixin_43354072 2018-10-10
  • 打赏
  • 举报
回复
飞哥,可以看看这篇博客
https://blog.csdn.net/linzhanglong/article/details/78629496
nobody_or_somebody 2018-09-27
  • 打赏
  • 举报
回复
敢问是TC的哪位大佬?

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧