wenfan 发表于 2008-2-28 03:15

大家帮我看看这段带码!555

.model  tiny
  .code

  Org  0100h

carrier:
  db  0E9h,0,0    ; jmp start

start:
  mov  bp, sp      ; Antidebugging get ?offset!
  int  0003h      ; Int for breakpoints
该文件是个.COM文件,问下前面3个字节编译后不就是JMP 0000H嘛!!!.COM文件就直接结束了把!!那后面的代码还有用吗?

wenfan 发表于 2008-2-29 16:48

没人回答我嘛???

没人回答我嘛???

zhoulikelvjj 发表于 2008-2-29 20:18

E900,后面的00是要跳转到的地址减去当前的IP寄存器的值,
当执行这条指令说,IP就是start的偏移地址,然后?- IP = 00;
? = IP,所以E900就是jmp start而不是jmp 0000h

页: [1]

编程论坛