elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Calculadora en Lenguaje Ensamblador - Linux x86 & NASM  (Leído 23,565 veces)
nicoobe

Desconectado Desconectado

Mensajes: 4


CODING


Ver Perfil
Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
« en: 24 Febrero 2012, 02:46 am »

Hola,
Mi nombre es Nicolás y me acabo de registrar en el foro. Estoy haciendo en una calculadora la cual primero le pide al usuario que ingrese dos números y después le pide que indique que operación desea realizar con estos dos números. Mi calculadora suma, resta y multiplica correctamente pero no es capaz de dividir. Al intentar realizar una división recibo el error "Excepción de coma flotante".

A continuación les dejo mi código:

Código
  1. section .data
  2.  
  3.   ; Mensajes
  4.  
  5.   msg1      db      10,'-Calculadora-',10,0
  6.   lmsg1     equ      $ - msg1
  7.  
  8.   msg2      db      10,'Numero 1: ',0
  9.   lmsg2     equ      $ - msg2
  10.  
  11.   msg3      db      'Numero 2: ',0
  12.   lmsg3     equ      $ - msg3
  13.  
  14.   msg4      db      10,'1. Sumar',10,0
  15.   lmsg4     equ      $ - msg4
  16.  
  17.   msg5      db      '2. Restar',10,0
  18.   lmsg5     equ      $ - msg5
  19.  
  20.   msg6      db      '3. Multiplicar',10,0
  21.   lmsg6     equ      $ - msg6
  22.  
  23.   msg7      db      '4. Dividir',10,0
  24.   lmsg7     equ      $ - msg7
  25.  
  26.   msg8      db      'Operacion: ',0
  27.   lmsg8     equ      $ - msg8
  28.  
  29.   msg9      db      10,'Resultado: ',0
  30.   lmsg9     equ      $ - msg9
  31.  
  32.   msg10      db      10,'Opcion Incorrecta',10,0
  33.   lmsg10     equ      $ - msg10
  34.  
  35.   nlinea      db      10,10,0
  36.   lnlinea     equ      $ - nlinea
  37.  
  38. section .bss
  39.  
  40.   ; Espacios reservados para almacenar los valores proporcionados
  41.   ; por el usuario.
  42.  
  43.   opc         resb    2
  44.   num1      resw   2
  45.   num2      resw    2
  46.   result      resw    2
  47.  
  48. section .text
  49.  
  50.   global _start
  51.  
  52. _start:
  53.  
  54.   ; Imprimimos en pantalla el mensaje 1
  55.   mov eax, 4
  56.   mov ebx, 1
  57.   mov ecx, msg1
  58.   mov edx, lmsg1
  59.   int 80h
  60.  
  61.   ; Imprimimos en pantalla el mensaje 2
  62.   mov eax, 4
  63.   mov ebx, 1
  64.   mov ecx, msg2
  65.   mov edx, lmsg2
  66.   int 80h
  67.  
  68.   ; Obtenemos el valor de numero1
  69.   mov eax, 3
  70.   mov ebx, 0
  71.   mov ecx, num1
  72.   mov edx, 2
  73.   int 80h
  74.  
  75.   ; Imprimimos en pantalla el mensaje 3
  76.   mov eax, 4
  77.   mov ebx, 1
  78.   mov ecx, msg3
  79.   mov edx, lmsg3
  80.   int 80h
  81.  
  82.   ; Obtenemos el valor de numero2
  83.   mov eax, 3
  84.   mov ebx, 0
  85.   mov ecx, num2
  86.   mov edx, 2
  87.   int 80h
  88.  
  89.   ; Imprimimos en pantalla el mensaje 4
  90.   mov eax, 4
  91.   mov ebx, 1
  92.   mov ecx, msg4
  93.   mov edx, lmsg4
  94.   int 80h
  95.  
  96.   ; Imprimimos en pantalla el mensaje 5
  97.   mov eax, 4
  98.   mov ebx, 1
  99.   mov ecx, msg5
  100.   mov edx, lmsg5
  101.   int 80h
  102.  
  103.   ; Imprimimos en pantalla el mensaje 6
  104.   mov eax, 4
  105.   mov ebx, 1
  106.   mov ecx, msg6
  107.   mov edx, lmsg6
  108.   int 80h
  109.  
  110.   ; Imprimimos en pantalla el mensaje 7
  111.   mov eax, 4
  112.   mov ebx, 1
  113.   mov ecx, msg7
  114.   mov edx, lmsg7
  115.   int 80h
  116.  
  117.   ; Imprimimos en pantalla el mensaje 8
  118.   mov eax, 4
  119.   mov ebx, 1
  120.   mov ecx, msg8
  121.   mov edx, lmsg8
  122.   int 80h
  123.  
  124.   ; Obtenemos la opcion deseada por el usuario
  125.   mov ebx,0
  126.   mov ecx,opc
  127.   mov edx,2
  128.   mov eax,3
  129.   int 80h
  130.  
  131.   mov ah, [opc]   ; Movemos la opcion seleccionada al registro ah
  132.   sub ah, '0'      ; Convertimos de ascii a decimal
  133.  
  134.   ; Comparamos el valor ingresado por el usuario para saber que
  135.   ; operacion desea realizar.
  136.   cmp ah, 1
  137.   je sumar
  138.   cmp ah, 2
  139.   je restar
  140.   cmp ah, 3
  141.   je multiplicar
  142.   cmp ah, 4
  143.   je dividir
  144.  
  145.   ; Si el valor ingresado por el usuario no cumple ninguna de las
  146.   ; condiciones anteriores entonces mostramos un mensaje de error y
  147.   ; finalizamos el programa.
  148.   mov eax, 4
  149.   mov ebx, 1
  150.   mov ecx, msg10
  151.   mov edx, lmsg10
  152.   int 80h
  153.  
  154.   jmp salir
  155.  
  156. sumar:
  157.   ; Guardamos los numeros en los registros eax y ebx
  158.   mov eax, [num1]
  159.   mov ebx, [num2]
  160.  
  161.   ; Conversion de ascii a decimal
  162.   sub eax, '0'
  163.   sub ebx, '0'
  164.  
  165.   ; Suma
  166.   add eax, ebx
  167.  
  168.   ; Conversion de decimal a ascii
  169.   add eax, '0'
  170.  
  171.   ; Movemos el resultado
  172.   mov [result], eax
  173.  
  174.   ; Imprimimos el mensaje 9
  175.   mov eax, 4
  176.   mov ebx, 1
  177.   mov ecx, msg9
  178.   mov edx, lmsg9
  179.   int 80h
  180.  
  181.   ; Imprimimos el resultado
  182.   mov eax, 4
  183.   mov ebx, 1
  184.   mov ecx, result
  185.   mov edx, 1
  186.   int 80h
  187.  
  188.   ; Finalizamos el programa
  189.   jmp salir
  190.  
  191. restar:
  192.   ; Guardamos los numeros en los registros eax y ebx
  193.   mov eax, [num1]
  194.   mov ebx, [num2]
  195.  
  196.   ; Conversion de ascii a decimal
  197.   sub eax, '0'
  198.   sub ebx, '0'
  199.  
  200.   ; Resta
  201.   sub eax, ebx
  202.  
  203.   ; Conversion de decimal a ascii
  204.   add eax, '0'
  205.  
  206.   ; Movemos el resultado
  207.   mov [result], eax
  208.  
  209.   ; Imprimimos el mensaje 9
  210.   mov eax, 4
  211.   mov ebx, 1
  212.   mov ecx, msg9
  213.   mov edx, lmsg9
  214.   int 80h
  215.  
  216.   ; Imprimimos el resultado
  217.   mov eax, 4
  218.   mov ebx, 1
  219.   mov ecx, result
  220.   mov edx, 1
  221.   int 80h
  222.  
  223.   ; Finalizamos el programa
  224.   jmp salir
  225.  
  226. multiplicar:
  227.   ; Guardamos los numeros en los registros ax y bx
  228.   mov ax, [num1]
  229.   mov bx, [num2]
  230.  
  231.   ; Conversion de ascii a decimal
  232.   sub ax, '0'
  233.   sub bx, '0'
  234.  
  235.   ; Multiplicacion. AL = AX x BX
  236.   mul bx
  237.  
  238.   ; Conversion decimal a ascii
  239.   add al, '0'
  240.  
  241.   ; Movemos el resultado
  242.   mov [result], al
  243.  
  244.   ; Imprimimos el mensaje 9
  245.   mov eax, 4
  246.   mov ebx, 1
  247.   mov ecx, msg9
  248.   mov edx, lmsg9
  249.   int 80h
  250.  
  251.   ; Imprimimos el resultado
  252.   mov eax, 4
  253.   mov ebx, 1
  254.   mov ecx, result
  255.   mov edx, 1
  256.   int 80h
  257.  
  258.   ; Finalizamos el programa
  259.   jmp salir
  260.  
  261. dividir:
  262.   ; Guardamos los numeros en los registros ax y bl
  263.   mov ax, [num1]
  264.   mov bl, [num2]
  265.  
  266.   ; Conversion de ascii a decimal
  267.   sub ax, '0'
  268.   sub bl, '0'
  269.  
  270.   ; Division. AL = AX / BL
  271.   div bl
  272.  
  273.   ; Conversion decimal a ascii
  274.   add al, '0'
  275.  
  276.   ; Movemos el resultado
  277.   mov [result], al
  278.  
  279.   ; Imprimimos el mensaje 9
  280.   mov eax, 4
  281.   mov ebx, 1
  282.   mov ecx, msg9
  283.   mov edx, lmsg9
  284.   int 80h
  285.  
  286.   ; Imprimimos el resultado
  287.   mov eax, 4
  288.   mov ebx, 1
  289.   mov ecx, result
  290.   mov edx, 1
  291.   int 80h
  292.  
  293.   ; Finalizamos el programa
  294.   jmp salir
  295.  
  296. salir:
  297.   ; Imprimimos dos nuevas lineas
  298.   mov eax, 4
  299.   mov ebx, 1
  300.   mov ecx, nlinea
  301.   mov edx, lnlinea
  302.   int 80h
  303.   ; Finalizamos el programa
  304.   mov eax, 1
  305.   mov ebx, 0
  306.   int 80h
  307.  

