Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 不';编译汇编指令_Assembly_X86_Fasm - Fatal编程技术网

Assembly 不';编译汇编指令

Assembly 不';编译汇编指令,assembly,x86,fasm,Assembly,X86,Fasm,我使用的是平面汇编程序,当我想运行一些东西时,它会在每一行汇编指令中写入:“非法指令”。 例如,在下面的代码中,它会写.MODEL SMALL是不合法的,如果id删除这一行,它会写.STACK 200H是不合法的,依此类推 .MODEL SMALL .STACK 200H .DATA .CODE start: mov ax, @DATA mov ds, ax mov ax, 4c00h int 21h END start 对于这段代码,它是有效的: sta

我使用的是平面汇编程序,当我想运行一些东西时,它会在每一行汇编指令中写入:“非法指令”。 例如,在下面的代码中,它会写
.MODEL SMALL
是不合法的,如果id删除这一行,它会写
.STACK 200H
是不合法的,依此类推

.MODEL SMALL
.STACK 200H
.DATA

.CODE
start:
    mov ax, @DATA
    mov ds, ax

    mov ax, 4c00h
    int 21h

END start
对于这段代码,它是有效的:

start:
    mov ds, ax

    mov ax, 4c00h
    int 21h  

关于不同汇编程序的指令,没有一个单一的标准。有很多

中详细介绍了FlatAssembler(FASM)的指令,该指令位于公共和可访问的网页上

此外,本手册应以PDF或TXT文件的形式在下载的软件包中提供给您,具体取决于软件包的目标操作系统

它涵盖了所有汇编指令和支持的指令。还有很多例子,如果还有什么不清楚的地方,你可以继续问

对于被质疑的代码,FASM代码如下所示:

format MZ
entry _CODE:start
stack 200H

segment _DATA

segment _CODE

start:
    mov ax, _DATA
    mov ds, ax

    mov ax, 4c00h
    int 21h
但是,考虑到该程序过于简单,无法编译为MZ可执行文件(适用于代码+数据大于64KB的应用程序),我建议使用更简单的COM文件格式:

    org 100h

    mov ax, 4c00h
    int 21h

有些东西告诉我,你甚至没有考虑阅读汇编程序的文档,并且假设它将支持其他汇编程序所支持的。不,我没有,我正在阅读的书没有指定我应该更改/使用这个汇编程序,所以我只是写了…这是TASM或MASM语法和指令,FASM不支持它们。找一个合适的汇编器或者学习如何使用这个。对于那些不喜欢MS的人,Japheth的JWASM应该处理它。。。