计算机组成原理作业一 熟悉MIPS指令
第一题
.data
outputd: .asciiz "Alpha","November","First","alpha","november","Bravo","Oscar","Second","bravo","oscar","China","Paper","Third","china","paper","Delta","Quebec","Fourth","delta","quebec","Echo","Research","Fifth","echo","research","Foxtrot","Sierra","Sixth","foxtrot","sierra","Golf","Tango","Seventh","golf","tango","Hotel","Uniform","Eighth","hotel","uniform","India","Victor","Ninth","india","victor","Juliet","Whisky","zero","juliet","whisky","Kilo","X-ray","kilo","x-ray","Lima","Yankee","lima","yankee","Mary","Zulu","mary","zulu","",""
vald: .asciiz "A","N","1","a","n","B","O","2","b","o","C","P","3","c","p","D","Q","4","d","q","E","R","5","e","r","F","S","6","f","s","G","T","7","g","t","H","U","8","h","u","I","V","9","i","v","J","W","0","j","w","K","X","k","x","L","Y","l","y","M","Z","m","z","?"
unvald: .asciiz "*"
offs: .word 0,6,15,21,27,36,42,48,55,61,67,73,79,85,91,97,103,110,117,123,130,135,144,150,155,164,172,179,185,193,200,205,211,219,224,230,236,244,251,257,265,271,278,284,290,297,304,311,316,323,330,335,341,346,352,357,364,369,376,381,386,391,396,398
.text
st: li $v0,0xc
syscall
li $t1,0
ju: mul \(t2,\)t1,2 #judje the input
la $t4,vald
add \(t3,\)t2,$t4
lb \(t3,0(\)t3)
beq \(v0,\)t3,out
bgt $t1,62,out
add \(t1,\)t1,1
j ju
out: #output seq
beq $t1,62,over
# read the offset
la $t5,offs
mul \(t7,\)t1,4
add \(t6,\)t5,$t7
lw \(t6,(\)t6)
#add the offset
la $t4,outputd
add \(t3,\)t6,$t4
li $v0,4
la \(a0,(\)t3)
syscall
j st
over:
数据是程序跑出来的不贴了
第二题
.data
stringdata: .space 100
h: .byte 10
g: .byte 13
ok: .asciiz "Success! Location: "
no: .asciiz "Fail!"
.text
li $v0 8
la $a0 stringdata
li $a1 100
syscall
st:
li $v0 0xc
syscall
move $v1 $v0
j ln2
st2:
move $v0 $v1
li $t0 0
la $a0 stringdata
la $a1 h
lb \(a1 (\)a1)
lo:
add $t1 $t0 $a0
lb \(t1 (\)t1)
beq $t1 $v0 Find
beq $t1 $a1 Fail
add $t0 $t0 1
j lo
Find:
li $v0 4
la $a0 ok
syscall
add $t0 $t0 1
li $v0 1
lw $a0 $t0
move $a0 $t0
syscall
j ln
Fail:
li $v0 4
la $a0 no
syscall
j ln
ln:li $v0,0xb
lb $a0,h
syscall
j st
# lb $a0,g
# syscall
ln2:li $v0,0xb
lb $a0,h
syscall
j st2
计算机组成原理作业一 熟悉MIPS指令的更多相关文章
- [计算机组成原理][实验十.R-I-J型指令CPU设计实验总结]
总算解决一大心头之患了,比想象中容易,通宵两夜,刷完了十个实验,这个实验就是最后的了.感慨颇多.特地写篇总结. 想做一件事,就立马去做把.你会发现没那么困难,往往最大的困难,是心里的困难. 培养了HD ...
- 重学计算机组成原理(五)- "旋转跳跃"的指令实现
CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if-else.for这样的条件和循环存在,这些指令也不会一路平直执行下去. 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CP ...
- 3.6 MIPS指令简介
计算机组成 3 指令系统体系结构 3.6 MIPS指令简介 MIPS秉承着指令数量少,指令功能简单的设计理念.那这样的设计理念是如何实现的呢?在这一节,我们就将来分析MIPS指令的特点. 相比于X86 ...
- 计算机组成原理 — CPU 中央处理器
目录 文章目录 目录 前文列表 逻辑电路部件 组合逻辑电路 时序逻辑电路 阵列逻辑电路 中央处理器(CPU) 控制单元(控制器) 运算单元(运算器) 存储单元(寄存器组和片内缓存) CPU 的工作原理 ...
- 《计算机组成原理 》& 《计算机网络》& 《数据库》 Roadmap for self-taugh student
计算机组成原理: UCB的这门课绝对是不错的资源. Great Ideas in Computer Architecture (Machine Structures) B站:https://www.b ...
- MIPS指令 MIPS架构
华中科技大学 - 计算机组成原理 华中科技大学 - 计算机硬件系统设计 Microprocessor without Interlocked Pipleline Stages 无内部互锁流水级的微处理 ...
- MIPS指令学习二
1.MIPS寻址方式 MIPS架构的寻址模式有寄存器寻址.立即数寻址.寄存器相对寻址和PC相对寻址4种,其中寄存器相对寻址.PC相对寻址介绍如下: 1.1.寄存器相对寻址 这种寻址模式主要被加载/存储 ...
- 计算机组成原理实验之CPU组成与指令周期实验
(实验五 CPU组成与指令周期实验) 课程 计算机组成原理实验 实验日期 2015 年 12 月 8 日 一.实验目的 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机. 2. ...
- 【0725 | Day 1】计算机编程/计算机组成原理/计算机操作系统
什么是编程 编程语言:人与计算机交流的手段 编程:通过编程语言编写文件 学习编程的目的:让计算机代替人力,为我们服务 计算机组成原理 计算机由五大部分组成:控制器.运算器.存储器.输入设备.输出设备. ...
随机推荐
- Leetcode942. DI String Match增减字符串
给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length. 返回 [0, 1, ..., N] 的任意排列 A 使得对于所有 i ...
- /etc/vimrc配置
[root@guolicheng ~]# cat /etc/vimrc if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" s ...
- 洛谷 P2886 [USACO07NOV]牛继电器Cow Relays
题面 解题思路 ## floyd+矩阵快速幂,跟GhostCai爷打赌用不用离散化,最后完败..GhostCai真是tql ! 有个巧妙的方法就是将节点重新编号,因为与节点无关. 代码 #includ ...
- 吴恩达《机器学习》课程总结(18)_照片OCR
18.1问题描述和流程图 (1)图像文字识别是从给定的一张图片中识别文字. (2)流程包括: 1.文字侦测 2.字符切分(现在不需要切分了) 3.字符分类 18.2滑动窗口 在行人检测中,滑动窗口是首 ...
- CCS开发指南
第一章 CCS概述 1 1.1 CCS概述 1 1.2 代码生成工具 3 1.3 CCS集成开发环境 5 1.3.1 编辑源程序 5 1.3.2创建应用程序6 1.3.3 调试应用程序 6 1.4 ...
- 文件上传 - Commons FileUpload介绍
概述 FileUpload能够以多种不同的方式使用,具体取决于应用程序的要求.在最简单的情况下,调用单个方法来解析servlet请求,然后处理解析出来的Item集合.此外也可以自定义FileUploa ...
- python学习笔记2_二元运算符和比较运算
一.二元操作符 a+b : a加b a-b : a减b a*b : a乘b a/b : a除以b a//b:a整除以b,表示的是返回a除以b的结果的整数部分,而不是证明了a能被b整除.要证明a能被 ...
- 使用video.js支持flv格式
html5的video标签只支持mp4.webm.ogg三种格式,不支持flv格式,在使用video.js时,如果使用html5是会报错不支持. 修改了一下代码 js部分 videojs.option ...
- Leetcode221. Maximal Square最大正方形
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积. 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 方法一 ...
- c++设计模式:代理模式
代理模式的实现和visitor实现有一曲同工之妙.这里就不多说了,也是实现set_delegate接口,以及回调函数处理接口. 主要区别在于: visitor主要是把信息回调之后就不管了. 代理模式主 ...