arm:day7

这篇具有很好参考价值的文章主要介绍了arm:day7。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.软中断处理

arm:day7,arm开发

 arm:day7,arm开发

 文章来源地址https://www.toymoban.com/news/detail-663282.html

.text @文本段
.global _start @声明一个_start全局函数的入口
_start: @_start标签,就是c语言的函数
	
	@ 1.构建异常表
		b reset
		b undef
		b software
		b prefetch
		b data
		b irq
		b fiq

reset:
	@ 2.系统上电,程序运行在svc模式
		@ 初始化svc模式的栈指针
		ldr sp,=0x40000800
		
	@ 3.切换到user模式
		msr cpsr,#0xD0
		
		@ 初始化user模式的栈指针
		ldr sp,=0x40000700
		mov r0,#0x1
		mov r1,#0x2
	
	@ 4.执行软中断指令 ==>保存现场 四大步,三小步
		swi 2
		add r0,r0,r1
		b stop
		
undef:
software:
	@压栈保存现场
		stmfd sp!,{r0-r12,lr}
		
		mov r0,#0x3
		mov r1,#0x4
		add r0,r0,r1
		
	@ 出栈恢复现场 
		ldmfd sp!,{r0-r12,pc}^		
		@ ^ 将spsr_<mode> 写到cpsr中
		
		
prefetch:
data:
irq:
fiq:	
	
stop: @stop标签
	b stop @b是汇编中断跳转指令,跳转到stop标签下的第一条指令执行,相当于while(1)
			@防止pc一直加,程序跑飞
.end @代码执行结束标志
	

到了这里,关于arm:day7的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Web开发记录 Day7:Django(Web框架) part 1

    名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN) (一个喜欢古诗词和编程的Coder😊) 在当今迅速发展的互联网时代,开发高效、安全且可扩展的网站变得越来越重要。Python语言因其简洁的语法和强大的功能而广受欢迎,而Django则是P

    2024年03月11日
    浏览(68)
  • C++ Day7

    C++11中引出了变量的类型自动推导,它和Python 不一样,C++需要用auto来引导 auto修饰变量,可以自动推导出变量的数据类型 1 使用auto修饰变量时,必须初始化 2 auto的右值,可以是右值,也可以是表达式,还可以是函数的返回值 3 auto不能直接声明数组 4 auto不能作为函数的

    2024年02月10日
    浏览(41)
  • gorm day7

    gorm Belongs To关系 gorm Has One关系 gorm Belongs To关系 在看文档之前先进行一些基本概念的学习: 什么是主键?(Primary Key) 主键是一个表中的特定列(或一组列), 用来唯一标识表中的每一行记录。一个表只能有一个主键。 主键的值必须是唯一的,不允许为空(NULL)。 主键通常

    2024年02月20日
    浏览(36)
  • c++day7

     仿照vector手动实现自己的myVector,最主要实现二倍扩容功能 思维导图

    2024年02月08日
    浏览(37)
  • 自学day7 数组

    对象中可以通过键值对存储多个数据,且数据的类型是没有限制的,所以通常会存储一个商品的信息或一个人的信息: 但对象在存储同类型数据的时候比较困难,例如,存储一个班级所以人的姓名: 这种存储方式我们没有办法通过一个人的姓名获取到这个人的编号,也没有

    2024年02月05日
    浏览(39)
  • 渗透测试学习day7

    Task1 问题:除了SSH和HTTP,这个盒子上还托管了什么服务? nmap扫一下 Task2

    2024年02月05日
    浏览(41)
  • 蓝桥杯打卡Day7

    文章目录 阶乘的末尾0 整除问题 本题思路: 由于本题需要求阶乘的末尾0,由于我们知道2*5=10可以得到一个0,那么我们就可以找出2的数和5的数,但是由于是阶乘,所以5的数量肯定是小于2的数量,因此我们只需要知道5的数量即可,这里只需要算含有5的次幂的数目即可。  本

    2024年02月09日
    浏览(38)
  • 代码随想录day7

    目录 第454题.四数相加II 思路: 383. 赎金信 思路: 第15题. 三数之和 思路: 力扣题目链接 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 = i, j, k, l n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0   示例 1: 输入:nums1 = [1,2

    2024年02月10日
    浏览(41)
  • 【暑期每日一练】 day7

    目录 选择题 (1) 解析:  (2) 解析:  (3) 解析:  (4) 解析:  (5) 解析:  编程题 题一 描述 输入描述: 输出描述: 示例 解析  代码实现  题二 描述 示例  提示 解析  代码实现  总结   1、以下对C语言函数的有关描述中,正确的有【多选】( ) A: 在C语言中

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包