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