fork download
  1. #include<p18f4550.inc>
  2. NUM1L EQU 0X20
  3. NUM1H EQU 0X21
  4. EXT_L EQU 0X22
  5. EXT_H EQU 0X23
  6.  
  7. NUM2L EQU 0X24
  8. NUM2H EQU 0X25
  9.  
  10. RES0 EQU 0X26 ;LSB
  11. RES1 EQU 0X27
  12. RES2 EQU 0X28
  13. RES3 EQU 0X29 ;MSB
  14.  
  15. COUNT EQU 0X30
  16. ORG 0X0000
  17. MOVLW 0XCD
  18. MOVWF NUM1L
  19. MOVLW 0XAB
  20. MOVWF NUM1H
  21. CLRF EXT_L
  22. CLRF EXT_H
  23.  
  24. MOVLW 0X34
  25. MOVWF NUM2L
  26. MOVLW 0X12
  27. MOVWF NUM2H
  28.  
  29. CLRF RES0
  30. CLRF RES1
  31. CLRF RES2
  32. CLRF RES3
  33. CLRF EXT_L
  34. CLRF EXT_H,W
  35.  
  36. MOVLW 0X10
  37. MOVWF COUNT
  38.  
  39. MULTI_LOOP
  40. RRCF NUM2H,F
  41. RRCF NUM2L,F
  42.  
  43. BNC SHIFT_ONLY
  44.  
  45. MOVF NUM1L,W
  46. ADDWF RES0,F
  47. MOVF NUM1H,W
  48. ADDWFC RES1,F
  49. MOVF EXT_L,W
  50. ADDWFC RES2,F
  51. MOVF EXT_H,W
  52. ADDWFC RES3,F
  53.  
  54. RLCF NUM1L,F
  55. RLCF NUM1H,F
  56. RLCF EXT_L F
  57. RLCF EXT_H,F
  58.  
  59. DECFCSZ COUNT,F
  60. GOTO MULT_LOOP
Success #stdin #stdout 0.04s 25208KB
stdin
Standard input is empty
stdout
#include<p18f4550.inc>
NUM1L EQU 0X20
NUM1H EQU 0X21
EXT_L EQU 0X22
EXT_H EQU 0X23

NUM2L EQU 0X24
NUM2H EQU 0X25

RES0 EQU 0X26 ;LSB
RES1 EQU 0X27
RES2 EQU 0X28
RES3 EQU 0X29 ;MSB

COUNT EQU 0X30
   ORG 0X0000
 MOVLW 0XCD
 MOVWF NUM1L
 MOVLW 0XAB
 MOVWF NUM1H
 CLRF EXT_L
 CLRF EXT_H

 MOVLW 0X34
 MOVWF NUM2L
 MOVLW 0X12
 MOVWF NUM2H

CLRF RES0
CLRF RES1
CLRF RES2
CLRF RES3
CLRF EXT_L
CLRF EXT_H,W

MOVLW 0X10
MOVWF COUNT

MULTI_LOOP
RRCF NUM2H,F
RRCF NUM2L,F

BNC SHIFT_ONLY

MOVF NUM1L,W
ADDWF RES0,F
MOVF NUM1H,W
ADDWFC RES1,F
MOVF EXT_L,W
ADDWFC RES2,F
MOVF EXT_H,W
ADDWFC RES3,F

RLCF NUM1L,F
RLCF NUM1H,F
RLCF EXT_L F
RLCF EXT_H,F

DECFCSZ COUNT,F
GOTO MULT_LOOP
END