【问题标题】:ASM: Decrement content of specific addressASM:减少特定地址的内容
【发布时间】:2013-06-25 18:58:38
【问题描述】:

我需要在给定地址(从 esi 索引)的堆栈上/从堆栈中减少一些字节。

pop esi ; 

现在换不成问题,我就可以了

mov [esi+13], al ;

将来自 al 的内容存储在 esi+13 中。

但是我怎样才能减少“esi+13”中的内容。

例如esi+13 的值 = 0xFF → esi+13 的新值 = 0xFE。

我尝试了不同的方法,例如

dec [esi+13] ;
sub [esi+13], 1; 
dec esi+13; 

等等,但我没有找到解决办法。

我不知道“esi+13”中有哪些字节,所以我无法移动“结果” 到地址,我真的要减量。

【问题讨论】:

  • 你是什么意思你不能将结果移动到你在esi中有指针的位置?我可以理解您为什么不想要一步一步地这样做,但它应该可能

标签: assembly stack decrement indexed


【解决方案1】:

我认为这应该可行:

dec byte ptr [esi+13]

【讨论】:

  • 感谢您的想法。使用 nasm 它只是“dec byte [esi+13]” :)
猜你喜欢
  • 1970-01-01
  • 2014-01-03
  • 1970-01-01
  • 2020-09-19
  • 2018-01-25
  • 2017-11-06
  • 2020-10-23
  • 1970-01-01
  • 2013-12-31
相关资源
最近更新 更多