计算机系统(1)实验二 LC-3机器码编程试验

简介: 计算机系统(1)实验二 LC-3机器码编程试验

实验目的:


熟悉和理解LC-3的机器指令格式。

进一步掌握在LC-3仿真平台下机器代码的设计输入和调试过程。

掌握利用机器语言解决问题的思路,加深对底层硬件的理解。


实验内容:


利用LC-3的机器代码计算一个16位的字中有多少位是’1’程序从x3000开始,需计算的字存储在x4000,计算的结果存储在x4001


实验要求:


分析和理解试验指定的需解决问题。

利用LC-3的机器代码设计实现相关程序。

通过LC-3仿真器调试和运行相关程序并得到正确的结果。


实验步骤


1. 编写代码

由于要实现检测多少位有1,因此不难想到,可以利用检测正负的方法,检测最高位的数字是否为1,再讲左移一位,并继续检查,直至数值大小为零时,即检测结束。因此在LC3Edit中输入以下代码:


0011000000000000; 从0X3000开始
1010 001 000001001; LDI,R1,PC+9
0101 010 010 1 00000; AND R2 R2 #0
0001 001 001 1 00000; ADD R1 R1 #0
0000 010 000000100; BRz PC+4
0000 001 000000001; BRp PC+1
0001 010 010 1 00001;  ADD R2 R2 #1
0001 001 001 0 00 001; ADD R1 R1 R1
0000 111 111111010; 无条件跳回前5步
1011 010 000000010; STI R1,PC+2
1111000000100101; halt
0100000000000000; 0X4000
0100000000000001; 0X4001


程序运行思路如下:

即将要检测的数字从地址0X4000中放入R1中,用R2存放1的个数。

①将R2清零。

②判断R1正负,如果是正的R2就加一

③将R1左移一位

④判断如果R1等于零就结束程序,并将R2的值存入0X4000;若不为0则返回②


8d54cc3700bb45ea9ea5213439021586.png


2. 运行代码

打开simulator,并运行


4607118888364a25afec4a455890a8a5.png


并使用Set Value给0X4000赋值,这里以56A1展示,并点击运行后得到如下结果:


16490d392e644302a17dcd726e377840.png


即56A1中共有7个’1’答案正确。

程序顺利实现


实验结论:


通过本次实验对LC3代码的编写我掌握了处理器仿真工具LC-3软件的编码和使用方法,学会了在LC-3仿真环境下如果编写自己想要的程序,并实现程序运行的方法。

在实验中也遇到了一些困难,如最开始将地址错误的放入程序中,以至于地址被当成指令执行,经过对程序指令顺序的调整,成功解决了这一问题,最终程序顺利得以实现。


相关文章
|
存储
计算机组成原理实验二:双端口存储器原理实验
本篇博文主要是讲述一下计算机组成原理实验中双端口存储器原理实验,因为很多同学在刚学习计算机组成原理实验的时候对于调试的一些步骤还是有些懵懵懂懂,每个步骤之间的连接做的不是很连贯,故有了写此篇博文的初衷,笔者会在近期分享计算机组成原理实验的五个实验,希望对有学习此课程的同学能够有一些帮助!(第一篇博文所写的前缀)
782 3
计算机组成原理实验二:双端口存储器原理实验
计算机组成原理实验五:CPU组成与机器指令执行实验
本篇博文主要是讲述一下计算机组成原理实验中CPU组成与机器指令执行实验,因为很多同学在刚学习计算机组成原理实验的时候对于调试的一些步骤还是有些懵懵懂懂,每个步骤之间的连接做的不是很连贯,故有了写此篇博文的初衷,笔者会在近期分享计算机组成原理实验的五个实验,希望对有学习此课程的同学能够有一些帮助!
644 1
计算机组成原理实验五:CPU组成与机器指令执行实验
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第九章:多功能运算电路
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第九章:多功能运算电路
207 0
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第九章:多功能运算电路
计算机系统(1)实验一 LC-3机器码编程试验
计算机系统(1)实验一 LC-3机器码编程试验
303 0
计算机系统(1)实验一 LC-3机器码编程试验
|
搜索推荐 C++
计算机系统(1)实验三 汇编语言试验
计算机系统(1)实验三 汇编语言试验
2538 0
计算机系统(1)实验三 汇编语言试验
|
存储
计算机系统(1)实验四 LC-3简单游戏设计
计算机系统(1)实验四 LC-3简单游戏设计
325 0
计算机系统(1)实验四 LC-3简单游戏设计
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十三章:微程序控制器
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十三章:微程序控制器
157 0
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十五章:认识RISCV
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十五章:认识RISCV
280 0
|
语音技术
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十一章:数据通路
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第十一章:数据通路
261 0
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第六章:移位寄存器
基于Verilog HDL与虚拟实验平台的计算机组成与CPU实验第六章:移位寄存器
159 0