Ensamblador X86 Parte 10 Hola mundo

  Рет қаралды 17,693

NEOMATRIX

NEOMATRIX

Күн бұрын

En este episodio crearemos muestro primer programa en ensamblador el cual, imprimirá en pantalla un “hola mundo!!”.
Codigo fuente: github.com/cod...
linktree: linktr.ee/neom...
Podcast: anchor.fm/neom...
Médium: / nabucodonosor
Libro Ensamblador x86: nabucodonosor....

Пікірлер: 34
@VicenteMartinezSempere
@VicenteMartinezSempere 5 ай бұрын
Increible que haya alguien haciendo este contenido que tanto cuesta encontrar en español
@stanlyoncm
@stanlyoncm 2 жыл бұрын
Hola @neomatrix, 17:13 Los caracteres de escape se pueden representar a travez de las comillas invertidas (`). section .data mensaje db `hola ` size equ $-mensaje section .text global _start _start: mov eax, 4 mov ebx, 1 mov ecx, mensaje mov edx, size int 128 mov eax, 1 mov ebx, 0 int 128 Saludos, Stan.
@milocasellas
@milocasellas 2 жыл бұрын
Mi primer programa en assembly, yeah!! ¡Gracias! Estupendo el curso, sigo con él... 🙂
@fantasmashy
@fantasmashy Жыл бұрын
agradezco que aumentes el tamaño del texto, muchos lo olvidan y el código no se entiende ni con la resolución al maximo
@leandrolambardi9712
@leandrolambardi9712 3 жыл бұрын
Neomatrix gracias por este cuso me suscribo
@dipsiecamila
@dipsiecamila Жыл бұрын
Para 64 bits _start es el default de arranque, pero no es obligatorio. Global no le indica al compilador que ahí empieza el programa, lo que indica es que el preprocesador puede usar _start en otros archivos para linkearlo. Para comprobar que lo que digo es cierto, usted puede comentar esa línea escribiendo un punto y coma antes así: ;_start y tambien en ;global _start y como el programa es de un solo archivo no va a fallar; es decir ”global _start” está sobrando. Lo que se debe pensar es que el procesador ejecuta línea a línea lo que esté en lenguaje máquina y al compilar la sección texto queda antes de la sección data y por eso lo primero que se ejecuta es la instrucción mov ax,4
@sebastianacosta4677
@sebastianacosta4677 2 жыл бұрын
Excelente tutorial NEO
@davidportilla4377
@davidportilla4377 4 жыл бұрын
menos mal estoy anotando todo , porque en alto nivel los errores logicos o de sintaxis son fatales, aqui la precicion es absoluta , no se puede ir escribiendo codigo a la loca, menos mal C me ense;o la logica de los punteros y la ram y saber capturar ciertos errores del tipo "el puntero no consiguio memoria del sistema operativo, memoria insuficiente" cuando el puntero retorna null en lugar de un valor de la ram
@estebangomez3799
@estebangomez3799 3 жыл бұрын
Gracias Josue
@eliasllanca5003
@eliasllanca5003 3 жыл бұрын
Soy programador orientado a desarrollo web, pero ensamblador hace que mi cerebro exprima neuronas.
@viroxxx
@viroxxx 2 жыл бұрын
Le podríamos llamar: Programación Orientado a Hardware.
@cisnelevanon
@cisnelevanon 3 жыл бұрын
¿Cómo sabemos que dato va en que registro? mov eabx,4 mov eax, 1 mov edx, msg mov ecx, len ¿¡Seria valido este ejemplo?
@meoDomicio
@meoDomicio 3 жыл бұрын
esos numeritos, se conocen como los numeros de llamada al sistema, y en mi caso esta en esta ruta /usr/include/asm/unistd_32.h
@codigo1x
@codigo1x 3 жыл бұрын
Excelente Gracias!
@edmanemsmusic
@edmanemsmusic 3 жыл бұрын
Alguien en los comentarios tiene la misma duda que yo, con respecto a lo que han llamado "numero de llamada al sistema" ¿podrías explicarme mas o menos como funcionan? muchas gracias! buen video.
@NEOMATRIXcode
@NEOMATRIXcode 3 жыл бұрын
kzbin.info/www/bejne/fpOalYiDZax0mtk
@edez6177
@edez6177 Жыл бұрын
pero porque se le asignan esos valores ?? osea en: mov eax y en mov ebx porque un 4 y un 1 para que son o como???
@NEOMATRIXcode
@NEOMATRIXcode Жыл бұрын
Hola Ede z, estos valores son establecidos por el sistema operativo, en concreto Linux, y en especifico sirven para indicarle al sistema operativo que se desea imprimir algo en pantalla ;este video forma parte de una lista de reproducción del curso de ensamblador 2020, recomiendo que mires los videos del 1 en adelante para tomar el contexto
@maxjhonson4546
@maxjhonson4546 Жыл бұрын
Hola disculpe como instalo gnu linker ?
@NEOMATRIXcode
@NEOMATRIXcode Жыл бұрын
hola, ya viste éste video? kzbin.info/www/bejne/epPVe2lnr6qcoNksi=D6aHJeQDBO_6Ed7R
@ncac8122
@ncac8122 3 жыл бұрын
Entonces _start puede ser remplazada por cualquier otra etiqueta y solo tendrías que especificar en global que etiqueta quieres usar?
@NEOMATRIXcode
@NEOMATRIXcode 3 жыл бұрын
asi es, aunque en algunos enlazadores muy especificos te obliga a tu lizar alguna etiqueta global específica, solo haz la prueba de cambiar la etiqueta por alguna otra y si el enlazador se queja solo coloca la qué él te indique de no ser así entonces puedes usar cualquier etiqueta que quieras
@largo9711
@largo9711 3 жыл бұрын
Antes de indicar que el programa había finalizado me salió un mensaje de: violación de segmento ('core' generado)
@NEOMATRIXcode
@NEOMATRIXcode 3 жыл бұрын
es una advertencia que no afecta la ejecución del programa, significa que se intento leer/escribir en un area de memoria no permitido al programa, el sistema operativo se encarga de administar estos casos
@largo9711
@largo9711 3 жыл бұрын
@@NEOMATRIXcode muchas gracias por la aclaración, ensamblador resulta muy interesante. Me suscribo
@pikachuvegano
@pikachuvegano Жыл бұрын
¿Seria lo mismo en fasm?
@NEOMATRIXcode
@NEOMATRIXcode Жыл бұрын
hola, no, cada ensamblador (fasm, nasm, masm, etc) maneja una sintaxis y notación distinta (aunque algo similar), saludos
@pikachuvegano
@pikachuvegano Жыл бұрын
@@NEOMATRIXcode gracias
@jesusdaniel4915
@jesusdaniel4915 Жыл бұрын
@@NEOMATRIXcode este curso de que tipo es?
@NEOMATRIXcode
@NEOMATRIXcode Жыл бұрын
@@jesusdaniel4915 buenas jesús,si te refieres a que clase de ensamblador se emplea en el curso, es Nasm con sintaxis Intel, para GNU/Linux en procesadores X86
@jesusdaniel4915
@jesusdaniel4915 Жыл бұрын
@@NEOMATRIXcode no tienes un curso de masm? es muy distinto?
@kennedyhernandez5388
@kennedyhernandez5388 2 жыл бұрын
Tu ip
@fantasmashy
@fantasmashy Жыл бұрын
XD que?
@punko0107
@punko0107 Жыл бұрын
@@fantasmashy so
Ensamblador X86   Parte 11 suma y resta
22:40
NEOMATRIX
Рет қаралды 12 М.
Ensamblador X86   Parte 12 Multiplicación y división
23:25
NEOMATRIX
Рет қаралды 10 М.
Секрет фокусника! #shorts
00:15
Роман Magic
Рет қаралды 114 МЛН
Bike Vs Tricycle Fast Challenge
00:43
Russo
Рет қаралды 38 МЛН
Je peux le faire
00:13
Daniil le Russe
Рет қаралды 21 МЛН
Ensamblador X86   Parte 28 Cadenas 2
10:12
NEOMATRIX
Рет қаралды 990
HTML Clase 1 (Introducción a HTML)
15:50
sin miedo a programar
Рет қаралды 17
Ensamblador X86   Parte 13 Desplazamientos
20:22
NEOMATRIX
Рет қаралды 4,4 М.
Ensamblador X86   Parte 17 instrucciones booleanas
19:34
NEOMATRIX
Рет қаралды 1,9 М.
Ensamblador X86   Parte 26 Arreglos 3
16:02
NEOMATRIX
Рет қаралды 1,3 М.
Ensamblador X86   Parte 38 Debug
19:18
NEOMATRIX
Рет қаралды 1,7 М.
Ensamblador X86   Parte 14 Rotaciones
12:11
NEOMATRIX
Рет қаралды 2,6 М.
Ensamblador X86   Parte 37 Manipulación de la pantalla
15:56
NEOMATRIX
Рет қаралды 2,4 М.
Ensamblador X86   Parte 22 Estructuras de control 2
17:03
NEOMATRIX
Рет қаралды 1,1 М.
Секрет фокусника! #shorts
00:15
Роман Magic
Рет қаралды 114 МЛН