ASM:减少特定地址的内容



我需要在给定地址(从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"中会有哪些字节,所以我无法移动"结果"到地址,我真的必须递减。

我认为这应该有效:

dec byte ptr [esi+13]

最新更新