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

📄 arch.inc

📁 eCos1.31版
💻 INC
字号:
#ifndef CYGONCE_HAL_ARCH_INC#define CYGONCE_HAL_ARCH_INC##=============================================================================####	arch.inc####	MN10300 assembler header file####=============================================================================#####COPYRIGHTBEGIN#####                                                                          # -------------------------------------------                              # The contents of this file are subject to the Red Hat eCos Public License # Version 1.1 (the "License"); you may not use this file except in         # compliance with the License.  You may obtain a copy of the License at    # http://www.redhat.com/                                                   #                                                                          # Software distributed under the License is distributed on an "AS IS"      # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the # License for the specific language governing rights and limitations under # the License.                                                             #                                                                          # The Original Code is eCos - Embedded Configurable Operating System,      # released September 30, 1998.                                             #                                                                          # The Initial Developer of the Original Code is Red Hat.                   # Portions created by Red Hat are                                          # Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             # All Rights Reserved.                                                     # -------------------------------------------                              #                                                                          #####COPYRIGHTEND######=============================================================================#######DESCRIPTIONBEGIN######## Author(s): 	nickg## Contributors:	nickg## Date:	1997-10-16## Purpose:	Architecture definitions.## Description:	This file contains various definitions and macros that are##              useful for writing assembly code for the MN10300 CPU family.## Usage:##		#include <cyg/hal/arch.inc>##		...##		########DESCRIPTIONEND########=============================================================================#include <pkgconf/hal.h>	#include <cyg/hal/variant.inc>##-----------------------------------------------------------------------------## CPU specific macros. These provide a common assembler interface to## operations that may have CPU specific implementations on different## variants of the architecture.		#ifndef CYGPKG_HAL_MN10300_CPU_INIT_DEFINED	# Initialize CPU	.macro	hal_cpu_init	# Set up the PSW	mov	0x0700,d0	mov	d0,psw	.endm#endif	# Enable interrupts	.macro hal_cpu_int_enable	or	0x0800,psw	.endm			# Disable interrupts	.macro hal_cpu_int_disable	and	0xF7ff,psw	.endm		# Merge the interrupt enable state of the status register in	# \sr with the current sr.	.macro	hal_cpu_int_merge sr	movm	[d3],(sp)	and	0x00000F00,\sr		# isolate IE and IM bits	hal_cpu_get_psw d3	and	0xfffff0ff,d3	or	\sr,d3	hal_cpu_set_psw d3	movm	(sp),[d3]	.endm	# Enable further exception processing, and disable	# interrupt processing.	.macro hal_cpu_except_enable	.endm				# Return from exception.	.macro	hal_cpu_eret pc,sr	.endm	##-----------------------------------------------------------------------------# Default interrupt decoding macros.#ifndef CYGPKG_HAL_MN10300_INTC_DEFINED#ifndef CYGPKG_HAL_MN10300_INTC_INIT_DEFINED	# initialize all interrupts to disabled	.macro	hal_intc_init	.endm#endif	.macro	hal_intc_decode vnum	.endm#endif#------------------------------------------------------------------------------# MMU macros.	#ifndef CYGPKG_HAL_MN10300_MMU_DEFINED	.macro	hal_mmu_init	.endm#endif	#------------------------------------------------------------------------------# MEMC macros.	#ifndef CYGPKG_HAL_MN10300_MEMC_DEFINED	.macro	hal_memc_init	.endm#endif		#------------------------------------------------------------------------------# Cache macros.	#ifndef CYGPKG_HAL_MN10300_CACHE_DEFINED	.macro	hal_cache_init	.endm#endif	#------------------------------------------------------------------------------# Diagnostics macros.	#ifndef CYGPKG_HAL_MN10300_DIAG_DEFINED	.macro	hal_diag_init	.endm	.macro	hal_diag_excpt_start	.endm	.macro	hal_diag_intr_start	.endm	.macro	hal_diag_restore	.endm	.macro	hal_diag_data	.endm#endif	#------------------------------------------------------------------------------# Timer initialization.	#ifndef CYGPKG_HAL_MN10300_TIMER_DEFINED	.macro	hal_timer_init	.endm#endif	#------------------------------------------------------------------------------# Monitor initialization.	#ifndef CYGPKG_HAL_MN10300_MON_DEFINED	.macro	hal_mon_init	.endm#endif	#------------------------------------------------------------------------------#endif // ifndef CYGONCE_HAL_ARCH_INC# end of arch.inc

⌨️ 快捷键说明

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