51单片机汇编语言学习记录3

;***单片机汇编语言实现双字节乘法***
;********2019-5-28 DXZ***********

      MULTA1  DATA 30H
	  MULTA2  DATA 31H
	  MULTB1  DATA 32H
	  MULTB2  DATA 33H
	  
	  RESULT4 DATA 34H
	  RESULT3 DATA 35H
	  RESULT2 DATA 36H
	  RESULT1 DATA 37H

      ORG    0000H
	  LJMP   MAIN
	  ORG    0030H
		   
MAIN: MOV    MULTA1, #09H
      MOV    MULTA2, #11H
	  MOV    MULTB1, #2EH
	  MOV    MULTB2, #1AH
	  
	  LCALL  MULTIPLE
	  
	  SJMP   $
		  
		  
MULTIPLE:
         CLR    C
         MOV    A, MULTA1
		 MOV    B, MULTB1
		 MUL    AB
		 MOV    RESULT1, A
		 MOV    RESULT2, B
		 MOV    A, MULTA2
		 MOV    B, MULTB1
		 MUL    AB
		 ADD    A, RESULT2
		 MOV    RESULT2, A
		 MOV    A, B
		 ADDC   A, #00H
		 MOV    RESULT3, A
		 MOV    A, MULTA1
		 MOV    B, MULTB2
		 MUL    AB
		 ADD    A, RESULT2
		 MOV    RESULT2, A
		 MOV    A, B
		 ADDC   A, RESULT3
		 MOV    RESULT3, A
		 CLR    A
		 ADDC   A, #00H
		 MOV    RESULT4, A
		 MOV    A, MULTA2
		 MOV    B, MULTB2
		 MUL    AB
		 ADD    A, RESULT3
		 MOV    RESULT3, A
		 MOV    A, B
		 ADDC   A, RESULT4
		 MOV    RESULT4, A
		 
		 RET
		 
		 
		 END
		 
posted @ 2021-08-17 22:11  NNV  阅读(21)  评论(0)    收藏  举报  来源