visual-studio - 为什么无法构建基本的汇编代码?
问题描述
我有一个大问题,我刚从汇编开始,我想我至少了解了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 ,我按照更多教程进行设置,并且我还遵循了一些书。所以拜托,有人可以解释我该怎么做,尝试什么,我一无所知,Section
Segment
或者只是改变订单或点,仍然没有
解决方案
推荐阅读
- docker - 无法在 tcp://localhost:2375 连接到 Docker 守护进程
- javascript - dayjs 返回格式错误的日期
- xml - 如何修复“此文档已经有一个 'DocumentElement' 节点。”
- php - 此路由不支持 put
- html - 如何处理引导程序中的网格,网格内的网格
- javascript - JS过滤器/映射来获取对象之间
- c# - 当我打开一个新表单两次时,OpenForms 不会运行
- python - 'tensorflow_core.estimator' 没有属性'inputs',为什么会发生这种情况?
- sql - 将表名和行信息传递到 INSERT INTO 存储过程
- python - 设置现有 numpy 对象的 __hash__