Gun*_*one 2 x86 assembly x86-16
我是 x86 架构和汇编的初学者,这是一个代码片段,其下面包含步骤。
我知道 si 是源索引,它充当数组的索引。
突出显示的行表明正在向其中添加 2,但答案表明我们仅向上移动索引 1。
我确信我的解释是错误的,如果有人能解释发生了什么,那将会有很大帮助!
汇编新手友好的词汇首选!
小智 5
发生这种情况是因为array中的数据被视为与si中的索引不同的类型。
由于array是用dw(数据字,16 位元素)声明的,并且si是一个以字节(8 位)为基础索引内存的指针,si因此对于您希望遍历的每个字索引必须采取两个“步骤”。否则,您最终会在数组中每个字的高位字节和低位字节之间交替。
在计算机科学术语中,x86 是字节可寻址的,并且数组元素是多字节的。