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

📄 main.asm

📁 spce061单片机的一些程序!C语言和汇编语言都有
💻 ASM
字号:
//============================================================================
//
//        The information contained herein is the exclusive property of
//      Sunplus Technology Co. And shall not be distributed, reproduced,
//      or disclosed in whole in part without prior written permission.
//
//            (C) COPYRIGHT 2001   SUNPLUS TECHNOLOGY CO.
//                           ALL RIGHTS RESERVED
//
//    The entire notice above must be reproduced on all authorized copies.
//
//============================================================================
//  工程名称:   BCD码到二进制码的转换
//  功能描述:    程序4.20  BCD码到二进制码的转换
//  文件来源:   《SPCE061单片机原理及应用技术》 第四章  程序设计
//  IDE环境:    SUNPLUS u'nSPTM  IDE 1.8.0(or later)
//
//  涉及的库:	 (a) C-Lib:  (CMacro.lib);
//  组成文件:
//    	main.asm
//		Resource.asm/
//  日期:          	2003-5-22(建立)
//					2003-7-16(添加版本说明及版权声明并做代码标准化)
//============================================================================
//测试主程序
.PUBLIC _main
.CODE
_main:
	r1 = 0x1;
	call _BCD_Binary;
	r1 = 0x10;
	call _BCD_Binary;
	r1 = 0x21;
	call _BCD_Binary;
	jmp _main;
//==================================================================================	
//功能:将两字节压缩BCD码转换成两字节二进制数程序
//入口:R1(存放一个字节的二进制数)
//出口:R1(存放BCD码)
//==================================================================================
_BCD_Binary: .PROC
    push r2,r5 to [sp];
	r5 = r1;   
 	r5 = r5 lsl 4                //将千位数a移出
	r1 = r1 rol 4;
 	r1 &= 0x000f;              //将千位数a存入r1;
	r2 = 10;
	mr = r1*r2				//a*10
	r5 = r5 lsl 4;			    //将百位数b移出
	r1 = r1 rol 4;
	r1 &= 0x000f;             //将百位数b存入r1
	r1 += r3;                  //r1=(a*10+b)

	mr = r1*r2
	r5 = r5 lsl 4;               //将十位数c移出
	r1 = r1 rol 4;
	r1 &= 0x000f;             //将十位数c存入r1
	r1 += r3; 				    //((a*10+b)*10+c)

	MR = r1*r2              //((a*10+b)*10+c)*10
	r5 = r5 lsl 4;			    //将十位数d移出
	r1 = r1 rol 4;
	r1 &= 0x000f;
	r1 += r3; 				    //((a*10+b)*10+c)*10+d
	
  	pop r2,r5 from [sp];
    retf
.ENDP

⌨️ 快捷键说明

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