UBUNTU下Y86模拟器的安装和使用

  • 由于上周在虚拟机中安装Y86模拟器中出现了一些问题并且没得到解决,所以上周实验是在实验楼上做的,这几天练习了UBUNTU下Y86模拟器的安装和使用。

  • 参考博客:http://www.cnblogs.com/senlinmilelu/p/5985966.html#3538763

  • 首先安装bison和flex词法分析工具,在终端中输入sudo apt-get install bison flex 由于上周已经安装了,所以显示新安装了0个软件包。

  • 下载sim解压。地址http://csapp.cs.cmu.edu/public/students.html(使用校网打不开这个网页的,最好使用其他网络。)然后找到 Chapter 4: Processor Architecture,点击Source distribution (README)如下图所示,下载后在虚拟机中解压。

  • 图形界面需要安装Tcl/Tk。在终端中输入sudo apt-get install tcl8.5-dev tk8.5-dev tcl8.5 tk8.5然后在解压后的sim文件夹中找到makefile文件,作如下改动并保存

#GUIMODE=-DHAS_GUI // 将#去掉,变为:GUIMODE=-DHAS_GUI

TKLIBS=-L/usr/lib/ -ltk8.5 -ltcl //变为:TKLIBS=-L/usr/lib/ -ltk8.5 -ltcl8.5

TKINC=-i /usr/include //将isystem改为大写的I,在最后加上tcl8.5 变为:TKINC=-I /usr/include/tcl8.5

  • 编译:在sim文件夹下右键选择在终端中打开,输入make clean;make

  • 进入y86-code文件夹,可以编译后并查看asuml.yo文件。这是教材p239页图4-7上的示例文件。

  • 编译所有的文件:

  • 查看cjr.yo文件

其他(感悟、思考等,可选)

上周由于一直用的是校园网,并不知道到底是哪里出了差错导致网页http://csapp.cs.cmu.edu/public/students.html打不开,所以转而去实验楼上构建Y86模拟器环境做了实验。直到看见张晓涵同学的博客才明白问题所在。于是自己又在虚拟机里成功安装了Y86模拟器并实现了部分代码的编译和查看。感谢张晓涵同学分享的学习经验。

参考资料

UBUNTU下Y86模拟器的安装和使用的更多相关文章

  1. Ubuntu下deb包的安装方法 (zz)

    Ubuntu下deb包的安装方法 分类: Ubuntu10使用技巧 2010-10-11 23:49 42969人阅读 评论(3) 收藏 举报 ubuntudebdebianlinux deb是deb ...

  2. ubuntu下deb包的安装方法

    ubuntu下deb包的安装方法 简介 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...

  3. Opencv 2.4.9在Ubuntu下的配置与安装

    [原]Opencv 2.4.9在Ubuntu下的配置安装  Opencv 2.4.9在Ubuntu下的配置与安装 surgewong@gmail.com http://blog.csdn.net/su ...

  4. ubuntu下opencv2.4.9安装测试

    ubuntu下opencv2.4.9安装测试 whowhoha@outlook.com 一.依赖包安装 1.  build-essential 软件包 sudo apt-get install bui ...

  5. 【转】Ubuntu下deb包的安装方法

    [转]Ubuntu下deb包的安装方法 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...

  6. 转载:Ubuntu下deb包的安装方法

    转载:Ubuntu下deb包的安装方法,http://blog.csdn.net/kevinhg/article/details/5934462 deb是debian linus的安装格式,跟red ...

  7. Ubuntu 下生成 python 环境安装文件 requirements.txt

    参考: 查找python项目依赖并生成requirements.txt Ubuntu 下生成 python 环境安装文件 requirements.txt 首先通过 pip 安装pyreqs模块: p ...

  8. Linux之Ubuntu下如何查看已安装的软件/库文件【摘抄】

    本文属于实用性质,且属于摘抄别处,出自:[Ubuntu 下如何查看已安装的软件](http://blog.csdn.net/m1205979825/article/details/40855583) ...

  9. Ubuntu下deb包的安装方法 - kevinhg的博客 - 博客频道 - CSDN.NET

    Ubuntu下deb包的安装方法 - kevinhg的博客 - 博客频道 - CSDN.NET dpkg -i

随机推荐

  1. Daily Scrum 10.29

    今天大家的工作做的还算不错,但是晚些时候遗憾的得知我们的吴文会同学生病住院了,所以她明天的任务暂时保留,再做调整.希望大家在努力学习工作的同时一定要注意身体啊! 下面是今天的Task统计:

  2. map的用法

    Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数:   map<stri ...

  3. 常见26个jquery使用技巧详解(比如禁止右键点击、隐藏文本框文字等)

      来自:http://www.xueit.com/js/show-6015-1.aspx 本文列出jquery一些应用小技巧,比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器. ...

  4. spring security 控制用户信息用户加密 缓存用户信息

    1. MD5加密 任何一个正式的企业应用中,都不会在数据库中使用明文来保存密码的,我们在之前的章节中都是为了方便起见没有对数据库中的用户密码进行加密,这在实际应用中是极为幼稚的做法.可以想象一下,只要 ...

  5. 使用dbms_crypto包加密关键列数据

    对于业务系统中常见的需要加密的列我们可以在应用层来实现,也可以在数据库层实现,自己验证了一下使用dbms_crypto包来封装函数实现关键列的加密. 1.数据库版本 SQL> select * ...

  6. Vue 双向数据绑定原理分析 以及 Object.defineproperty语法

    第三方精简版实现 https://github.com/luobotang/simply-vue Object.defineProperty 学习,打开控制台分别输入以下内容调试结果 userInfo ...

  7. JSP页面转向方式

    1.RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个S ...

  8. Java代理模式

    java代理模式及动态代理类 1.      代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目 ...

  9. 安卓中級教程(1):@InjectView

    package com.mycompany.hungry; import android.annotation.SuppressLint; import android.app.Activity; i ...

  10. Python强化训练笔记(三)——词频的统计

    现有列表如下: [6, 7, 5, 9, 4, 1, 8, 6, 2, 9] 希望统计各个元素出现的次数,可以看作一个词频统计的问题. 我们希望最终得到一个这样的结果:{6:2, 7:1...}即 { ...