今天调试程序,发现在windows和Linux下,diab编译的结果不一样,一个能跑一个不能跑。最后定位到了函数跳转上。

程序代码里的函数跳转写的是BAL,在windows下编译结果正常,在Linux下不正常。

在Linux下,把跳转指令改成了JAL,程序执行就对了。

从网上找了找相关资料,有说看See Mips Run的。在里面找到了一句话:“跳转调用指令,即JAL,注意不是BAL,后者属于分支调用。“

可以看出来,如果跳函数的话,还是要用JAL比较对。

转载于:https://www.cnblogs.com/elta/p/3413742.html

MIPS 跳转指令BAL vs JAL相关推荐

  1. linux mips汇编指令集,MIPS汇编与指令

    一.MIPS寄存器 MIPS的系统结构及设计理念比较先进,其指令系统经过通用处理器指令体系MIPS I.MIPS II.MIPS III.MIPS IV.MIPS V,以及嵌入式指令体系MIPS16. ...

  2. 【Android 逆向】函数拦截实例 ( ② 插桩操作 | 保存实际函数入口 6 字节数据 | 在插桩的函数入口写入跳转指令 | 构造拼接桩函数 )

    文章目录 前言 一.函数拦截需要的几个参数 二.插桩前先保存实际函数入口 6 字节数据 三.在插桩的函数入口写入跳转指令 | 构造拼接桩函数 前言 [Android 逆向]函数拦截实例 ( 函数拦截流 ...

  3. 【Android 逆向】函数拦截 ( GOT 表拦截 与 插桩拦截 | 插桩拦截简介 | 插桩拦截涉及的 ARM 和 x86 中的跳转指令 )

    文章目录 一.GOT 表拦截与插桩拦截 二.插桩拦截简介 三.插桩拦截涉及的 ARM 和 x86 中的跳转指令 一.GOT 表拦截与插桩拦截 函数拦截有 222 种方式 : 使用 GOT 表进行函数拦 ...

  4. 汇编--条件跳转指令

    条件跳转指令很多,支持根据有符号.无符号整数的比较以及对CPU状态标志的检查进行跳转的一系列指令. 根据特定的标志的 根据两操作数是否相等,或根据(E)CX的值是否相等 基于无符号操作数的比较结果的 ...

  5. ARM汇编:汇编语言跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等

    跳转指令分三类: 一.无条件跳转: JMP; 二.根据 CX.ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转).JECXZ(ECX 为 0 则跳转); 三.根据 EFLAGS 寄存器的标志位 ...

  6. arm 跳转指令跳转范围

    B 和 BL 指令都是 相对跳转(短跳转) 指令,通过偏移量跳转, 最大跳转距离是 ±32M 使用 mov pc, <>可以实现 对跳转(长跳转)(不会保存当前 PC 值) 关于B指令和B ...

  7. jsp基础语法【05】_跳转指令

    跳转的作用: 使用跳转指令可以将一个用户的请求,从一个页面传递到另外一个页面. 例如:用户登录QQ空间,如果用户名和密码正确的话就会跳转到空间首页,否则就会跳转到失败页. 跳转指令的语法: 不传递参数 ...

  8. 8086CPU跳转指令

    跳转原理: 修改cs:ip 或 ip的值 指令格式: 指令 标号 跳转分类: 段内跳转 段间跳转(短转移:-128到127.近转移-32768到32767,补码表示) 跳转指令分类: 1.无条件跳转 ...

  9. 西门子stl语言指令_STEP7项目的JL跳转指令你会用吗?

    引言: 昨天测试一个PDF文档中的STL程序,照着录入后,竟然在程序保存的时候就出错了,不能保存!研究了一下发现是JL指令的使用造成的,所以今天写篇文章来聊一下,STEP7项目STL编程中的JL 跳转 ...

最新文章

  1. cnn stride and padding_CNN中的stride、kernel、padding计算
  2. 13.MATLAB的while、for、break、continue循环操作
  3. [跟我学中小企业架构部署]之八:备份服务器部署
  4. Oracle --JOB
  5. 公司危机、下岗困局、不受重视,程序员该如何面对职场挫折?
  6. 漫谈 Clustering (番外篇): Expectation Maximization
  7. 火狐linux ubuntu16.04,在Ubuntu16.04系统上更新FireFox浏览器(即火狐浏览器)到最新版本...
  8. gbadev上的资料搬运贴
  9. Google发布了Google Sketchup,完全免费
  10. 翻译软件安装linux,一天学一招---安装翻译软件星际译王
  11. rockchip eDP 配置
  12. 专利检索常用的十八个网站
  13. [TypeScript] 编程实践之1: Google的TypeScript代码风格3:类型
  14. php账单明细功能怎么实现,php 处理微信账单
  15. #让我们用python跑回归#Fama-French三因素模型(一)
  16. JavaWeb(4)JavaScript高级
  17. HTML-CSS笔记
  18. 使用charles修改服务器返回数据,Charles使用part4——修改网络请求
  19. 哪类数字域名更优秀?数字域名价值高吗?
  20. 浅谈node结合express第三方插件使用跨域

热门文章

  1. oracle10503事件,使用10203事件来跟踪oracle块清除
  2. SpringMVC笔记-尚硅谷(杨博超)
  3. linux多磁盘合并,挂载到相同文件夹
  4. 51单片机驱动HMI串口屏,串口屏的下载方式
  5. R语言矩阵特征值分解(谱分解)和奇异值分解(SVD)特征向量分析有价证券数据
  6. VSCode搭建Spring Boot项目
  7. Vue + el-menu刷新选中 + 路由监听 + 路由重复点击
  8. 【python】Python实现模拟按键切换浏览器标签
  9. MacBook M1 ARM 框架 Android开发环境配置
  10. Struts中ActionForm的生命周期