我是汇编的初学者(实际上这是我第一次尝试),我想知道如何使用NASM和ld链接器在我的Mac上运行这段x86汇编代码。mov eax,4 ; Specify sys_write call mov edx,EatLen ; Pass the length of the message
int 80H ; Make kernel call</
我的问题是:一个过程不知道它是从哪里调用的(不知道是使用call near还是call far ),所以当我们使用call far func,但func以ret结束时,cs就留在堆栈中了。另一方面,当我们使用call func和func一起使用retf时,弹出了错误的cs。如何解决这个问题?我应该避免使用retf (避免调用另一个段中的过程)吗?[section A]call dword func ; call func in section B
.
我正在尝试使用Paul卡特博士的pcasm书学习汇编:当我运行它的时候,我得到了分段错误。To assemble for Microsoft Visual Studio; To assemble for LinuxZF_MASK 00000040h%define DF_MASK 00000400h
%
我正在尝试学习汇编语言作为一种“充实”的练习。我有一台Mac,似乎最好的学习资源是Linux。我唯一的Linux运行的是Parallels Desktop for OSX。由于汇编是基于操作系统和芯片组的,我在尝试通过虚拟机汇编Linux汇编语言时会遇到很多额外的问题吗?我知道OSX汇编不是最好的学习工具。-JP