西安哪家网络公司做网站,涉县手机网站建设,巴彦淖尔市做网站公司,软件开发主要工作内容一、实验目的 学习实现程序转移的硬件机制。 掌握堆栈寄存器的使用。
二、实验原理 根据实验指导书的相关内容#xff0c;实验箱系统的程序转移硬件机制在于#xff0c;当LDPC有效时#xff0c;如果此时DUBS上的值就是转移的目标地址#xff0c;则此目标地址被打入PC实验箱系统的程序转移硬件机制在于当LDPC有效时如果此时DUBS上的值就是转移的目标地址则此目标地址被打入PC从而实现程序的转移若LDPC为0是附带条件的就形成“条件转移”。实验箱依靠“PC打入电路”实现“有进位”时转移和“计算结果为0”时转移以及无条件转移。 为了实现返回时转移的目标一定是调用时转移的出发点在调用转移时必须把出发地址保存起来保存的位置应具备同时具备“不被一般用户所知或改变”以及“返回转移时能方便地找到它”的特点。 本实验箱所使用的子程序调用和返回的结构由PC电路和ST组成。
三、实验内容
实验任务一手动方式实现子程序调用转移过程
假设调用子程序指令的下一条指令存放在11H单元子程序的入口地址为22H。
1实验步骤 注释仪器打开电源手不要远离电源开关随时准备关闭电源注意各数码管、发光管的稳定性静待10秒确信仪器稳定、无焦糊味。 按Reset键初始化系统并设置实验箱进入手动模式。 按照下表对实验箱线路进行连接 将11H存入PC寄存器。用开关K23~K16设置数值为11H并按下表设置对应信号
按下STEP键将数据送PC。 将PC中的数据压入ST寄存器中。按下表设置对应信号
设置完毕后按下STEP键将数据压入ST寄存器中。 将22H存入PC寄存器。用开关K23~K16设置数值为22H并按下表设置对应信号
按下STEP键将数据送PC。 将PC加到25H。按下表设置对应信号
按STEP键观察PC寄存器变化。
2实验现象 ①将PC(11H)存入 ST( 栈寄存器 ) 显示ST:00 PC:11 ②将PC压入堆栈ST中 显示 ST:11 PC:11 ③将PC改为22H 显示ST:11 PC:22 ④将PC加到25H 显示ST:11 PC:25H 实验任务二手动方式实现子程序返回转移过程
1实验步骤
保持实验任务一的接线按下表设置对应信号 按下STEP观察实验箱情况。
2实验现象 ST显示:11PC显示:11 实验任务三编程实现OUT寄存器交替显示11和55
要求交替频率为可以清晰辨识且不小于每秒一次。实验箱的频率为114.8Hz
1实验步骤 拔下实验箱上的接线并将开关K23-K16全部置0开关K15~K0全部置1按下Reset键初始化系统。 打开电脑上的CP226软件点击源程序编写如下代码 将文件保存为.asm文件并进行编译和下载。 通过单微指令运行文件观察运行情况并记录实验结果。
2实验现象 将程序编译和下载后发现实验箱上的OUT寄存器能正常交替显示11和55。 3实验结论 通过手动方式实现子程序调用转移以及返回转移验证了PC寄存器既可以通过打入初值功能实现程序转移也可以通过自动加1功能实现程序顺序执行。 通过一系列正确的设计我们成功地通过CP226软件完成了“让OUT寄存器交替显示11和55”的功能。
四、建议 在测试程序时如果发现OUT寄存器交替显示的频率过快应注意L1循环的设计是否合理。 在编写汇编代码时要注意大小写当前串行口连接无效时可切换其他串行口进行实验。
五、体会
通过此次实验我对程序转移的硬件机制有了更深入的理解。在实验过程中我最初设计的延时程序段无论怎么调整交替显示的频率还是很快经仔细分析汇编代码才发现原来自己虽然写了循环递减但实际上程序运行的时候只减了一次就跳出了循环这提醒我在后续进行实验时要考虑地更加深入一些。
六、思考题
若要求11和55各显示50次后停机应该如何修改程序
答要实现该功能应在一个寄存器X中存入100每当11和55通过OUT输出一次就将X减1当X为0时即表示11和55已经各显示50次再进行停机操作。