gpt4 book ai didi

macos - 为 Mac OS X 运行汇编代码

转载 作者:行者123 更新时间:2023-12-04 03:14:01 28 4
gpt4 key购买 nike

我目前正在学习汇编类(class),我必须在 Mac OS X 上运行代码,但我不知道应该如何在 Mac OS X 上运行代码

这是代码:

; Description: This program adds and subtracts 16‐bit integers.
; Revision Date:
INCLUDE Irvine32.inc
.code
main PROC
mov ax, 650 ; AX = 650h
sub ax, 50h ; AX = 600h
sub ax, 100h ; AX = 500h
sub ax, 300h ; AX = 200h
call DumpRegs ; display registers
exit
main ENDP
END main

这是我收到的错误信息
Tayvions-MacBook-Pro:~ tayvionpayton$ cd Documents/Code/
Tayvions-MacBook-Pro:Code tayvionpayton$ nasm -f macho32 -o0 assembly_Tp.asm
assembly_Tp.asm:4: error: parser: instruction expected
assembly_Tp.asm:5: warning: label alone on a line without a colon might be in error
assembly_Tp.asm:6: error: parser: instruction expected
assembly_Tp.asm:12: warning: label alone on a line without a colon might be in error
assembly_Tp.asm:13: error: symbol `main' redefined
assembly_Tp.asm:13: error: parser: instruction expected
assembly_Tp.asm:14: error: parser: instruction expected
Tayvions-MacBook-Pro:Code tayvionpayton$

最佳答案

汇编代码没有运行,它是:

  • 组装/编译 - 根据样式和语法,有几种选择。因为您使用过 Intel 语法,请尝试 NASM .还有gnu在所谓的 AT&T Syntax 中编写源代码时使用的汇编程序句法。见 GAS .
  • 将源代码编译为目标代码格式后,将调用链接器来解析外部引用和/或附加静态库以创建可执行文件。你用 gnu 来做这件事链接器 [LD]。 3

  • 以下是使用 NASM 的两步编译/链接示例:

    首先将源代码编译为目标文件。这个例子是 32 位的:
    nasm -f macho32 -O0 helloworld.asm 

    这将产生 helloworld.o (对象)文件。然后,您需要通过链接来完成此操作:
    ld helloworld.o -o helloworld

    您现在可以使用 ./helloworld 运行

    关于macos - 为 Mac OS X 运行汇编代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42619995/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com