Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly mov指令是否将数据从寄存器移动到内存_Assembly_Masm_Cpu Registers_X86 16 - Fatal编程技术网

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代码中使用)吗?