注意,根据位移进行转移的指令,它们的转移范围受到转移位移的限制,如果在源程序中出现了转移范围超界的问题,在编译的时候,编译器将报错。
比如,下面的程序将引起编译错误:
assume cs:code code segment start:jum short s db 128 dup(0) s:mov ax,0ffffh code ends end start
jmp short s 的转移范围是-128--127,IP最多向后移动127个字节。
注意:
我们在第2章中讲到的形如 jmp 2000:0100
的转移指令,是在Debug中使用的汇编指令,汇编编译器并不认识。如果在源程序中使用,编译时也会报错。