Assembly mov指令是否将数据从寄存器移动到内存
我想知道,当您在循环中使用从寄存器到内存的Assembly mov指令是否将数据从寄存器移动到内存,assembly,masm,cpu-registers,x86-16,Assembly,Masm,Cpu Registers,X86 16,我想知道,当您在循环中使用从寄存器到内存的mov指令时,它是否每次都会覆盖内存位置中已经存在的内容,还是只是添加到内存中 例如,如果al寄存器包含“2”,您将其移动到内存位置,然后再次移动,但这次al寄存器包含“9”,内存位置现在是否包含“9”或“29” MOV指令覆盖了目标。您如何向其添加,方法与cld相同;清除方向标志mov esi、偏移string1 mov edi、偏移string2 mov ecx、10 rep MOVSB,代码不会添加任何内容。它覆盖目标位置的10个字节,用源位置的1
mov
指令时,它是否每次都会覆盖内存位置中已经存在的内容,还是只是添加到内存中
例如,如果
al
寄存器包含“2”,您将其移动到内存位置,然后再次移动,但这次al
寄存器包含“9”,内存位置现在是否包含“9”或“29” MOV指令覆盖了目标。您如何向其添加,方法与cld相同;清除方向标志mov esi、偏移string1 mov edi、偏移string2 mov ecx、10 rep MOVSB,代码不会添加任何内容。它覆盖目标位置的10个字节,用源位置的10个字节替换。add指令用于添加,mov指令用于移动或复制值。当然,数据将是'9'
,但是'29'
是什么意思?如果执行加法,它不是'k'
(假设使用了ASCII码)还是'11'
(假设引号只是为了可读性,而不是在C代码中使用)吗?