用指令预取反跟踪
概述:
  
      CPU 的执行时并不是执行到哪一句再到内存中去取那一句,而是先读入到 CPU 的 Cache 中,如果指令已经到了 
  Cache 中,再将它修改也没有用了,如果用跟踪程序的话,CPU 的 Cache 中就不会是跟正常执行时的指令相同,所以可以改动下几条指令,当然是故意改错,如果没有跟踪,程序还回照常执行,有跟踪的话,那就...
汇编编程示例:
  
  
  
  code     segment
          assume    cs:code,ds:code
          org    100h
  start:
          jmp    install
  
  d1      db    'OK, passed ...',0dh,0ah,24h
  
  install:
          mov    word ptr _code,20cdh
  _code:
          nop                   
  ;如果跟踪一下,就会发现下一条指令是 INT 20H,返回 DOS 了
          nop
  
          mov    si,offset _code1
          mov    di,si
          cld
          mov    ax,20cdh
          stosw
          lodsw
  _code1:
          nop
          nop
  
          mov    ah,9         
  ;now ax=20cdh
          mov    dx,offset d1
          int    21h
          int    20h
  
  code    ends
          end    start