如何解决asm上下文中“ vector”的含义
对于类似的东西
int $0x80
我知道它正在对目标操作数值int
或0x80
执行128
指令。而且,如果我理解正确,128
是系统调用,它将执行存储在eax
中的调用。但是,vector
在这里是什么意思?
目标操作数指定从0到255的向量,编码为8位无符号中间值。
为什么不在这里使用单词number
?这里的vector有特定的含义吗(我想它与C ++或数学中的含义不同)。
解决方法
在这种类型的低级软件上下文中,术语“向量”是地址,向量的列表。通常基于中断/异常。因此,中断5的处理程序是第5个处理程序(有时第6个中断是从0或1开始的(通常不特定于x86))。
所以int 0x80本身不是向量,但是有向量表,并且该表中的偏移量0x80是该中断的处理程序地址。这样可以在易于查找的表中提供固定大小的项目,但是处理程序的大小可以不同。
调用此中断128不会是不正确的,但是处理程序是基于向量表的。地址是另一个字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。