




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,MIPS汇编,.,2,汇编语言指令格式:标签:操作符操作数#注释标签:可选标记内存地址,必须跟冒号通常在数据和代码段出现操作符:定义操作(如add,sub等)操作数:指明操作需要的数据可以是寄存器、内存变量或常数大多数指令有3个操作数L1:addiu$t0,$t0,1,.,3,MIPS汇编程序框架,.,4,.data伪指令定义程序的数据段,程序的变量需要在该伪指令下定义,汇编程序会分配和初始化变量的存储空间.text伪指令定义程序的代码段.global伪指令声明一个符号位全局的,全局符号可以被其他的文件引用,用该伪指令声明一个程序的main过程,.,5,寻址直接寻址la$t0,var1把var1在主存中的地址拷贝到寄存器t0。var1可以是标签地址间接寻址lw$t2,($t0)把t0存放的地址处的字拷贝到t2中sw$t2,($t0)把t2中的字存储到t0中地址所指向的主存位置基址寻址lw$t2,4($t0)把t0中地址加4所得的地址所对应的主存中的字载入寄存器t2中,4为偏移量,.,6,数据定义名字:伪指令初始值,初始值.,.,7,.,8,数据定义的例子:,.,9,跳转(绝对地址)指令:JAL(Iump-and-Link):调用指令jallabel#$31=PC+8,jump在$ra=PC+8中保存返回地址并跳转到相应的过程JR(JumpRegister):返回指令jrRs#PC=Rs,将控制转移到任意地址跳转到在寄存器Rs(PC=Rs)中存储的地址所在指令jlabel#只能到达228个字节的页内指令目标地址的高4位是当前PC的高4位值JALR(Jump-and-LinkRegister)jalrRd,Rs#Rd=PC+8,PC=Rs在Rd=PC+8中存储返回地址,跳转到寄存器Rs(PC=Rs)中存储的地址所在过程,地址仅在运行时可知,.,10,分支(PC相对寻址)指令:PC+labelblabelgotolabelbeqs,t,labelif(s=t)gotolabelbeqls,t,labelif(s=t)gotolabel)beq可能分支变体,仅当分支放生时才执行延迟槽指令beqzs,labelif(s=0)gotolabel,可能分支变体beqzlbgezs,labelif(s=0)gotolabelbgtzs,labelif(s0)gotolabelbnes,t,labelif(s!=t)gotolabel,可能分支变体bnelbnezs,labelif(s!=0)gotolabel,可能分支变体bnezlblezs,labelif(s=0)gotolabel),可能分支变体blezlbltzs,labelif(s0)gotolabel),可能分支变体bltzl,.,11,存储器访问lwt,addrt=*(int*)addr),32位加载,64位CPU上符号扩展lwlt,addr向左加载一个字,非对齐加载lwrt,addr向右加载一个字lhd,addr16位加载,符号扩展到整个寄存器,d=*(signedshort*)addr)lhud,addr16位加载,零扩展到整个寄存器,d=*(unsignedshort*)addr)lbud,addr8位加载,零扩展到整个寄存器,d=*(unsignedchar*)addr)lbd,addr8位加载,符号扩展到整个寄存器,d=*(signedchar*)addr)lwc2cd,addr32位加载到协处理器2寄存器,如果实现了的话,很少见lwxc1fd,t(b)采用索引(寄存器+寄存器)地址加载32位浮点,常写为l.s,fd=*(float*(t+b),.,12,lid,j将常数j的值放入到寄存器d中luit,u(LoadUpperImmediat)上位加载立即数(常数u符号扩展到64位寄存器),t=u16ldc1d,addr64位加载协处理器1(浮点)寄存器,常写成l.dldc2d,addr64位加载协处理器2寄存器,如果采用了协处理器2并且宽度为64位的话ll(loadlinked)和sc(storeconditional)组成原子操作:lld,off(b)sct,off(b)ll从内存读取一个字,以实现接下来的RMW操作,sc向内存中写入一个字,以完成前面的RMW操作。“lld,off(b)”指令执行后,处理器会记住ll操作,“sct,off(b)”会检查上次ll指令执行后的RMW操作是否是原子操作(不存在其他对这个地址的操作),若是,t的值会被更新到内存中,同时t的值变为1,表示操作成功;若不是,t的值不会被更新到内存,同时t的值变为0,表示操作失败。,.,13,swt,addr*(int*)addr)=t,存储一个字sbt,addr*(char*)addr)=tsht,addr*(short*)addr)=tswc1ft,addr存储单精度浮点数到内存swc2ft,addr存储协处理器2寄存器的32位数据sdc1ft,addr存储双精度寄存器到存储器,常写成s.dsdc2cs,addr存储64位协处理器2寄存器到存储器,.,14,算术及逻辑指令addud,s,td=s+taddiud,s,jd=s+(signed)jsubd,s,td=s-t,溢出时自陷subud,s,jd=s-j;addiud,s,-jdivd,s,t有符号32位除法指令,在被零除和溢出条件下发生异常divu$zero,s,tnochecks,lo=s/t,hi=s%tmults,thilo=(signed)s*(signed)tandd,s,td=s&tandd,s,j(andid,s,j),d=s&(unsigned)j,仅用于0(t%32)sravd,s,tsrad,s,tsrld,s,shfd=(unsigned)sshf,shift-rightlogical,逻辑右移,类似C的无符号量的移位srld,s,td=(unsigned)s(t%32)srlvd,s,tsrld,s,tsltd,s,td=(signed)s(signed)t)?1:0(setonlessthan)sltud,s,td=(unsigned)s(unsigned)t)?1:0sltid,s,jd=(signed)s=(signed)j)exception(TRAP)tgeus,tif(unsigned)s=(unsigned)t)exception(TRAP)tgeus,jif(unsigned)s=(unsigned)j)exception(TRAP)tnes,tif(t!=s)exception(TRAP)tneis,jif(s!=j)exception(TRAP)tlts,tif(signed)s(signed)t)exception(TRAP)tltis,jif(signed)s(signed)j)exception(TRAP)tltus,jif(unsigned)s(unsigned)j)exception(TRAP)udi9d,r,s,uc在为用户自定义指令保留的指令编码空间内构建指令。这种指令可以采用三个通用寄存器指令,还可以有用于用户逻辑的5位辅助操作码ucwait(MIPS32指令,进入某种断电状态。通常通过中止执行直到检测到中断实现。Wait指令应当从空转循环中调用),.,19,溢出(有符号数)两个正数相加,如果结果为负数,就产生了溢出。两个负数相加,如果结果为正数,就产生了溢出。换个角度来说:正数-负数=负数,就产生了溢出。负数-正数=正数,就产生了溢出。,.,20,无符号数会出错的地方:1、两个数相加超出了数所能表示的大小,产生进位2、小整数减大整数,会借位,.,21,对CP0的主要操作有以下的指令:mfhi/mflort(MoveFromHi/Lo)将CP0的hi/lo寄存器内容传输到rt通用寄存器中;mthi/mtlort将rt通用寄存器内容传输到CP0的hi/lo寄存器中;当MIPS体系结构演进到MIPSIV的64位架构后,新增了两条指令dmfc0和dmtc0,向CP0的寄存器中读/写一个64bit的数据mtc0t,cd把32位数据从通用寄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 军队文职人员招聘《仓库保管员》预测试卷四
- 2025年国家外汇管理局招聘笔试高频错题及答案
- 2024-2025学年广东省深圳市罗湖区七年级(下)期末历史试卷
- 机关食堂面点师招聘面试经典题及答案
- 2025合同法规定解除合同的条件与程序
- 2017-2018学年高一历史北师大版必修一学案第二单元近代中国的反侵略反封建斗争和民主革命学案7
- 2025年:以案例为鉴分析国际销售合同的注意事项与风险管理
- 2025联合经营合同范本
- 商业网络系统集成服务合同书
- 农业资源高效利用技术合作合同
- 销售过程管理培训课件
- 医院医保智能审核与规则解释
- 篮球裁判员手册
- JJF(新) 146-2024 可燃气体和有毒气体检测报警控制系统校准规范
- 电焊工安全用电培训
- 安宁疗护服务规范
- 《高血压的护理常规》课件
- 2025年广西广投智能科技有限公司招聘笔试参考题库含答案解析
- 《细胞信号与分子通路》课件
- 妇产科护理技能实训 课件 2.2.2产前会阴清洁与消毒
- 《更年期的中医调理》课件
评论
0/150
提交评论