用汇编语言改变CS:IP

Tot*_*ion 3 x86 assembly

你怎么能强行改变CSIP无论是在汇编语言?

ORG指令可以用来改变数量IP,但你怎么改变CS

基本上我想用汇编实现多线程.

许多论坛,包括堆栈溢出问题都说不可能,但那么C有多线程选项,即使是汇编代码也是如此?

nrz*_*nrz 6

要改变cs:ip只是做一个跳远jmp(例如jmp segment:offset)或长期call(例如call segment:offset)根据您的需要.有几种不同的寻址模式可用于jmp 链接call 链接.实现多线程与简单地改变完全不同cs:ip.

  • 由于汇编或多或少直接表示处理器的指令集,因此任何其他编程语言中的任何程序都可以用汇编语言编写(至少在理论上),并且也可以反汇编任何给定的程序.至于答案http://stackoverflow.com/questions/714905/threads-in-x86-assembler-using-the-gnu-assember-as建议,你需要或者使用内核的调度程序或编写自己的调度.http://stackoverflow.com/questions/980999/what-does-multicore-assembly-language-look-like提供了有用的信息.您需要选择所需的多线程类型. (2认同)