




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 实验三 向量文件的编写及多个文实验三 向量文件的编写及多个文 件的链接件的链接 一 一 实验目的实验目的 1 编写复位向量文件 vectors asm 2 多个文件的链接 3 编写复位和中断向量文件 4 仿真外部中断 二 二 实验条件实验条件 lab3 asm 和 lab3 cmd 文件 三 三 实验步骤实验步骤 1 双击桌面上 CCS 2 图标 启动 CCS 集成开发环境 2 建立新工程 并将 lab3 asm 和 lab3 cmd 添加入工程 3 按照 3 6 4 节中的例子 编写复位向量文件 vectors asm 并将 该文件添加入工程 4 为了将 lab3 和 vectors 两个文件相链接 对 lab3 asm 和 lab3 cmd 文件进行必要的修改 5 用菜单命令对工程的所有文件进行汇编 编译 链接生成输 出文件 6 加载程序并单步执行 lab3 out 文件 仔细观察复位向量的作 用 7 参看教材 4 4 节中的内容 仿真外部中断 INT2 2 在 lab3 asm 中 增加一段中断服务子程序 INT 2 dat 其内 容将累加器 A 变负 修改 lab3 asm 开放 INT2 中断 修改 vectors asm 增加 INT2 中断向量 编写仿真外部中断用的数据文件 文件名为 INT 2 dat 每隔 100 个时钟周期向 CPU 发出一次中断请求 直到仿真结束 对工程中所有文件重新汇编 编译 链接生成新的输出文 件 执行前 从 Tool 菜单中选择 用鼠标选中要连接 Pin Name 再按 connect 按钮 选择输入文件 INT 2 与 INT2 引脚相连 单击打开按钮 加载程序 并利用单步方式执行程序 注意观察中断向量 在程序执行过程中的作用 四 四 实验程序实验程序 lab3 asm y a1 x1 a2 x2 a3 x3 a4 x4 title lab3 asm mmregs 定义存储器映像寄存器 STACK usect STACK 10h 给堆栈分配 16 个存储单元 bss x 4 给 x 分配 4 个存储单元 bss a 4 3 bss y 1 def start 定义标号 start def INT 2 data 定义数据段 mmregs table word 1 2 3 4 为标号 table 开始的 word 8 6 4 2 8 个存储单元赋初值 text 定义文本段 start STM STACK 10h SP 设置堆栈指针 STM table AR1 AR1 指向 table 的首地址 STM x AR2 AR2 指向 x 的首地址 STM 7 AR0 将 AR0 赋 7 LD 40h A 将立即数 40h 加载到 A 累加 器 STM 0 SWWSR SWWSR 置 0 不插等待周期 RSBXINTM 开放全部可屏蔽中断 STM 04h IMR 开放 INT2 中断 loop LD AR1 A 将 AR1 中数据加载到 A 累加 器 STL A AR2 将 A 低 16 位送往 AR2 寄存器所指地 址 BANZ loop AR0 重复执行 7 次 4 CALL SUM 调用 SUM 子程序 end B end 循环等待 SUM STM a AR3 AR3 指向 a 的首地址 STM x AR4 AR4 指向 x 的首地址 RPTZ A 3 将 A 清零 重复执行下条指令 3 次 MAC AR3 AR4 A 相乘累加存入 A 累加器 STL A AR2 将 A 的低 16 位送往 AR2 所指向的地 址 RET 子程序返回 INT 2 NEG A 将 A 累加器变负 RETE 开中断 从中断返回 end 程序结束 五 实验现象五 实验现象 每隔 100 个时钟周期来一次中断 累加器 A 中的数值变负 5 六 实验体会六 实验体会 学习了如何设置中断 及源程序和向量文件的链接 编写仿真外 部中断的数据文件 更直观的认识到程序是如何执行中断的 实验四实验四 汇编语言程序设计汇编语言程序设计 一 实验目的一 实验目的 通过实验熟悉指令系统 初步掌握汇编语言程序设计的基本方 法和技巧 二 实验条件二 实验条件 在第五章基础上进行 三 实验内容三 实验内容 1 编写实验小数乘法累加的汇编语言程序 5 lab4a asm 其中 a 0 1 0 2 0 3 0 4 0 5 2 将第五章例 9 和例 10 组合成一个程序 lab4b asm 实现对一个 6 数组 x 5 1000h 2000h 3000h 5000h 进行初始化 并利用块重复操 作指令将该数组每个元素加一 3 将第五章中的例 20 或例 21 分别编写成完整的除法运算程序 lab4c1 asm 和 lab4c2 asm 4 编写实现两个 64 位数相加的汇编语言程序 lab4d asm 5 在设计好上述每一个汇编语言程序的同时 均应设计相应的 链接命令文件 lab4x cmd 并利用 CCS 进行调试 四 实验程序四 实验程序 lab4a lab4a asm y a1 x1 a2 x2 a3 x3 a4 x4 a5 x5 title lab4a asm mmregs STACK usect STACK 10h 给堆栈分配 16 个存储单元 bss x 5 给 x 分配 4 个存储单元 bss a 5 bss y 1 def start data table 7 word 1 32768 10 2 32768 10 3 32768 10 4 32768 10 5 32768 10 为标号 table 开始的 10 个存储单元赋初值 word 1 32768 10 2 32768 10 3 32768 10 4 32768 10 5 32768 10 分别是 0 1 0 2 0 3 0 4 0 5 0 1 0 2 0 3 0 4 0 5 text 定义文本段 start SSBX FRCT 将小数方式位状态寄存器置一 STM STACK 10h SP 设置堆栈指针 STM table AR1 AR1 指向 table 的首地址 STM x AR2 AR2 指向 x 的首地址 STM 9 AR0 LD 0 A loop LD AR1 A 将 AR1 中数据加载到 A 累加 器 STL A AR2 将 A 低 16 位送往 AR2 寄存器所指地 址 BANZ loop AR0 重复执行 9 次 CALL SUM 调用 SUM 子程序 end B end 循环等待 SUM STM a AR3 AR3 指向 a 的首地址 STM x AR4 AR4 指向 x 的首地址 RPTZ A 4 将 A 清零 重复执行下条指令 4 次 8 MAC AR3 AR4 A 相乘累加存入 A 累加器 STH A y 将 A 的高 16 位送往 y RET 子程序返回 end 程序结束 lab4b title lab4b asm mmregs 定义存储器映像寄存器 bss x 5 给 x 分配 5 个存储单元 def start 定义标号 start data 定义数据段 table word 1000h 2000h 3000h 4000h 5000h 为标号 table 开始的 5 个存储单元赋初值 text 定义文本段 start STM x AR2 AR2 指向 x 的首地址 RPT 4 重复下条指令 4 次 MVPD table AR2 重复传递共 5 个数据 next LD 1 16 B 将 1 左移 16 位加载到 B 累加器 STM 4 BRC 将块重复计数器赋值为 4 STM x AR4 AR4 指向 x 的首地址 RPTBend 1 循环执行下面语句 end 1 为结束地 址 ADD AR4 16 B A 将 AR4 中数据左移 16 位加 B 赋给 9 A STHA AR4 将 A 高 16 位送往 AR4 寄存器所指地 址 end Bend 循环等待 end 程序结束 lab4c1 lab4c1 ASM title lab4c1 asm def start STACK usect STACK 100 给堆栈分配 100 个存储单元 bss num 1 bss den 1 bss quot 1 data table word 128 4 32768 10 为标号 table 开始的 4 个存储单元赋初值 word 1024 8 32768 10 分别是 128 0 4 1024 0 8 text start STM num AR1 10 RPT 1 重复执行下条语句 1 次 MVPD table AR1 传送 2 个数据至分子 分母单 元 LD den 16 A 将分母移到 A 累加器 31 16 MPYA num num A 32 16 移到 B 获取商的符号 ABS A 分母取绝对值 STH A den 分母绝对值存回原处 LD num 16 A 分子移到 A 32 16 ABS A 分子取绝对值 RPT 14 15 次减法循环 完成除法 SUBC den A 有条件减法 XC 1 BLT 如果 B 0 商是负数 则需要变 号 NEG A 将 A 累加器变负 STL A quot 将 A 的低 16 位送往 quot done B done end lab4c2 lab4c2 ASM 11 title lab4c2 asm def start STACK usect STACK 100 给堆栈分配 100 个存储单元 bss num 1 bss den 1 bss quot 1 data table word 16384 66 32768 100 为标号 table 开始的 4 个存储单元赋初值 word 512 33 32768 100 分别是 16384 0 66 512 0 33 text start STM num AR1 RPT 1 重复执行下条语句 1 次 MVPD table AR1 传送 2 个数据至分子 分母单 元 LD den 16 A 将分母移到 A 累加器 31 16 MPYA num num A 32 16 移到 B 获取商的符 号 ABS A 分母取绝对值 12 STH A den 分母绝对值存回原处 LD num A 分子移到 A ABS A 分子取绝对值 SUB den A 从累加器 A 中减去 den 中数据 BC next ALT 条件分支转移 A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字音频处理培训考试题
- 京东采购笔试题库及答案
- DB50T18482025数字化共同配送分类与编码指南(标准文本)
- 2025北京社工考试真题及答案
- 安全培训微课设计课件
- 安全培训微课堂设计方案课件
- 推动思政课建设提质增效的策略及实施路径
- 2025年工厂环境保护试题及答案
- 高职院校机电专业国际合作办学模式研究
- 2025年建瓯事业单位真题
- 机器人机构学 课件全套 第1-9章 绪论、螺旋理论基础 - 移动机器人的运动机构
- 海尔人单合一管理模式课件
- 药物分析题库及答案
- 国家电网公司电力安全工作规程(变电部分)
- 《孤独的小螃蟹》课件PPT
- 池塘养鱼高产新技术
- 科大讯飞说明书
- 新人教版九年级物理实验报告册全
- GB/T 2883-2015工程机械轮辋规格系列
- GB/T 20913-2007乘用车正面偏置碰撞的乘员保护
- GB/T 15089-2001机动车辆及挂车分类
评论
0/150
提交评论