如何存储CS和IP地址(Intel 8086)?

0 assembly tasm x86-16

我想将CS(代码段)和IP(指令指针)地址存储到任何可用的寄存器AX,BX,CX或DX中.是否有可能以某种方式访问​​当前的CS或IP值?

Jes*_*ter 5

是的,CS可以直接访问.IP然而,事实并非如此.通常的技巧是做一个CALL将它放在堆栈上的指令:

    mov dx, cs ; save cs into dx
    call next
next:
    pop ax ; place ip of "next" into ax, adjust as necessary
Run Code Online (Sandbox Code Playgroud)

当然,只有在加载地址未知时才需要这样做.