El problema se encuentra dentro de la etiqueta dividir. Es la unica operacion que devuelve un error.

Espero que algun usuario me pueda ayudar a resolver este error.

Muchas Gracias


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
« Respuesta #1 en: 24 Febrero 2012, 03:25 am »

podrias poner la linea del error, no tengo nasm talvez con logica se resuelve :P


En línea

nicoobe

Desconectado Desconectado

Mensajes: 4


CODING


Ver Perfil
Re: Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
« Respuesta #2 en: 24 Febrero 2012, 03:35 am »

El error se encuentra en esta parte:
Código
  1.  
  2. dividir:
  3.   ; Guardamos los numeros en los registros ax y bl
  4.   mov ax, [num1]
  5.   mov bl, [num2]
  6.  
  7.   ; Conversion de ascii a decimal
  8.   sub ax, '0'
  9.   sub bl, '0'
  10.  
  11.   ; Division. AL = AX / BL
  12.   div bl
  13.  
  14.   ; Conversion decimal a ascii
  15.   add al, '0'
  16.  
  17.   ; Movemos el resultado
  18.   mov [result], al
  19.  
  20.   ; Imprimimos el mensaje 9
  21.   mov eax, 4
  22.   mov ebx, 1
  23.   mov ecx, msg9
  24.   mov edx, lmsg9
  25.   int 80h
  26.  
  27.   ; Imprimimos el resultado
  28.   mov eax, 4
  29.   mov ebx, 1
  30.   mov ecx, result
  31.   mov edx, 1
  32.   int 80h
  33.  
  34.   ; Finalizamos el programa
  35.   jmp salir
  36.  

 Para ser mas exacto esta linea genera el error:

Código
  1. div bl
  2.  

Al ejecutar esta linea se genera una "Excepción de coma flotante".
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
« Respuesta #3 en: 24 Febrero 2012, 04:25 am »

E probado con MASM y me ah funcionado, bueno nose como trabaja la interrupcion 80 o como obtienes los valores
pero estas lineas si num1 y num2 son punteros a los valores estarian bien sino si son los valores en si, entonces esta incorrecto
porque estarias usando los valores como punteros:
Código:
   mov ax, [num1]
   mov bl, [num2]

sino, lo mejor es que depures el codigo
En línea

nicoobe

Desconectado Desconectado

Mensajes: 4


CODING


Ver Perfil
Re: Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
« Respuesta #4 en: 24 Febrero 2012, 15:01 pm »

Seguí investigando por mi cuenta y modifique la etiqueta dividir.

Ahora quedo así:

Código:
dividir:
; Guardamos los numeros en los registros ax y bl
mov dx, 0
mov ax, [num1]
mov bx, [num2]

; Conversion de ascii a decimal
sub ax, '0'
sub bx, '0'
; Division. AX = DX:AX / BX
div bx

; Conversion decimal a ascii
add ax, '0'
; Movemos el resultado
mov [result], ax

; Imprimimos el mensaje 9
mov eax, 4
mov ebx, 1
mov ecx, msg9
mov edx, lmsg9
int 80h

