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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  ayuda con lenguaje ensamblador 8086
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con lenguaje ensamblador 8086  (Leído 4,258 veces)
benedyt

Desconectado Desconectado

Mensajes: 3


Ver Perfil
ayuda con lenguaje ensamblador 8086
« en: 5 Abril 2010, 22:08 pm »

hola:
haber si me podeis ayudar, tengo unproblema con este codigo.
al correrlo con l turbodebugger me sale un error(indicado abajo), y no se de q puede ser, ya q no me dio ningun error antes al compilarlo.   

       
           .MODEL SMALL
>
>         .STACK 100h
>
>         .DATA
>
>         Barco_A    DB 1,2,3,4,5,6,7,8,9,10,11,12
>          Barco_B    DB 13,14,15,16,17,18,19,20,21,22,23,24
>          Barco_C DB 1,2,3,4,5,6,7,8,9,10,11,12
>          Venta_media_Barco_A DB ?
>         Venta_media_Barco_B DB ?
>         Venta_media_Barco_C DB ?
>         Resultado DB 3 DUP (?)
>
>         .CODE
>
>      MACRO_MEDIA MACRO
> param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13
>       push ax
>      MOV ax,0
>        MOV AL,param1
>          ADD AL,param2
>          ADD AL,param3
>          ADD AL,param4
>         ADD AL,param5
>         ADD AL,param6
>         ADD AL,param7
>         ADD AL,param8
>         ADD AL,param9
>         ADD AL,param10
>         ADD AL,param11
>         ADD AL,param12
>          MOV BL,12
>         DIV BL
>          MOV param13,AL
>          pop ax
>
>         ENDM
>
>       MOV AX,@DATA
>          MOV DS,AX
>
>         MACRO_MEDIA
> Barco_A[0],Barco_A[1],Barco_A[2],Barco_A[3],Barco_A[4],Barco_A[5],Barco_A[6],barco_A[7],Barco_A[8],Barco_A[9],Barco_A[10],Barco_A[11],Venta_media_Barco_A
>         MACRO_MEDIA
> Barco_B[0],Barco_B[1],Barco_B[2],Barco_B[3],Barco_B[4],Barco_B[5],Barco_B[6],barco_B[7],Barco_B[8],Barco_B[9],Barco_B[10],Barco_B[11],Venta_media_Barco_B
>         MACRO_MEDIA
> Barco_C[0],Barco_C[1],Barco_C[2],Barco_C[3],Barco_C[4],Barco_C[5],Barco_C[6],barco_C[7],Barco_C[8],Barco_C[9],Barco_C[10],Barco_C[11],Venta_media_Barco_C
>
>          MOV AL,Venta_media_Barco_A
>          MOV AL,Venta_media_Barco_B
>         MOV AL,Venta_media_Barco_C
>
>         CALL PROC_RESULTADO
>
>    fin: MOV Ah,4ch
>     INT 21h
>
>         PROC_RESULTADO PROC
>
>              MOV DI,0
>
>              MOV AL,5
>              MOV BL,10
>              DIV BL                             ;al indicar esta instruccion
> en turbo debugger la ejecucion del se para y aparece una ventana
> diciendo: Divide by zero
>
>              CMP Venta_media_Barco_A, AL
>              JAE Superávit
>              JB Déficit
>
>      B:      CMP Venta_media_Barco_B, AL
>              JAE Superávit
>              JB Déficit
>
>              MOV CX,1
>
>      C:      CMP Venta_media_Barco_C, AL
>              JAE Superávit
>              JB Déficit
>              LOOP C
>              JMP fin
>
> Déficit:     MOV Resultado[DI],'D'
>              INC DI
>              CMP DI,1
>              JE B
>              JA C
> Superávit:   MOV Resultado[DI],'S'
>              INC DI
>              CMP DI,1
>              JE B
>              JA C
>
>            RET
>            PROC_RESULTADO ENDP
>
>     END


En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: ayuda con lenguaje ensamblador 8086
« Respuesta #1 en: 5 Abril 2010, 22:13 pm »

Intenta mirar todas las operaciones aritmeticas que realiza de manera indirecta tu programa, verás que alguna de ellas divide entre un zero, para esto recomiendo usar un debugger y ver en que momento se breakea y entonces ver que hace en ese momento.


Es lo unico que te puedo decir sin examinar profundamente el codigo.

Saludos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con lenguaje ensamblador 8086 !!!
ASM
benedyt 5 10,586 Último mensaje 25 Agosto 2016, 03:18 am
por bengy
[Ensamblador 8086] Recursión y uso del stack
ASM
eltongabinghiman 4 10,750 Último mensaje 20 Diciembre 2011, 01:45 am
por eltongabinghiman
AYUDA CON LENGUAJE ENSAMBLADOR
ASM
nuru_chan 1 3,216 Último mensaje 12 Diciembre 2012, 18:12 pm
por Eternal Idol
Ayuda con ejercicios de ensamblador 8086
ASM
rdomenzain 1 4,526 Último mensaje 14 Diciembre 2015, 07:33 am
por fary
¡¡¡Ayuda con entender logica de lenguaje ensamblador en nasm!!!
ASM
Broster27 2 3,236 Último mensaje 22 Abril 2022, 05:38 am
por Broster27
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines