王爽汇编 有一段话不能理解
汇编指令 机器代码mov cx,6 B9 06 00
mov ax,10h B8 10 00
s:add ax,ax 01 C0
loop s E2 FC
这段程序装在内存中的不同位置都可正确执行,因为loop s在执行时只涉及s的位移(-4,前移4个字节,补码表示为FCH),而不是s
的地址。如果loop s的机器码中包含得是s的地址,则就对程序段在内存中得偏移地址有了严格得限制,因为机器码中包含的是s的地
址,如果s处的指令不在目的地址处,程序执行就会出错。而loop s 的机器码中包含的是转移的位移,就不存在这个问题了,因为,
无论s处的指令的实际地址是多少,loop指令的转移位移是不变的 我不能明白的是 “就对程序段在内存中得偏移地址有了严格得限制,因为机器码中包含的是s的地址,如果s处的指令不在目的地址处,程序执行就会出错。”这句话 假设包含的是地址 ,程序装在内存中的不同位置,地址也就会不同啊 ,为什么会找不到呢