mips 体系结构和汇编语言快速入门

mips 体系结构和汇编语言快速入门

ID:5355771

大小:721.93 KB

页数:10页

时间:2017-12-08

mips 体系结构和汇编语言快速入门_第1页
mips 体系结构和汇编语言快速入门_第2页
mips 体系结构和汇编语言快速入门_第3页
mips 体系结构和汇编语言快速入门_第4页
mips 体系结构和汇编语言快速入门_第5页
资源描述:

《mips 体系结构和汇编语言快速入门》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MIPS体系结构和汇编语言快速入门译者:SonicFu,NortheasternUniversity,Boston,MA,USA译者按:有修改,无删减,初学必读。学习笔记,抛砖引玉!网上有一个老版本,不如此版全面。英文原版:http://logos.cs.uic.edu/366/notes/mips%20quick%20tutorial.htm#IOSystemCalls本文分3部分:1、寄存器2、程序结构框架3、编写汇编程序概要:数据类型和文法数据类型:字节,byte占用(8bit),halfword占2byte=16bit),word占用(4byte=3

2、2bit)一个字符需要一个Byte的空间;一个整数需要1个Word(4Byte)的空间;MIPS结构的每条指令长度都是32bit寄存器MIPS体系架构有32个通用寄存器。在汇编程序中,可以用编号$0到$31来表示;也可以用寄存器的名字来进行表示,例如:$sp,$t1,$ra….有两个特殊的寄存器Lo,Hi,用来保存乘法/除法的运算结果;此2寄存器不能直接寻址,只能用特殊的指令:mfhi和mflo来aceess其中的内容。(含义:mfhi=movefromHi,mflo=MovefromLow.)堆栈(Stack)的增长方向是:从内存的高地址方向,

3、向低地址方向;表格1:寄存器的编号名称及分类编号寄存器名称寄存器描述0Zero第0号寄存器,其值始终为01$at(AssemblerTemporary)是Assembler保留的寄存器2~3$v0~$v1(values)保存表达式或函数返回的结果(arguments)作为函数的前四个入参。在子函数调用的过程中不4-7$a0-$a3会被保留。(temporaries)Callersavedifneeded.Subroutinescanusewithout8-15$t0-$t7saving.供汇编程序使用的临时寄存器。在子函数调用的过程中不会被保留。(savedv

4、alues)-Calleesaved.16-23$s0-$s7Asubroutineusingoneofthesemustsaveoriginalandrestoreitbeforeexiting.在子函数调用的过程中会被保留。(temporaries)Callersavedifneeded.Subroutinescanusewithout24-25$t8-$t9saving.供汇编程序使用的临时寄存器。在子函数调用的过程中不会被保留。这是对$t0-$t7的补充。26-27$k0-$k1保留,仅供中断(interrupt/trap)处理函数使用.globalp

5、ointer.全局指针。Pointstothemiddleofthe64Kblockof28$gpmemoryinthestaticdatasegment.指向固态数据块内存的64K的块的中间。29$spstackpointer堆栈指针,指向堆栈的栈顶。savedvalue/framepointer保存的值/帧指针30$s8/$fp其中的值在函数调用的过程中会被保留31$rareturnaddress返回地址汇编程序结构框架汇编源程序代码本质上是文本文件。由数据声明、代码段两部分组成。汇编程序文件应该以.s为后缀,以在Spim软件中进行模拟。(实际上ASM也行

6、。)数据声明部分在源代码中,数据声明部分以.data开始。声明了在代码中使用的变量的名字。同时,也在主存(RAM)中创建了对应的空间。程序代码部分在源代码中,程序代码部分以.text开始。这部分包含了由指令构成的程序功能代码。代码以main:函数开始。main的结束点应该调用exitsystemcall,参见后文有关systemcall的介绍。程序的注释部分使用#符号进行注释。每行以#引导的部分都被视作注释。一个MIPS汇编程序框架:#Commentgivingnameofprogramanddescriptionoffunction#Template.s#B

7、are-bonesoutlineofMIPSassemblylanguageprogram.data#variabledeclarationsfollowthisline#....text#instructionsfollowthislinemain:#indicatesstartofcode(firstinstructiontoexecute)#...#Endofprogram,leaveablanklineafterwardstomakeSPIMhappy编写MIPS汇编程序:Content:PartI:数据的声明PartII:数据的装载和保存(Load/

8、Store指令)PartIII:寻址P

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。