Gurdar datos en la variable? ASM

Iniciado por Riki_89D, 12 Octubre 2009, 17:50 PM

0 Miembros y 1 Visitante están viendo este tema.

Riki_89D

Eternal perdona que vuelva a marearte,peor tengo unas preguntas mas,ahora me quiero pasar al programacion en ensamblador de 32 bits,que com`pilador me recomiendas tu?

y una pregunta que me pica la curiosidad,los S.o que estan echo con ASM como el kalibri o el Manuet estan echos en ASM de 32 bits no?

un saludo

Eternal Idol

Te recomiendo el paquete MASM32, es el ensamblador oficial de Microsoft mas las cabeceras necesarias para la API de Windows, muchisimos macros utiles y el que mas recursos (tutoriales, documentacion, ejemplos, etc.) tiene.

El primero que mencionas no lo conozco, MenuetOS si (salvo la version de 64 bits claro y todos necesitan un boot en 16 ya que la maquina bootea en modo real como si fuera una 8086).
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Riki_89D

#12
Oks entonces entiendo que un S.o necesita ASM de 16 bitd deguro!pero wno kien svae programar en 32 bits save en 16 supongo xd pues gracias por la info,un saludo,ara me bajo el masm 32

EI: juntando mensajes.

Ui se me olvida decirte algo,e leio por ai en internet que dicen que el MASM (Ensamblador de 32 bits) se le llama Ensamblador de alto nivel!,eso no lo entiendo mucho,sesupone que ensamblador es un lenguaje de bajo nivel no? por que dicen eso?



Salu2

Eternal Idol

Si, el loader al menos tiene que ser de 16 bits.

MASM es Microsoft Macro Assembler, podes aprovechar los macros o no  ;)
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Riki_89D

Entonces seguira siendo mas rapido y ocupando menos memoria un programa echo en MASM32 que uno echo en ++?


Ahora si ya no tengo mas preguntas (pErdon por mi ingorancia)



Salu2

Eternal Idol

Cita de: Riki_89D en 15 Octubre 2009, 13:49 PMEntonces seguira siendo mas rapido y ocupando menos memoria un programa echo en MASM32 que uno echo en ++?

Que tenga soporte para macros no cambia nada, las macros son traducidas directamente a lo que equivalen en assembly (y eso lo escribis vos u otro programador). Pero no quiere decir que tus programas sean mas rapidos, el compilador es una herramienta escrita por expertos muy dificil de superar. Normalmente los programas reservan mucha mas memoria de la que ocupan en disco con lo cual es irrelevante el lenguaje en que esten escritos, es decir si tenes un programa de 2KB y otro de 50KB pero los dos reservan 1GB de memoria virtual ... esos 48KB no tienen la mas minima importancia.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Riki_89D

AA WENO OK,SIEMPRE AVIA PENSADO QUE POR EL ECHO DE QUE UN PROGRAMA ESTE ECHO EN ASM SIEMPRE SRIA MAS RAPIDO.

SALU2

Eternal Idol

Nop, los compiladores llevan años y años de optimizacion encima.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Riki_89D

Vaya que mal que estoi xd,pero lo que si es cierto es que se pueden hacer coss que con otros lenguaje sno se puede verdad?


x ciertto te echo caso i me baje  el masm32,pero me da erroes como este:

Assembling: C:\masm32\pro.asm
C:\masm32\pro.asm(1) : error A2008: syntax error : integer
C:\masm32\pro.asm(2) : error A2085: instruction or register not accepted in current CPU mode
\masm32\include\windows.inc(60) : error A2119: language type must be specified
\masm32\include\windows.inc(61) : error A2119: language type must be specified
\masm32\include\windows.inc(62) : error A2119: language type must be specified
\masm32\include\windows.inc(63) : error A2119: language type must be specified
\masm32\include\windows.inc(64) : error A2119: language type must be specified
\masm32\include\windows.inc(65) : error A2119: language type must be specified
\masm32\include\windows.inc(66) : error A2119: language type must be specified
\masm32\include\windows.inc(67) : error A2119: language type must be specified
\masm32\include\windows.inc(68) : error A2119: language type must be specified
\masm32\include\windows.inc(69) : error A2119: language type must be specified
\masm32\include\windows.inc(70) : error A2119: language type must be specified
\masm32\include\windows.inc(71) : error A2119: language type must be specified
\masm32\include\windows.inc(72) : error A2119: language type must be specified
\masm32\include\windows.inc(73) : error A2119: language type must be specified
\masm32\include\windows.inc(74) : error A2119: language type must be specified
\masm32\include\windows.inc(75) : error A2119: language type must be specified
\masm32\include\windows.inc(76) : error A2119: language type must be specified
\masm32\include\windows.inc(77) : error A2119: language type must be specified
\masm32\include\windows.inc(78) : error A2119: language type must be specified
\masm32\include\windows.inc(79) : error A2119: language type must be specified
\masm32\include\windows.inc(80) : error A2119: language type must be specified
\masm32\include\windows.inc(81) : error A2119: language type must be specified
\masm32\include\windows.inc(82) : error A2119: language type must be specified
\masm32\include\windows.inc(83) : error A2119: language type must be specified
\masm32\include\windows.inc(84) : error A2119: language type must be specified
\masm32\include\kernel32.inc(8) : error A2119: language type must be specified
\masm32\include\kernel32.inc(9) : error A2119: language type must be specified
\masm32\include\kernel32.inc(12) : error A2119: language type must be specified
\masm32\include\kernel32.inc(13) : error A2119: language type must be specified
\masm32\include\kernel32.inc(16) : error A2119: language type must be specified
\masm32\include\kernel32.inc(17) : error A2119: language type must be specified
\masm32\include\kernel32.inc(18) : error A2119: language type must be specified
\masm32\include\kernel32.inc(20) : error A2119: language type must be specified
\masm32\include\kernel32.inc(22) : error A2119: language type must be specified
\masm32\include\kernel32.inc(23) : error A2119: language type must be specified
\masm32\include\kernel32.inc(24) : error A2119: language type must be specified
\masm32\include\kernel32.inc(25) : error A2119: language type must be specified
\masm32\include\kernel32.inc(26) : error A2119: language type must be specified
\masm32\include\kernel32.inc(27) : error A2119: language type must be specified
\masm32\include\kernel32.inc(28) : error A2119: language type must be specified
\masm32\include\kernel32.inc(31) : error A2119: language type must be specified
\masm32\include\kernel32.inc(32) : error A2119: language type must be specified
\masm32\include\kernel32.inc(33) : error A2119: language type must be specified
\masm32\include\kernel32.inc(36) : error A2119: language type must be specified
\masm32\include\kernel32.inc(39) : error A2119: language type must be specified
\masm32\include\kernel32.inc(40) : error A2119: language type must be specified
\masm32\include\kernel32.inc(41) : error A2119: language type must be specified
\masm32\include\kernel32.inc(44) : error A2119: language type must be specified
\masm32\include\kernel32.inc(45) : error A2119: language type must be specified
\masm32\include\kernel32.inc(46) : error A2119: language type must be specified
\masm32\include\kernel32.inc(47) : error A2119: language type must be specified
\masm32\include\kernel32.inc(48) : error A2119: language type must be specified
\masm32\include\kernel32.inc(49) : error A2119: language type must be specified
\masm32\include\kernel32.inc(50) : error A2119: language type must be specified
\masm32\include\kernel32.inc(53) : error A2119: language type must be specified
\masm32\include\kernel32.inc(54) : error A2119: language type must be specified
\masm32\include\kernel32.inc(55) : error A2119: language type must be specified
\masm32\include\kernel32.inc(56) : error A2119: language type must be specified
\masm32\include\kernel32.inc(57) : error A2119: language type must be specified
\masm32\include\kernel32.inc(58) : error A2119: language type must be specified
\masm32\include\kernel32.inc(61) : error A2119: language type must be specified
\masm32\include\kernel32.inc(62) : error A2119: language type must be specified
\masm32\include\kernel32.inc(63) : error A2119: language type must be specified
\masm32\include\kernel32.inc(66) : error A2119: language type must be specified
\masm32\include\kernel32.inc(67) : error A2119: language type must be specified
\masm32\include\kernel32.inc(68) : error A2119: language type must be specified
\masm32\include\kernel32.inc(69) : error A2119: language type must be specified
\masm32\include\kernel32.inc(71) : error A2119: language type must be specified
\masm32\include\kernel32.inc(72) : error A2119: language type must be specified
\masm32\include\kernel32.inc(75) : error A2119: language type must be specified
\masm32\include\kernel32.inc(78) : error A2119: language type must be specified
\masm32\include\kernel32.inc(79) : error A2119: language type must be specified
\masm32\include\kernel32.inc(80) : error A2119: language type must be specified
\masm32\include\kernel32.inc(83) : error A2119: language type must be specified
\masm32\include\kernel32.inc(84) : error A2119: language type must be specified
\masm32\include\kernel32.inc(85) : error A2119: language type must be specified
\masm32\include\kernel32.inc(88) : error A2119: language type must be specified
\masm32\include\kernel32.inc(91) : error A2119: language type must be specified
\masm32\include\kernel32.inc(92) : error A2119: language type must be specified
\masm32\include\kernel32.inc(93) : error A2119: language type must be specified
\masm32\include\kernel32.inc(96) : error A2119: language type must be specified
\masm32\include\kernel32.inc(97) : error A2119: language type must be specified
\masm32\include\kernel32.inc(98) : error A2119: language type must be specified
\masm32\include\kernel32.inc(99) : error A2119: language type must be specified
\masm32\include\kernel32.inc(102) : error A2119: language type must be specified
\masm32\include\kernel32.inc(105) : error A2119: language type must be specified
\masm32\include\kernel32.inc(106) : error A2119: language type must be specified
\masm32\include\kernel32.inc(107) : error A2119: language type must be specified
\masm32\include\kernel32.inc(110) : error A2119: language type must be specified
\masm32\include\kernel32.inc(111) : error A2119: language type must be specified
\masm32\include\kernel32.inc(112) : error A2119: language type must be specified
\masm32\include\kernel32.inc(115) : error A2119: language type must be specified
\masm32\include\kernel32.inc(116) : error A2119: language type must be specified
\masm32\include\kernel32.inc(117) : error A2119: language type must be specified
\masm32\include\kernel32.inc(120) : error A2119: language type must be specified
\masm32\include\kernel32.inc(121) : error A2119: language type must be specified
\masm32\include\kernel32.inc(122) : error A2119: language type must be specified
\masm32\include\kernel32.inc(125) : error A2119: language type must be specified
\masm32\include\kernel32.inc(125) : fatal error A1012: error count exceeds 100; stopping assembly
El volumen de la unidad C no tiene etiqueta.
El n£mero de serie del volumen es: E8FD-3490

Directorio de C:\masm32

15/10/2009  14:20               469 pro.asm
               1 archivos            469 bytes
               0 dirs  55.452.766.208 bytes libres



y el codigo es este:


386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data
MsgBoxCaption  db "Iczelion Tutorial No.2",0
MsgBoxText       db "Win32 Assembly is Great!",0

.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start




un sencillo hola mundo,por que no me funciona?¿ que ago mal?


salu2

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón