Autor Tema: ayuda con multiplicador HC08  (Leído 2851 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado carlos_fd

  • PIC10
  • *
  • Mensajes: 1
ayuda con multiplicador HC08
« en: 04 de Enero de 2009, 16:28:40 »

Hola a todos, primero quiero felicitaros a todos por la gran labor que estais haciendo en este foro.

Os comento mi problema con el HC08, ya que tengo que hacer un multiplicador mediante sumas sucesivas pero no se dónde falla
el código.

He empezado con un ejemplo (4x3) para a partir de ahí multiplicar cualquier par de números. Gracias por adelantado.


          LDA #$4
          STA $0200

          LDA #$3
          STA $0202

          LDX #$00
          STX $0204
                           
SIGUE:   

          CMP $0202,x
          BNE DISTINTO     
          JSR SIGUE

DISTINTO:

          LDA $0200
          ADD $0204      ;almaceno la solucion en $0204
          STA $0204
          INCX
          RTS

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: ayuda con multiplicador HC08
« Respuesta #1 en: 04 de Enero de 2009, 23:07:59 »
Hola, no entiendo muy bien que quieres hacer, que tipo de multipresición requieres ? Igual te adjunto una nota de aplicacion de FreeScale donde detallan algunas operaciones matematicas en punto fijo, si esto no te alcanza vas a requerir pegarle una leida a algun libro de Knuth.

http://www.freescale.com/files/microcontrollers/doc/app_note/AN1219.pdf?fpsp=1&WT_TYPE=Application Notes&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation

Saludos !

Desconectado geronimoo

  • PIC10
  • *
  • Mensajes: 34
    • Divide & Conquer
Re: ayuda con multiplicador HC08
« Respuesta #2 en: 11 de Enero de 2009, 16:10:48 »
Hola!
Aca te pongo un codigo que anda...
No esta optimizado ni nada por el estiilo, pero tal vez te aclare alguna duda...

Código: ASM
  1. RESET   EQU     $FFFE
  2. FLASH   EQU     $EE00
  3. RAM     EQU     $0080
  4.  
  5.  
  6.         ORG     RESET
  7.         DW      MAIN
  8.  
  9.         ORG     RAM
  10. NUM1    DS      1
  11. NUM2    DS      1
  12. RESULT  DS      1
  13.  
  14.         ORG     FLASH
  15. MAIN    LDA     #$03
  16.         STA     NUM1
  17.         LDA     #$04
  18.         STA     NUM2
  19.         LDHX    #RESULT
  20.         CLR     ,X
  21.         JSR     MULT
  22.         STOP
  23.  
  24.  
  25. ; MULTIPLICACION POR SUMAS SUCESIVAS
  26. ; PARAMETROS NUM1, NUM2 y resultado en H:X
  27.  
  28. MULT    TST     NUM1
  29.         BEQ     FINMULT
  30. LOOP    LDA     NUM2
  31.         ADD     ,X
  32.         STA     ,X
  33.         DBNZ    NUM1,LOOP
  34. FINMULT RTS

Saludos!
.::GERO::.


 

anything