; Imprimimos el resultado
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
int 80h

; Finalizamos el programa
jmp salir

Sigue sin funcionar pero ya no me genera mas la excepción. El problema ahora es que sin importar que división haga siempre me devuelve 1.

Podra alguien ayudarme? Gracias
En línea

nicoobe

Desconectado Desconectado

Mensajes: 4


CODING


Ver Perfil
Re: Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
« Respuesta #5 en: 27 Febrero 2012, 02:33 am »

Hola a todos,

Quería comentarles que logre finalmente arreglar mi calculadora. A continuación les dejo el código. Espero que le sirva a algún principiante.

Código
  1. section .data
  2.  
  3. ; Mensajes
  4.  
  5. msg1 db 10,'-Calculadora-',10,0
  6. lmsg1 equ $ - msg1
  7.  
  8. msg2 db 10,'Numero 1: ',0
  9. lmsg2 equ $ - msg2
  10.  
  11. msg3 db 'Numero 2: ',0
  12. lmsg3 equ $ - msg3
  13.  
  14. msg4 db 10,'1. Sumar',10,0
  15. lmsg4 equ $ - msg4
  16.  
  17. msg5 db '2. Restar',10,0
  18. lmsg5 equ $ - msg5
  19.  
  20. msg6 db '3. Multiplicar',10,0
  21. lmsg6 equ $ - msg6
  22.  
  23. msg7 db '4. Dividir',10,0
  24. lmsg7 equ $ - msg7
  25.  
  26. msg8 db 'Operacion: ',0
  27. lmsg8 equ $ - msg8
  28.  
  29. msg9 db 10,'Resultado: ',0
  30. lmsg9 equ $ - msg9
  31.  
  32. msg10 db 10,'Opcion Invalida',10,0
  33. lmsg10 equ $ - msg10
  34.  
  35. nlinea db 10,10,0
  36. lnlinea equ $ - nlinea
  37.  
  38. section .bss
  39.  
  40. ; Espacios en la memoria reservados para almacenar los valores introducidos por el usuario y el resultado de la operacion.
  41.  
  42. opcion: resb 2
  43. num1: resb 2
  44. num2: resb 2
  45. resultado: resb 2
  46.  
  47. section .text
  48.  
  49. global _start
  50.  
  51. _start:
  52.  
  53. ; Imprimimos en pantalla el mensaje 1
  54. mov eax, 4
  55. mov ebx, 1
  56. mov ecx, msg1
  57. mov edx, lmsg1
  58. int 80h
  59.  
  60. ; Imprimimos en pantalla el mensaje 2
  61. mov eax, 4
  62. mov ebx, 1
  63. mov ecx, msg2
  64. mov edx, lmsg2
  65. int 80h
  66.  
  67. ; Obtenemos el numero 1
  68. mov eax, 3
  69. mov ebx, 0
  70. mov ecx, num1
  71. mov edx, 2
  72. int 80h
  73.  
  74. ; Imprimimos en pantalla el mensaje 3
  75. mov eax, 4
  76. mov ebx, 1
  77. mov ecx, msg3
  78. mov edx, lmsg3
  79. int 80h
  80.  
  81. ; Obtenemos el numero 2
  82. mov eax, 3
  83. mov ebx, 0
  84. mov ecx, num2
  85. mov edx, 2
  86. int 80h
  87.  
  88. ; Imprimimos en pantalla el mensaje 4
  89. mov eax, 4
  90. mov ebx, 1
  91. mov ecx, msg4
  92. mov edx, lmsg4
  93. int 80h
  94.  
  95. ; Imprimimos en pantalla el mensaje 5
  96. mov eax, 4
  97. mov ebx, 1
  98. mov ecx, msg5
  99. mov edx, lmsg5
  100. int 80h
  101.  
  102. ; Imprimimos en pantalla el mensaje 6
  103. mov eax, 4
  104. mov ebx, 1
  105. mov ecx, msg6
  106. mov edx, lmsg6
  107. int 80h
  108.  
  109. ; Imprimimos en pantalla el mensaje 7
  110. mov eax, 4
  111. mov ebx, 1
  112. mov ecx, msg7
  113. mov edx, lmsg7
  114. int 80h
  115.  
  116. ; Print on screen the message 8
  117. mov eax, 4
  118. mov ebx, 1
  119. mov ecx, msg8
  120. mov edx, lmsg8
  121. int 80h
  122.  
  123. ; Obtenemos la opcion seleccionada por el usuario
  124. mov ebx, 0
  125. mov ecx, opcion
  126. mov edx, 2
  127. mov eax, 3
  128. int 80h
  129.  
  130. mov ah, [opcion] ; Movemos la opcion seleccionada a el registro AH
  131. sub ah, '0' ; Convertimos el valor ingresado de ascii a decimal
  132.  
  133. ; Comparamos el valor ingresado por el usuario para saber que operacion realizar.
  134. ; JE = Jump if equal = Saltamos si el valor comparado es igual
  135.  
  136. cmp ah, 1
  137. je sumar
  138.  
  139. cmp ah, 2
  140. je restar
  141.  
  142. cmp ah, 3
  143. je multiplicar
  144.  
  145. cmp ah, 4
  146. je dividir
  147.  
  148. ; Si el valor ingresado no cumple con ninguna de las condiciones anteriores entonces mostramos un mensaje de error y finalizamos
  149. ; la ejecucion del programa
  150. mov eax, 4
  151. mov ebx, 1
  152. mov ecx, msg10
  153. mov edx, lmsg10
  154. int 80h
  155.  
  156. jmp salir
  157.  
  158. sumar:
  159. ; Movemos los numeros ingresados a los registro AL y BL
  160. mov al, [num1]
  161. mov bl, [num2]
  162.  
  163. ; Convertimos los valores ingresados de ascii a decimal
  164. sub al, '0'
  165. sub bl, '0'
  166.  
  167. ; Sumamos el registro AL y BL
  168. add al, bl
  169.  
  170. ; Convertimos el resultado de la suma de decimal a ascii
  171. add al, '0'
  172.  
  173. ; Movemos el resultado a un espacio reservado en la memoria
  174. mov [resultado], al
  175.  
  176. ; Imprimimos en pantalla el mensaje 9
  177. mov eax, 4
  178. mov ebx, 1
  179. mov ecx, msg9
  180. mov edx, lmsg9
  181. int 80h
  182.  
  183. ; Imprimimos en pantalla el resultado
  184. mov eax, 4
  185. mov ebx, 1
  186. mov ecx, resultado
  187. mov edx, 2
  188. int 80h
  189.  
  190. ; Finalizamos el programa
  191. jmp salir
  192.  
  193. restar:
  194. ; Movemos los numeros ingresados a los registro AL y BL
  195. mov al, [num1]
  196. mov bl, [num2]
  197.  
  198. ; Convertimos los valores ingresados de ascii a decimal
  199. sub al, '0'
  200. sub bl, '0'
  201.  
  202. ; Restamos el registro AL y BL
  203. sub al, bl
  204.  
  205. ; Convertimos el resultado de la resta de decimal a ascii
  206. add al, '0'
  207.  
  208. ; Movemos el resultado a un espacio reservado en la memoria
  209. mov [resultado], al
  210.  
  211. ; Imprimimos en pantalla el mensaje 9
  212. mov eax, 4
  213. mov ebx, 1
  214. mov ecx, msg9
  215. mov edx, lmsg9
  216. int 80h
  217.  
  218. ; Imprimimos en pantalla el resultado
  219. mov eax, 4
  220. mov ebx, 1
  221. mov ecx, resultado
  222. mov edx, 1
  223. int 80h
  224.  
  225. ; Finalizamos el programa
  226. jmp salir
  227.  
  228. multiplicar:
  229.  
  230. ; Movemos los numeros ingresados a los registro AL y BL
  231. mov al, [num1]
  232. mov bl, [num2]
  233.  
  234. ; Convertimos los valores ingresados de ascii a decimal
  235. sub al, '0'
  236. sub bl, '0'
  237.  
  238. ; Multiplicamos. AX = AL X BL
  239. mul bl
  240.  
  241. ; Convertimos el resultado de la resta de decimal a ascii
  242. add ax, '0'
  243.  
  244. ; Movemos el resultado a un espacio reservado en la memoria
  245. mov [resultado], ax
  246.  
  247. ; Imprimimos en pantalla el mensaje 9
  248. mov eax, 4
  249. mov ebx, 1
  250. mov ecx, msg9
  251. mov edx, lmsg9
  252. int 80h
  253.  
  254. ; Imprimimos en pantalla el resultado
  255. mov eax, 4
  256. mov ebx, 1
  257. mov ecx, resultado
  258. mov edx, 1
  259. int 80h
  260.  
  261. ; Finalizamos el programa
  262. jmp salir
  263.  
  264. dividir:
  265.  
  266. ; Movemos los numeros ingresados a los registro AL y BL
  267. mov al, [num1]
  268. mov bl, [num2]
  269.  
  270. ; Igualamos a cero los registros DX y AH
  271. mov dx, 0
  272. mov ah, 0
  273.  
  274. ; Convertimos los valores ingresados de ascii a decimal
  275. sub al, '0'
  276. sub bl, '0'
  277.  
  278. ; Division. AL = AX / BL. AX = AH:AL
  279. div bl
  280.  
  281. ; Convertimos el resultado de la resta de decimal a ascii
  282. add ax, '0'
  283.  
  284. ; Movemos el resultado a un espacio reservado en la memoria
  285. mov [resultado], ax
  286.  
  287. ; Print on screen the message 9
  288. mov eax, 4
  289. mov ebx, 1
  290. mov ecx, msg9
  291. mov edx, lmsg9
  292. int 80h
  293.  
  294. ; Imprimimos en pantalla el resultado
  295. mov eax, 4
  296. mov ebx, 1
  297. mov ecx, resultado
  298. mov edx, 1
  299. int 80h
  300.  
  301. ; Finalizamos el programa
  302. jmp salir
  303.  
  304. salir:
  305. ; Imprimimos en pantalla dos nuevas lineas
  306. mov eax, 4
  307. mov ebx, 1
  308. mov ecx, nlinea
  309. mov edx, lnlinea
  310. int 80h
  311.  
  312. ; Finalizamos el programa
  313. mov eax, 1
  314. mov ebx, 0
  315. int 80h
  316.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda de implementación en lenguaje ensamblador
ASM
Hipeople 8 6,966 Último mensaje 8 Junio 2009, 20:20 pm
por Eternal Idol
calculadora en lenguaje ensamblador ¨violacion de segmento¨
ASM
larapam 2 6,449 Último mensaje 12 Mayo 2012, 18:58 pm
por CasiqueCasimiro
Duda sobre ensamblador (NASM), IDE SASM
ASM
UsuarioZ 2 4,096 Último mensaje 9 Octubre 2020, 23:00 pm
por UsuarioZ
MOVIDO: Duda sobre ensamblador (NASM), IDE SASM
Programación General
MCKSys Argentina 0 2,398 Último mensaje 8 Octubre 2020, 11:09 am
por MCKSys Argentina
¡¡¡Ayuda con entender logica de lenguaje ensamblador en nasm!!!
ASM
Broster27 2 3,312 Último mensaje 22 Abril 2022, 05:38 am
por Broster27
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines