讨论区 老师答疑区 主题详情
忆笑放诚ykt1508986021568
Win64位,MASM6.15),课程第二节汇编代码编译错误:error A2034: must be in segment block

代码需要在代码段中,定义了了代码后就没有问题了,但是这样的话是不是说这个代码与windows上的masm编译器编译后只能运行在Windows系统上了呀?但实际上我只需要这段汇编指令对应的机器码就行了,改怎么办呢?下面给出的是一个范本。


DATAS SEGMENT

    ;此处输入数据段代码  

DATAS ENDS


STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS


CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    ;此处输入代码段代码

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START


课程

所有回复(2)

汇编不应该和操作系统相关呀!只是和具体处理器相关,其实我只是想要这段代码的机器码,而不是只能在某个平台运行的可执行文件,但是这个MASM将这段汇编代码编译成了在Win64运行的可执行程序。使用MASM编译器必须定义代码段,也是醉了!还要自己装个Mac虚拟机!

老师用的是nasm不是masm两个不同的

回复

最近活动:
创建时间:
浏览次数:280
关注人数:0