Ensamblador - "hola mundo" que salga en la ventana de comandos

 
Vista:
sin imagen de perfil
Val: 6
Ha mantenido su posición en Ensamblador (en relación al último mes)
Gráfica de Ensamblador

"hola mundo" que salga en la ventana de comandos

Publicado por jose (2 intervenciones) el 13/09/2020 00:47:04
Hola a todos.Estoy mirando como va el ensamblador, y me he bajado el FASM.
He ejecutado algunos programas de ejemplo del FASM y he decidido ver como va el típico "hola mundo". El programa que encontre por internet es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
include 'win32ax.inc'
.data
    saludo db 'Saludo',0
    hola db 'Hola,mundo!',0
.code
start:
push 0
push saludo
push hola
push 0
call [MessageBoxA]
;push 0
call [ExitProcess]
.end start
Me funciona perfectamente,el problema para mí es que incluye el "win32ax" y que me pone el "hola mundo" en una ventana de windows. He buscado por todo el internet hispanoparlante el programa "hola mundo" que salga en la ventana de comandos (supongo que será mas corto y más básico y yo pretendía empezar por lo más facilito), pero ninguno de los que pruebo funcionan en FASM.
¿Alguien puede escribirme dicho programa para que funcione en la linea de comandos usando FASM?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

"hola mundo" que salga en la ventana de comandos

Publicado por Nacho (81 intervenciones) el 13/09/2020 12:07:40
Mucho más sencillo no, sería algo como
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.model small
.stack
 
.data
    saludo db 'Saludo',0
    hola db 'Hola,mundo!',0
 
.code
start:
    mov ax,@data
    mov ds,ax
 
    mov ah,09
    mov dx,offset hola
    int 21h
 
    mov ax, 4c00h
    int 21h
 
.end start

La diferencia es que tienes que llamar funciones del dos o de la bios y no del windows,

Lo que sí que no vas a conseguir es ensamblar eso con el mismo makefile que el otro programa. El makefile que tienes quiere generar un programa para windows, y si le pones algo para dos da errores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha mantenido su posición en Ensamblador (en relación al último mes)
Gráfica de Ensamblador

"hola mundo" que salga en la ventana de comandos

Publicado por jose (2 intervenciones) el 13/09/2020 15:02:07
"Lo que sí que no vas a conseguir es ensamblar eso con el mismo makefile que el otro programa. El makefile que tienes quiere generar un programa para windows, y si le pones algo para dos da errores."

Ahh,vale,creía que sería igual que el compilador de java o de c++,que puedes hacer programas tanto para DOS como con ventanas.
Bueno,aprendí algo de todas formas,jejje,muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar