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

📄 abs_32.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.
//
//============================================================================
//  工程名称:  求32位有符号数具对值
//  功能描述:   程序4.7    求32位有符号数具对值
//				入口参数:R3有符号数低16位
//			    R4有符号数高16位
//  			出口参数:	  R1绝对值结果的低16位
//		 	    			  R2绝对值结果的高16位
//  文件来源:  《SPCE061单片机原理及应用技术》 第四章  程序设计
//  IDE环境:   SUNPLUS u'nSPTM  IDE 1.8.0(or later)
//
//  涉及的库:	  (a) C-Lib:  (CMacro.lib);
//  组成文件:
//    			abs_32.asm
//				Resource.asm
//  日期:       2003-5-22(建立)
//				2003-7-16(添加版本说明及版权声明并做代码标准化)
//===========================================================================
.CODE
.PUBLIC F_Abs_32;
.PUBLIC _main;
_main:
	r3 = 0xffff;
	r4 = 0xffff;
	call F_Abs_32;
	nop;
	r3 = 0;
	r4 = 0xffff;
	call F_Abs_32;
	nop;
	r3 = 0xffff;
	r4 = 0;
	call F_Abs_32;
	jmp _main;
	
F_Abs_32:
	r1 = r3;	//传送低16位
	r2 = r4;	//传送高16位
	jmi ?neg;	//如果为负则跳转到负数处理
	retf;		//为正数则无需任何处理,返回
?neg:			//负数处理
	r1 ^= 0xffff;	//低16位去反
	r2 ^= 0xffff;	//高16位取反
	r1 += 1;		//低16位加1
	r2 += 0,Carry;	//高16位加进位
	retf;
//====================================================================================
//abs_32.asm结束
//====================================================================================

⌨️ 快捷键说明

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