entorno de compilación al terminal de acumulación
Instalar DOSBox
sudo apt-get install dosbox
descargar
los archivos necesarios para el archivo masm exe enlace de depuración enlace de depuración
directorio masm creada en el disco duro, el archivo masm tres primeros en el directorio
y luego entrar en el terminal de DOSBox
plazo
directorio de la unidad C de simulación creado
mount c / home /~ / masm
y luego entrar en el directorio de simulación
c: en este punto
se puede empezar a programar la compilación^_^
Con el editor Vim hello world
guarda comohello.asm
masm hello.asm
// pulse enter 3 aquí en
link hello
Del mismo modo //
Ejecutar hello
// aquí no puede ser el resultado final de la necesidad de volver a entrar en la salida DOSBox clic sobre él
código ensamblador hola mundo aquí publicado
DATA SEGMENT
STRING DB 'Hello World!', '$'
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP (0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK1
BEGIN: MOV AX, DATA
MOV DS, AX
LEA DX, STRING
MOV AH, 9
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END BEGIN
El perfil se genera Linux
En este compartido de tabla de configuración
La resolución y la ejecución de código de tono que se inicie automáticamente elimina la entradamount xxx;c:
#这个在24行处 分辨率可自行调整
fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=1024x640
output=opengl
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true
#这个在文件底部
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c: /home/lambert/masm
c:
Paso una fuente ensamblador DOSBox al (detalle)
En la publicación de DOSBox de esta entrada puede ser visualizada masm
-
masm
Compilar el archivo
masm xx.asm
determina primero el archivo de destino de salida Introduzca el nombre de
la segunda carro ignorar la lista de archivos para generar
un tercer carro ignorar la generación de archivos de referencias cruzadas
En publicada enlace de entrada DOSBox se puede mostrar de acuerdo con la presente
-
enlace
ficheros objeto de conexión resultante archivo ejecutable
archivo de conexiónlink xx
de retorno primer carro Introduzca el nombre del programa ejecutable
del segundo carro ignoran los archivos de imagen generados
tercer carro entran en las bibliotecas de llamada de subrutina conectados ignoran ignorar pulse Intro
última se informará de un falloLINK : warning L4021:no stack segment // 没有栈段 这里我们不理会这个错误
Tener métodos sofisticados ahora para simples
masm xx; // 在结尾加上分行,按enter后,编译器就对xx文件进行编译,在当前目录生成目标文件xx.obj,并在编译的过程中自动忽略中间文件的生成
link xx; // 同上