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

📄 lihong.asm

📁 晶振采用6M
💻 ASM
字号:
;旰牛?MULD 功能:双字节二进制无符号数乘法 
;入口条件:被乘数在R2、R3中,乘数在R6、R7中。
;出口信息:乘积在R2、R3、R4、R5中。
;影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节
;***************************************************************
	ORG 0000H 
	MOV 40H,#00H
	MOV 41H,#00H
	MOV P1,#00H
LOOP32:	MOV DPTR,#0FF7CH
	MOVX @DPTR,A
	SETB P1.0
	LOOP:JB P1.0,LOOP
	INC DPTR
	MOVX A,@DPTR
	MOV 41H,A
	INC DPTR
	INC DPTR
	MOVX A,@DPTR
	MOV 40H,A
	MOV R2,41H
	MOV R3,40H
	MOV R6,#27H
  	MOV R7,#10H
    MOV A,R3 ;计算R3乘R7
    MOV B,R7
    MUL AB
    MOV R4,B ;暂存部分积
    MOV R5,A
    MOV A,R3 ;计算R3乘R6
    MOV B,R6
    MUL AB
    ADD A,R4 ;累加部分积
    MOV R4,A
    CLR A
    ADDC A,B
    MOV R3,A
    MOV A,R2 ;计算R2乘R7
    MOV B,R7
    MUL AB
    ADD A,R4 ;累加部分积
    MOV R4,A
    MOV A,R3
    ADDC A,B
    MOV R3,A
    CLR A
    RLC A
    XCH A,R2 ;计算R2乘R6
    MOV B,R6
    MUL AB
    ADD A,R3 ;累加部分积
    MOV R3,A
    MOV A,R2
    ADDC A,B
    MOV R2,A
    MOV R6,#10H
    MOV R7,#00H

   ; 标号: D422
; 功能:双字节二进制无符号数除法
;入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。
;出口信息:OV=0 时,双字节商在R2、R3中,OV=1 时溢出。
;影响资源:PSW、A、B、R1~R7  堆栈需求: 2字节
;****************************************************************8

DIVD: CLR C            ;比较被除数和除数
      MOV A,R3
      SUBB A,R7
      MOV A,R2
      SUBB A,R6
      JC DVD1
      SETB OV           ;溢出
DVD1: MOV B,#10H        ;计算双字节商
DVD2: CLR C             ;部分商和余数同时左移一位
      MOV A,R5
      RLC A
      MOV R5,A
      MOV A,R4
      RLC A
      MOV R4,A
      MOV A,R3
      RLC A
      MOV R3,A
      XCH A,R2
      RLC A
      XCH A,R2
      MOV F0,C          ;保存溢出位
      CLR C
      SUBB A,R7         ;计算(R2R3-R6R7)
      MOV R1,A
      MOV A,R2
      SUBB A,R6
      ANL C,/F0         ;结果判断
      JC DVD3
      MOV R2,A          ;够减,存放新的余数
      MOV A,R1
      MOV R3,A
      INC R5             ;商的低位置一
DVD3: DJNZ B,DVD2        ;计算完十六位商(R4R5)
      MOV A,R4           ;将商移到R2R3中
      MOV R2,A
      MOV A,R5
      MOV R3,A
      CLR OV
 MOV   R0,#31H
        MOV    A,R2
        MOV    @R0,A
        DEC    R0
        MOV    A,R3
        MOV    @R0,A
        MOV   R0,#30H
        MOV   R1,#42H
        MOV R7,#2
 ;功能:多字节BCD码装潢 ,即多字节BCD码排列
;入口:待处理数在[R0]中,从低到高排列,位数在R7中
;出口:结果在[R1]中,从高到低排列  R0=30 R1=42 R7=2 ,
;应用资源

⌨️ 快捷键说明

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