在微软的cl下写C源码,加入一个断点一般是:
{
__asm int 3
}
机器码为十六进制:CC。今天在nasm里写了一个:
int 3
编译通过了,用dumpbin /disasm显示为:
00000041: CD 03 int 3
运行起来能中断,但是不能继续运行下去了。在nasm源文件里修改如下:
int3
dumpbin /disasm得到正确的结果:
00000041: CC int 3
这样机器码就正确了。看来nasm和masm还是要不同对待。