Ensamblador - Ayuda Urgente con Ensamblador! Es para mi Proyecto!

   
Vista:

Ayuda Urgente con Ensamblador! Es para mi Proyecto!

Publicado por Allan alchro_03@hotmail.com (1 intervención) el 26/11/2011 04:21:10
Tengo que realizar tres programas en ensamblador para una arquitectura generica 8086 y la verdad el lenguaje me esta comiendo y estoy contra tiempo. Cualquier ayuda sera bien recibida!

1-)Leer un numero natural menor a 100 y expresar en letras los digitos que lo conforman
ej: 99 -------> nueve nueve

2-)Ingresar un valor y calcular la sumatoria usando ciclos, invocando una rutina y mostrando el resultado por pantalla

3-) Leer un numero menor a 100 y determinar si es par o impar


De verdad les agradeceria mucho la ayuda!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda Urgente con Ensamblador! Es para mi Proyecto!

Publicado por MSH (121 intervenciones) el 04/12/2011 02:53:48
Saludos. Esta es la solución al problema 1 aunque no está optimizado


.model small

.stack 256h

.data
CR equ 10
LF equ 13

seis db 06
tab db 'cero ','uno ','dos '
db 'tres ','cuatro','cinco '
db 'seis ','siete ','ocho ','nueve ','$'

mens db 'Inserta un numero',CR,LF,'$'
salto db CR,LF,'$'

cadena label byte
cad db 03 ;captura cadena de 2 caracteres+enter
max db 03
camp db ?

.code
inicio:
mov ax,@data
mov ds,ax
push ds
pop es

mov ah,09h
lea dx,mens
int 21h

mov ah,0ah
lea dx,cadena
int 21h

mov ah,09h
lea dx,salto
int 21h

sub si,si
sub bx,bx
sub ax,ax
lea si,tab
mov al,camp
xor al,30h
mul seis
add si,ax
mov cl,seis
cic:
mov ah,02
mov dl,[si]
int 21h
inc si
loop cic


sub si,si
sub bx,bx
sub ax,ax
lea si,tab
mov al,camp+1
xor al,30h
mul seis
add si,ax
mov cl,seis
cic2:
mov ah,02
mov dl,[si]
int 21h
inc si
loop cic2


salir:
mov ax,4c00h
int 21h
end inicio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda Urgente con Ensamblador! Es para mi Proyecto!

Publicado por MSH (121 intervenciones) el 04/12/2011 03:04:21
2.-Necesitas mostrar un ejemplo, o darme más detalles del problema
3.-
;Leer un numero menor a 100 y determinar si es par o impar
.model small

.stack 256h

.data
CR equ 10
LF equ 13
par db 'Es par','$'
impar db 'Es impar','$'

diez db 10
dos db 2
mens db 'Inserta un numero',CR,LF,'$'
salto db CR,LF,'$'

cadena label byte
cad db 03 ;captura cadena de 2 caracteres+enter
max db 03
camp db ?

.code
inicio:
mov ax,@data
mov ds,ax
push ds
pop es

mov ah,09h
lea dx,mens
int 21h

mov ah,0ah
lea dx,cadena
int 21h

mov ah,09h
lea dx,salto
int 21h


mov al,camp
xor al,30h
mul diez

mov ax,dx
mov al,camp+1
xor al,30h
add al,dl

div dos

cmp ah,00
je pare
jmp imp

pare:
mov ah,09h
lea dx,par
int 21h
jmp salir
imp:
mov ah,09h
lea dx,impar
int 21h
salir:
mov ax,4c00h
int 21h
end inicio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar