lazarus插入汇编指令编译出错
前三个错误是这样的:
错误:未知标识符“F2”
错误:操作数中的汇编语法错误
错误:未知标识符“EAX”
后面还有一大堆类似的错误;
小弟刚接触汇编知识,碰到这类情况还希望懂内行的大神有空闲的时间,能帮忙解答一下,问题是出在哪里了。小弟不胜感激!!
1.lazarus的汇编功能应该与版本有关.我的版本,若用free-pascal都不支持汇编的,只能用delphi模式
2.delphi模式下,可用汇编,但用jmp是有限制的(一般不会用它,因为内存有分区的,不是所有的区可执行的)
3.虽然图不清,但明显你的代码本身有问题,像寄存器变址指令,要指定数据大小的
如
mov byte ptr [eax+edi+$01],1
4.若新版的free-pascal编译器支持汇编,那应该是AT&T格式(我们传统的是INTEL格式),也就是你的汇编语法完全不对的,你可以看下gcc下的汇编格式
热门标签: