Assembly &引用;分段错误:11“;装配误差
第一个问题:当我使用链接器时,我收到这个警告“-macosx_version_min未指定,假设为10.7”,我如何避免它 第二个问题:在我运行可执行文件之前,一切都很顺利,我得到这个错误“分段错误:11” 这是什么意思?这个代码有什么问题Assembly &引用;分段错误:11“;装配误差,assembly,x86,Assembly,X86,第一个问题:当我使用链接器时,我收到这个警告“-macosx_version_min未指定,假设为10.7”,我如何避免它 第二个问题:在我运行可执行文件之前,一切都很顺利,我得到这个错误“分段错误:11” 这是什么意思?这个代码有什么问题 附加信息:我在Mac OS X下使用nasm,有一个Intel Core 2 Duo,今天我有benn在我的第一节汇编课上,所以我对这种语言是新手。正如user786653所指出的,Linux风格的系统调用在Mac OS X上不起作用。Linux风格的系统调
附加信息:我在Mac OS X下使用nasm,有一个Intel Core 2 Duo,今天我有benn在我的第一节汇编课上,所以我对这种语言是新手。正如user786653所指出的,Linux风格的系统调用在Mac OS X上不起作用。Linux风格的系统调用在Mac OS X上不起作用,正如user786653所指出的。1。指定-macosx\u version\u min如何?2a。分段错误表示您试图访问您无权访问的内存。2b。在调试器下运行该程序,查看分段错误发生的位置以及您试图访问的内存。接下来是什么
int 0x80
?如果这些成功了(看起来他们应该成功),那么接下来会发生什么呢?这看起来像是32位linux风格的系统调用。我认为MacOSX使用了一种完全不同的方式来执行系统调用。指定-macosx\u version\u min如何?2a。分段错误表示您试图访问您无权访问的内存。2b。在调试器下运行该程序,查看分段错误发生的位置以及您试图访问的内存。接下来是什么int 0x80
?如果这些成功了(看起来他们应该成功),那么接下来会发生什么呢?这看起来像是32位linux风格的系统调用。我认为MacOSX使用了一种完全不同的方式来执行系统调用。
section .data
msg: db 'Hello World di Simona',10 ;the message to write
len: equ $ - msg ;length of the message
section .text
global _start
_start:
mov edx, len ;save the length
mov ecx, msg ;save the message to display
mov ebx, 1 ;prepare for the system call
mov eax, 4
int 0x80 ;sytem call