Domingo 22 de Diciembre de 2024, 10:34
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Multiplicar En Asm
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Multiplicar En Asm (Leído 2477 veces)
komoasi
Nuevo Miembro
Mensajes: 3
Multiplicar En Asm
«
en:
Lunes 2 de Junio de 2008, 17:39 »
0
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!
Tweet
Phicar
Nuevo Miembro
Mensajes: 4
Re: Multiplicar En Asm
«
Respuesta #1 en:
Viernes 11 de Julio de 2008, 02:45 »
0
0k no soy muy diestro en el tema, pero vamos a intentar
; Primero le asignas a la funcion 09h de la int 21h que imprima lo que se almacena en ax, pero esa función imprime strings, también le pediste a la gente que ingresara un número pero ese número es almacenado también como caracter y veo que le agregas a cl el valor de la devuelta de al, pero al queda sólo como el último valor no crees??, entonces no estás haciendo nada, tienes que llamar la posición en memoria de todo lo que ingresaste, aparte lo que ingresas queda como valor ascii, así que no es lógica esa multiplicación para lo que quieres,también pones a cl == al no cl == [al], que creo estaría mal, te dejaría código, pero tampoco tengo idea de cómo sería,
, espero por lo menos aclarado dudas, te dejo el ingreso a mi forma, dejando una especie de buffer definido como
Código: Text
eto DB 100 dup (?), "$"
y ensamblando todos los caracteres que se ingresan menos el 0dh en esa variable
Código: Text
mov eto[bx], al
siendo que bx está en constante crecimiento
suerte y que pena no poderte ayudar en algo más, pero mi ensamblador es muy precario todavía
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Multiplicar En Asm