计算机系统实验合集.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机系统核心实验一之LC-3机器码编程试验一、实验描述利用LC-3的机器代码计算一个16位的字中有多少位是’1’程序从x3000开始需计算的字存储在x3100计算的结果存储在x3101实验要求分析和理解试验指定的需解决问题。利用LC-3的机器代码设计实现相关程序。通过LC-3仿真器调试和运行相关程序并得到正确的结果。?三、实验步骤与过程程序代码及注释:0011 0000 0000 0000 ;程序的起始位置在001 011111111;R1-X3100在R1中存入地址011 011 1 00000;R3-0清R3,用来存放运行的结果(一个16位的字中1的个数)0101 010 010 100000;R2-0清R2,用来作为一个计数器0001 010 010 1 01111;R2-150001 010 010 1 00001;R2-R2+1将16赋给R20110 100 001 000000;R4-M[R1]将R1存放的地址指向的数据赋给R40000 010 000000101;BRZ判断R2是否为0,若R2为0,则跳出循环(跳到x300C)0000 011 000000001;BRZP判断R4是否为负,若R4为负,则R3加1,若R4为非负数,则PC加2(即跳到x3009)0001 011 011 1 00001;R3-R3+1 R3加10001 010 010 1 11111;R2-R2-1 计数器R2减10001 100 100 000 100;R4-R4+R4 R4乘2,即R4左移一位0000 111 111111010;BRZ 跳转到011 001 000001;X3101-ST[R3] 将R3的数据存入地址为x3001的内存中1111 0000;停止流程图:实验过程截图:打开LC3编辑器,输入代码后,点击接着弹出下图所示的窗口后,点击保存打开LC3simulator,点击,选择之前保存的文件并打开,即可将之前输入的代码传入LC3模拟器中如下图所示双击x300D前的小方块,使其变成大红点,表示程序运行至x300D(5)在Jump to栏中输入x3100,可跳至x3100(6)双击x3100一行输入一个十六进制的数x1234(7)在Jump to栏中,选择x3000,回到程序的起始位置(8)点击,程序即可开始运行(9)弹出对话框(10)在Jump to栏中选择x3100,在x3101中显示实验结果x0005实验结果截图:操作系统:win10软件工具:LC3Edit、LC3simulator语言:机器语言计算机系统实验二之LC-3汇编求成绩一、实验描述对学生的成绩使用数组进行排序背景:一位老师需要你帮忙决定学生的成绩,她想要根据学生分数在班上的排名和考试分数一起决定学生最后的成绩等级。计算规则:如果学生的分数排名在全班的25%之前,且考试分数达到85分及以上,则学生可以获得A如果学生不能拿A,但是分数排名在全班的50%之前,且考试分数达到75及以上,则学生可以获得B剩下的学生都是C具体的情况:一共有16名学生,每名学生只有一个成绩实验要求用汇编语言给这个班写一个成绩排序的程序。你的程序必须给学生的分数排序,然后计算出获得A和B的学生人数。程序从x3000开始程序的输入:班上16个学生的没有排序的成绩;每个分数是用16位无符号数表示的0~100的整数分数存储在16个连续的内存位置-每一个位置一个分数;从x3200开始;最后一个分数的存储位置为x320F你可以假设所有的分数相互之间不相同程序的输出(你的程序必须有两个输出)16位学生的分数排序。分数必须按降序排序在连续的内存位置-每个内存地址一个分数,从x4000开始存储;即0x4000存储的分数是最高的,x400F存储的分数是最低的获得A和B的学生的人数。获得A的学生人数必须存储在x4100,获得B的人数必须存储在x4101三、实验步骤与过程实验流程图:1.将obj文件导入模拟器2.运行程序将地址跳到x4000,成绩按从大到小的顺序存储在地址x4000到x400F将地址跳到x4100,地址x4100存储的是等级为A的学生人数,地址x4101存储的是等级为B的学生人数程序分为三部分,分别为排序,计算A的人数,计算B的人数以下是详细的代码及注释:.ORIG x3000LDR0,SCORE;将R0初始化为x3200,使R0指向第一个成绩ANDR1,R1,#0ADDR1,R1,#15ADDR1,R1,#1;将R1初始化为16;初始化寄存器LDR3,ORDERA;将R3初始化为x4000ADDR5,R5,#0ADDR5,R5,#15ADDR5,R5,#1;将R5初始化为16,作为一个计数器;BBRzA

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档