ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Examen Da Assembler


Enviado por   •  15 de Mayo de 2015  •  513 Palabras (3 Páginas)  •  206 Visitas

Página 1 de 3

NOMBRE: mmmmmmmmmmm

FECHA: 08/05/14

POTENCIAS DE DOS USANDO SOLO SUMAS HASTA LA POTENCIA 16

La lógica que se sigue es que debemos obtener:

1 2 4 8 16 32 64 .......................... 32768 65536

y si tenemos un dato a que iniciamos en 1 entonces

1+1 2+2 4+4 8+8 16+16 32+32 ........................ . 32768+32768

vemos que la potencia deseamos obtener es la el doble del anterior en otras palabras sumamos dos veces la anterior potencia

SOLUCION

include libgen.asm

.model small

.stack 256

.data

a dw 1

cad db 3 dup("$")

resultado db 55,0,54 dup("$")

nro dw 0

base dw 10

; cad introducida por teclado es una cadena y lo debemos convertir en número natural

;a es dw 32 pero internamente se verá como 3h2h y debemos llevarlo a numero 30h unir 32h=30h32h

;resultado-->3h2h-->3h+30h=33h, 2h+30h=32h-->30h32h

.code

inicio

leer_cad cad

lea si,[cad+2]

call cad_real

enter

mov cx,nro

for:

mov bx,a

add bx,bx

mov a,bx

loop for

mov ax,a

lea si,resultado

call real_cad

mostrar_cad resultado

final

;Procedimiento para llevar una cadena a un número real

cad_real Proc Near

sal_reg

MOV AX,0000h

MOV nro,AX

XOR BX,BX

while:

MOV BL,byte PTR [SI]

MOV AX,nro

CMP BL,13

JE fin

SUB BL,30h

MUL base

ADD AX,BX

MOV nro,AX

INC SI

JMP while

fin:

res_reg

RET

cad_real EndP

;procedimiento para llevar un numero real a una cadena

real_cad Proc Near

sal_reg

XOR CX,CX

while1:

CMP AX,0

JE fin1

XOR DX,DX

DIV base

PUSH DX

INC CX

JMP while1

fin1:

while3:

CMP CX,0

JE fin3

POP BX

ADD BX,30h

MOV [SI],BX

DEC CX

INC SI

JMP while3

fin3:

res_reg

RET

real_cad EndP

end

Nota: Los macros INICIO, FINAL, LEER_CAD, MOSTRAR_CAD, SAL_REG y RES_REG están en otro archivo denominado libgen.asm

librería que usaremos

INICIO MACRO

MOV AX,@DATA

MOV DS,AX

ENDM

FINAL MACRO

MOV AH,4CH

INT 21H

ENDM

MOSTRAR_CAD MACRO CAD

PUSH AX

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com