9 51单片机上电复位入口和中断入口【系列教程之9】

9 51单片机上电复位入口和中断入口【系列教程之9】

  • 该系列主仓库地址:https://gitee.com/langcai1943/8051-from-boot-to-application
  • 本工程地址:https://gitee.com/langcai1943/8051-from-boot-to-application/tree/master/03_AT89C51%E7%B3%BB%E5%88%97/002-at89c51-simulator-2
    • 双击打开该工程
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 介绍:	展示8051芯片是从哪里开始运行的
; 备注:	1、复位和中断运行起始地址介绍详见STC官方文档《STC89C52系列单片机指南》
;			第6章 中断系统;
;			2、CSEG等所有Keil汇编伪指令的含义详见Keil安装目录下的文档
;			Keil_v5\C51\Hlp\a51.chm,文档里支持搜索;
;			3、8051 CPU内核的汇编指令及伪指令的介绍可参考大学的单片机原理等课程;
;			只想看原版8051指令集文档,不想看教材的话,可以搜索下载“Atmel 8051
;			Microcontrollers Hardware Manual”;
;			4、本工程默认使用Keil模拟器运行,无需硬件,按F7编译后,按Ctrl+F5开始
;			运行,然后按F10单步运行可以看到实际运行效果;
; NOTE:		File format: UTF-8
; 作者		将狼才鲸
; 日期		2023-06-08
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • 部分内容展示:

	;;
	; 1、ORG的作用和CSEG AT的作用一样,指定后面代码在内存中存放的位置,
	; CSEG等是Keil开发环境的伪指令(其它编译器如开源的SDCC可能有不一样的伪指令);
	; 2、十六进制立即数以H结尾
	ORG		0000H	; RAM的0地址是复位中断执行的入口,后面的一些地址是各中断的入口
	LJMP	RESET	; 长跳转指令可跳64KB内的地址(函数),类似的还有其它短跳的指令

	ORG		0003H	; 外部中断0
	LJMP	DEFAULT_INT

	ORG		000BH	; 定时器0
	LJMP	DEFAULT_INT

	ORG		0013H	; 外部中断1
	LJMP	DEFAULT_INT

	ORG		001BH	; 定时器1
	LJMP	DEFAULT_INT

	ORG		0023H	; 外部中断2
	LJMP	DEFAULT_INT

	ORG		002BH	; 外部中断3
	LJMP	DEFAULT_INT

	; 标号以冒号:结尾,和C语言的函数名类似
RESET:	
	NOP	; 空指令,消耗一个时钟周期的时间,什么也不做
	NOP
	NOP
	NOP
	LJMP	RESET

DEFAULT_INT:
	NOP

	END ; 汇编文件必须以END结尾

猜你喜欢

转载自blog.csdn.net/qq582880551/article/details/131117338
9
9*9