首页 > 解决方案 > 为什么无法构建基本的汇编代码?

问题描述

我有一个大问题,我刚从汇编开始,我想我至少了解了MOV系统调用和系统调用的基础知识,但我无法真正理解为什么我的代码不想构建并运行,它们是基本的'Hello World' 命令我的代码如下所示

    global_start

_start:
    mov eax,4
    mov ebx,1
    mov ecx,msg
    mov edx,len
    int 0x80

    mov eax,1
    int 0x80

segment .data
msg db 'Ide Gas na max', 0xa
len equ $ - msg

我尝试设置所有不同的环境,MESM32 SDK、Visual Studio、Visual Studio CodeMASM/TASM以及打开 DOSBOX 的扩展名,遗憾的是它会立即崩溃,并且调试选项会为每一行提供错误,(我确实了解到 TASM 更适用于 16 位应用程序,所以我只在首选项中更改为 MSAM)

    main.ASM(1): error A2008: ression : segment
    main.ASM(2): error A2008: ression : global_start
    main.ASM(4): error A2034: values for structure
    main.ASM(16): error A2088: ring

我没有包含完整的错误,因为每行只有这 4 个变体重复,如果你想看,我可以发布,但我不想让它太长。所以我想也许这只是我使用的指令集错误,所以我只是在网上找到了随机的hello world 代码,然后复制并粘贴,完全没有工作,总是有一个错误,然后我将 IDE 更改为 MASM32 编辑器,这只总是给出“Assembly Error”,而 Visual Studio 只是说每次 diff 消息,我现在不知道是什么,我删除了它,我真的不喜欢它,是的,我也为 VS 项目设置了 MASM ,我按照更多教程进行设置,并且我还遵循了一些书。所以拜托,有人可以解释我该怎么做,尝试什么,我一无所知,SectionSegment或者只是改变订单或点,仍然没有

标签: visual-studioassemblyvisual-studio-codex86masm

解决方案


推荐阅读