尝试使用一下6410的汇编,发现跟当年的51差不多,一步一步的学习

;*************************************************************************************************************

;* 文件名: ok6410.s

;* 功能:  S3C6410 汇编

;* 作者:  cp1300@139.com

;* 创建时间: 2013年1月4日21:27

;* 最后修改时间:2013年1月4日

;* 详细:

;*************************************************************************************************************/

TINT_CSTAT  EQU  0x7F006044  ;定时器中断控制和状态寄存器

VIC0ADDRESS  EQU  0x71200F00  ;当前矢量地址寄存器0,写入任意数据清除中断

VIC1ADDRESS  EQU  0x71300F00  ;当前矢量地址寄存器1,写入任意数据清除中断

;调用外部函数

IMPORT  LED1_flash    ;LED1闪烁程序

;外部调用函数

EXPORT  Time_Isr    ;时钟中断服务程序

PRESERVE8;

AREA S3C6410_CPU, CODE, READONLY

;定时器1中断服务程序,注意:进入中断后6410自动切换为IRQ模式,并关闭了IRQ中断,退出的时候需要自己开启,或者还原CPSR

Time_Isr

STMFD SP!, {R0,R1,LR}    ;R0,R1,LR入栈

LDR  R0,  =TINT_CSTAT

LDR  R1,  [R0]     ;读取寄存器 TINT_CSTAT

ORR  R1,  R1,  #0x01<<6  ;写BIT6,清除定时器1中断

STR  R1,  [R0]     ;回写寄存器

BL  LED1_flash      ;调用LED闪烁程序

LDR  R0,  =VIC0ADDRESS   ;写VIC的当前中断地址寄存器清除中断

LDR  R1,  =0xffffffff

STR  R1,  [R0]

LDR  R0,  =VIC1ADDRESS

STR  R1,  [R0]

LDMFD SP!, {R0,R1,LR}    ;R0,R1,LR出栈

;之前使用SUB,发现程序从中断退出后并没有从SPSR恢复,也就是中断屏蔽没有去除,添加-S后,这条指令会影响CPSR中标志位,在这也就是恢复了SPSR_IRQ到CRSP

SUBS PC,  LR,  #4    ;从中断程序中退出,LR需要减4放入PC,子程序调用则不需要-4,应该是由于流水线的指令预取造成的

END

Linux编程训练网站,OK6410汇编程序练习相关推荐

  1. edu-【Linux 与 Python编程2021】Linux知识训练,Linux之用户管理,Linux文件/目录管理

    python实训 python学习 – 菜鸟教程+B站视频 文章目录 linux知识训练-硬件与软件安装 第1关:linux知识训练-硬件与软件安装 linux知识训练-账户进程与权限 第1关:lin ...

  2. 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结...

    网站地址:http://www.itmian4.com 基础篇:操作系统.计算机网络.设计模式 一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件. 2. 进程与线程的区别. 3. ...

  3. 程序员最常用的7大编程实战网站,阿里腾讯面试题也用它!

    每个程序员在自己的职业生涯中都需要找到一些适合自己的编程实战网站,它不仅可以帮你提高自己的编程水平,而且还能帮你在网上找到更好的工作.今天小编就分享给大家一些在阿里腾讯编程考试都能用到的网站. 1.L ...

  4. 有哪些好的刷题网站?2018年最受欢迎的编程挑战网站

    本文转自 https://blog.csdn.net/UzV80PX5V412NE/article/details/78653695 2018年最受欢迎的编程挑战网站 1.TopCoder 2.Cod ...

  5. 使用.NET Core进行Linux编程3:简介和第2章

    目录 背景 我希望实现的目标 介绍 这本书的封面是什么? 这本书是给谁的? 以应用为中心 这本书不是什么 这本书是什么 GitHub上的所有源代码 DotNet Core MacOS奖金 第2章--进 ...

  6. 打字_盲打训练/打字训练网站(updating)/打字测速网站

    文章目录 why touch-typing? overview Sitting posture for typing 小拇指还是比较辛苦的,需要负责的键最多 训练网站: site0: [www.typ ...

  7. 全网最全编程学习网站汇总来了,还不赶快收藏

    Java面试笔试面经.Java技术每天学习一点 公众号Java面试 关注我不迷路 作者:brightwang 来源:https 众所周知,程序员是一个需要不断学习的职业,而幸运的是,在这个互联网时代, ...

  8. 15 个边玩游戏边学编程的网站(包含 Python)

    前言 经常听到有朋友说,学习编程是一件非常枯燥无味的事情.其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏来学编程? 今天我想跟大家分享几个网站,教你如何通过 ...

  9. 15 个边玩游戏边学编程的网站

    作者 | 创客星辰 来源 | 公众号:辰语学习笔记 前言 经常听到有朋友说,学习编程是一件非常枯燥无味的事情.其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏 ...

最新文章

  1. Java Web整合开发(26) -- Spring概述
  2. 《数据结构与算法》实验报告——快速排序
  3. Nagios监控之8:利用mutt+msmtp实现邮件报警
  4. 关于wifi的HW hdr error:len/check错误解决方法
  5. GBDT(回归树)原理详解与python代码实现
  6. 巴黎市中心降下2019年第一场雪
  7. oracle 时间转化函数及常见函数 .
  8. jzoj4051-序列统计【NTT】
  9. 在二元树中查找和为某一值的所有路径
  10. Eclipse 快捷键整理
  11. 37. 两个链表的第一个公共节点(C++版本)
  12. fastDFS安装用到命令
  13. DEM高程数据下载方法
  14. 卓有成效的管理者(笔记)——序言
  15. 学习探究--实信号与复信号
  16. 名帖196 米芾 行书《诉衷情》
  17. HSV(HSB)和HSL颜色空间
  18. android mp4v2,MP4v2视频库漏洞分析
  19. C语言课设---银行存取款管理系统
  20. elasticsearch系列四:搜索详解(搜索API、Query DSL)

热门文章

  1. oracle 042 第八章:管理数据和并发处理
  2. java 单例模式的几种写法
  3. BZOJ3240 NOI2013矩阵游戏(数论)
  4. Nginx安装,目录结构与配置文件详解
  5. Window系统 安装TFLearn
  6. CentOS7 安装xen(在虚拟机上成功,实体机测试死机!)
  7. 骨牌覆盖问题 KxM
  8. ADSL 定时断线重连bat文件
  9. CentOS7下安装 mysql5.7.25(glibc版)(可用)
  10. mysql备份单实例(一)shell