mov.b指令中的负操作数

低音

我目前正在努力解决微腐败CTF中的河内问题。该CTF专注于MSP430系列(RISC,16位)。

我偶然发现以下几行:

445c:  c443 fcff      mov.b #0x0, -0x4(r4)
.
.
.
4472:  5f44 fcff      mov.b -0x4(r4), r15

Wich包含引用(r4)前面的负操作数的移动指令。我假设这将指向r4中存储的内容之前的寄存器(前面有两个字),但是从内存转储来看,这种假设似乎是不正确的。

我使用https://www.ti.com/lit/ug/slau049f/slau049f.pdf作为参考,第3-52页是对mov.b的参考。

请准确填写此处发生的情况,或者给我一些关键字进行搜索。

任何帮助表示赞赏!

PS:请不要破坏如何解决此阶段,我想自己想办法。谢谢!

低音

正如Peter Cordes在评论中指出的那样,我最初的想法是正确的。(即使措辞不正确)

存储在内存地址中的值等于r4中存储的值加上偏移量-4的总和,然后通过 寄存器加-4(偏移量)递减存储在r15中。就是这样。


例:

如果

r4 = 0x43FC和0x43F8 = 0xAB

指令

mov.b -0x4(r4), r15

将导致值0x43FC-0x4 = 0x43F8

在此地址处,将存储0xAB。

结果:

r15 = 0xAB

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mov指令奇怪的目标操作数

来自分类Dev

“mov”的操作数类型不匹配

来自分类Dev

PIN:识别MOV和间接内存操作数

来自分类Dev

汇编“ mov”指令

来自分类Dev

组装MOV指令

来自分类Dev

组装MOV指令

来自分类Dev

汇编 mov 指令输出

来自分类Dev

mov 指令中的分段错误

来自分类Dev

gcc内联汇编错误“ mov的操作数类型不匹配”

来自分类Dev

gcc内联汇编错误“ mov的操作数类型不匹配”

来自分类Dev

构建Linux Kernel 2.6.10时出错,错误:“ mov”的操作数类型不匹配

来自分类Dev

LEA和MOV指令比较

来自分类Dev

LEA和MOV指令比较

来自分类Dev

汇编指令 MOV BL,0

来自分类Dev

MOV vs MOV.B汇编语言说明

来自分类Dev

MOV BYTE PTR指令如何工作?

来自分类Dev

'mov'的指令后缀无效(movw%ax,%ebx)

来自分类Dev

扩展的asm:“ mov”的无效指令后缀

来自分类Dev

'mov'的指令后缀无效(movw%ax,%ebx)

来自分类Dev

解决x86中mov指令的问题

来自分类Dev

mov bl在组装中做什么

来自分类Dev

装配mov,位置存储在变量中

来自分类Dev

PADDD指令的操作数

来自分类Dev

x86中未使用或使用最少的MOV指令,可用于自定义MOV扩展

来自分类Dev

使用x86 mov指令实现C语言转换

来自分类Dev

x86 mov /添加指令和内存寻址

来自分类Dev

为什么 mov 指令没有正确执行?

来自分类Dev

mov 指令不能以其他方式工作

来自分类Dev

操作`mov [esp-4],eax`添加附加字节