Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Multiplicar en asm. alguien me ?


       



#1  Multiplicar en asm. alguien me ?
dimmer

Registrado: 24 May 2007
Mensajes: 40
citar
Hola a todos! ando haciendo un programita y la verdad apenas se imprimir algo en asm, este programa no me multiplica el numero que entra desde el teclado, a ver si alguien me ayuda, aqui esta :

; --- EXE file format
.model small
.stack 100h
.data

data2 db 10,"Introduzca el texto.", 10, 13, '$'
data3 db "Al terminar, presione Enter.", 10, 13, '$'

;--------- Insert Data and Equates HERE

;--------- Declare other variables with DB, DW, etc. here


.code
start:
mov ax, @data
mov ds, ax ;set segment register
mov es, ax ;set segment register
and sp, not 3 ;align stack to avoid AC fault

lea dx, data2
mov ah, 09
int 21h

lea dx, data3
mov ah, 09
int 21h

print1:
mov ah, 01
int 21h

cmp al, 0dh
je divx
jne print1

divx:
mov cx, 0
mov cl, al

mov al, cl
mov bl, 4
mul bl

mov dx, ax
mov ah, 9
int 21h

exit:
mov ax, 4c00h ; terminate program
int 21h
end start

mil gracias de antemano!

#2  Re: Multiplicar en asm. alguien me ?
_Eduardo_

Registrado: 06 Ene 2008
Mensajes: 1022
Ubicación: Santo Tome - Santa Fe - Argentina
citar
dimmer escribió:
Hola a todos! ando haciendo un programita y la verdad apenas se imprimir algo en asm, este programa no me multiplica el numero que entra desde el teclado

No te multiplica porque:
- Al digito que vas leyendo tel teclado no lo guardas en ningun lado.
- Termina el bucle y lo unico que tenes en AL es 0Dh (Enter).
- Despues de multiplicar AL*4 llamas a la int21h sin haber convertido el numero a ASCII.


Para que eso ande tenes que pasar el string de entrada a binario --> multiplicar --> convertir de bin a asc --> llamar la int21h

O bien, si no queres convertir de binario<-->ascii , hacer un bucle de multiplicacion bcd usando aam.

Tambien podrias usar instrucciones del 8087, pasas el string de entrada a bcd (restarle 30h), usas fbld y fbst y lo convertis a ascii (sumas 30h).

 Responder





 Temas de interés 
El tema está cerrado y no puedes editar mensajes o responder Destacado: Data cable siemens RS-232
No hay mensajes nuevos Data Cable Nokia RS-232: Forum
No hay mensajes nuevos Diagrama de construcción data cable Nokia DKU-5 (USB)
No hay mensajes nuevos Data cable para siemens c65
No hay mensajes nuevos Construcción del data cable Nokia 3595

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||