⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample.asm

📁 this example for pic from
💻 ASM
字号:
;*******************************************************************
;                           SAMPLE.ASM
;              8x8 Software Multiplier for 16Cxxx Family
;*******************************************************************
;
;   The 16 bit result is stored in 2 bytes
;
; Before calling the subroutine " mpy ", the multiplier should
; be loaded in location " mulplr ", and the multiplicand in
; " mulcnd " . The 16 bit result is stored in locations
; H_byte & L_byte.
;
;*******************************************************************
;
        LIST    p=16F84 ; PIC16F844 is the target processor

	#include "P16F84.INC" ; Include header file

	cblock 0x10   ; Temporary storage
	   mulcnd     ; 8 bit multiplicand
	   mulplr     ; 8 bit multiplier, this register will be set to zero after multiply
	   H_byte     ; High byte of the 16 bit result
	   L_byte     ; Low byte of the 16 bit result
	   count      ; loop counter
	endc
;
        org   0

        goto    start
;
; *****************************         Begin Multiplier Routine
mpy_S  	clrf    H_byte
	clrf    L_byte
        movlw   8
        movwf   count
        movf    mulcnd,w
        bcf     STATUS,C        ; Clear the carry bit in the status Reg.
loop    rrf     mulplr,F
        btfsc   STATUS,C 
        addwf   H_byte,F
        rrf     H_byte,F
        rrf     L_byte,F
        decfsz  count,F
        goto    loop
;
        retlw   0
;
;********************************************************************
;               Test Program
;*********************************************************************
start   clrw
       
main    movlw   0x35
        movwf   mulplr          ; test 0x35 times 0x2D
        movlw   0x2D
        movwf   mulcnd
;
call_m  call    mpy_S           ; The result is in file registers
                                ;   H_byte & L_byte and should equal 0x0951
;
        goto    main
;
;
     END


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -