该例程实现了对当前代码段内代码的更改,但为什么对其运行没有影响呢?
代码如下:(我改动了一下)
assume cs:code
code segment
s:
mov ax,bx
mov si, offset s
mov di, offset s1-----------改动(原为s0)
mov ax,cs:[si]
mov cs:[di],ax--------------定义为指令一
s0:
nop --------------------定义为指令二
s1:----------------------------------改动(原并没标号)
nop
code ends
end s
改动的目的是:确保来得及在处理器读取该地址时,指令已更改. |