原视频课

国外最火MIPS汇编语言学习视频,有翻译字幕,方便学习_哔哩哔哩_bilibili

代码

space数据类型:#.space 12 代表给变量分配12个字节空间,即12字节。如果我们想存储三个整数,一个整数占用4字节,那么一共就需要4 x 3 = 12个字节空间。

.dataArray:  .space  12      # 一个整数4字节,共三个整数
.textmain:# save to registeraddi    $s0, $zero, 2addi   $s1, $zero, 4addi   $s2, $zero, 6# register to memoryaddi   $t0, $zero, 0sw $s0, Array($t0)addi $t0, $t0, 4sw   $s1, Array($t0)addi $t0, $t0, 4sw   $s2, Array($t0)

讲解:

前几步都是常规操作,将立即数2 4 6分别存入CPU的s0  s1 s2寄存器中。

接下来执行sw指令,其中会被拆分为lui addu sw指令

  1. lui指令将Array的内存地址取出,放置在1号寄存器的高16位上,现在1号寄存器的值为0x10010000。
  2. 将1号寄存器与8号寄存器的值相加,存入到1 号寄存器当中。
  3. 将16号寄存器(即s0寄存器)中的值存入基地址(0x00000000)偏移0x10010000后的值为地址的内存中。

如图:

后面,我们将t0寄存器的值每次+4,就可以以4字节为刻度,循环挨个读取三个整数并存取到内存中了。

关于数组在内存中的存储可以参考这篇文章:结构体名是不是结构体的首地址? - 高志远的个人主页

最终效果:

MIPS汇编语言学习笔记27:数组相关推荐

  1. MIPS汇编语言学习笔记23:if 语句分支指令

    C语言 #include<stdio.h> int main() {int i = 3;if (i < 5){printf("yes!\n");}else{pri ...

  2. MIPS汇编语言学习笔记07:打印双精度浮点数

    课程原视频: https://www.bilibili.com/video/BV19J411y7pA?p=7 程序功能: 设定两个双精度浮点型数据,将其相加后打印输出. 代码: .datamyDoub ...

  3. MIPS汇编语言学习笔记11:整数减法 (mult方法)

    任务:整数相乘,并输出打印. 代码: .dataintA: .word 5intB: .word 2 .textli $v0, 1lw $a1, intAlw $a2, intBmult $a1, $ ...

  4. 32位汇编语言学习笔记(45)--测试简单文件操作接口(完)

     这是<Assembly Language step by step programming with linux>书中的最后一个程序,也是全书中的最复杂的一个程序. 首先看一下这个程 ...

  5. MIPS体系结构学习笔记

    MIPS体系结构学习笔记 第一章 概述 第二章 MIPS的体系结构 相关寄存器的时序 32个通用寄存器 通用寄存器的命名 32个浮点寄存器 基本地址空间 第三章 协处理器0(cp0):MIPS处理器控 ...

  6. win32汇编语言学习笔记(三)

    汇编语言学习笔记(三) CH3.Windows汇编基础 .386 .model flat,stdcall option casemap:none 定义程序使用的指令集.工作模式 相应的还有:.8086 ...

  7. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  8. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  9. MIPS架构学习笔记

    MIPS架构学习笔记 来源: ChinaUnix博客 日期: 2007.03.13 23:18 (共有条评论) 我要评论 MIPS架构学习笔记                              ...

  10. MIPS汇编语言学习-03-循环

    一.前言 如何在电脑上运行MIPS汇编语言,这边不做赘述,请查阅之前的博客链接,里面有相关的安装包和运行方法:MIPS汇编语言学习-01-两数求和 二.源码 #功能实现: #实现1累加到10000,最 ...

最新文章

  1. poj1738 an old stone game
  2. python第三方库有哪些常用的、请列举15个-阿里巴巴Python开发工程师面试题
  3. 如何使用AWS和Azure的配置存储服务保存读取配置
  4. Delphi XE2 之 FireMonkey 入门(13) - 动画(下)
  5. 一文讲清,MySQL如何解决多事务并发问题
  6. android 简单获取实时天气数据_绘图本身很简单但是获取数据很难
  7. 利用POI 技术动态替换word模板内容
  8. CCF NOI1098 森林
  9. 摆脱Wi-Fi信号干扰的对策
  10. R语言︱用excel VBA把xlsx批量转化为csv格式
  11. BackgroundWorker的使用
  12. 分库分表 vs NewSQL,怎么选择?
  13. LightGBM-GBDT-LR使用树集合进行特征转换
  14. Win10值得推荐的软件,提升效率和桌面美观
  15. Matlab 线性同余法产生随机数
  16. T1-商贸宝服务无法启动解决办法
  17. CTF简单的文件修复
  18. 大厂Offer拿到手软啊!隔壁都馋哭了
  19. iOS 工作中遇到的问题(面试重点)
  20. 下载图片 getInputStream、available()问题

热门文章

  1. 一款陌生人状态社交软件--same
  2. 【锂电池】关于4.2V锂电池充电IC的一些记录
  3. ubuntu格式化硬盘
  4. 典型企业设备链路冗余备份方案
  5. ThingJS学习笔记
  6. Linux资源管控【笔记】
  7. 《人生若只如初见——古典诗词的美丽与哀愁》--安意如
  8. dsolve解微分方程
  9. PCF8563实时时钟芯片51单片机简单例程
  10. 华为 AR系列路由器密码重置