官术网_书友最值得收藏!

Copying data

The MOV  instruction is used to move data. With this, data is moved either to or from a register or a memory address.

mov eax, 0xaabbccdd  places the 0xaabbccdd value in the eax register.

mov eax, edx places the data value from theedx register to the eax register.

Let's take the following memory entries as an example:

Address   Bytes
00000060: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
00000070: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
00000080: 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
00000090: 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F

Reading data may require using directives to help the assembler. We use byte ptr, word ptr, or dword ptr:

; the following lines reads from memory
mov al, byte ptr [00000071] ; al = 71h
mov cx, word ptr [00000071] ; cx = 7271h
mov edx, dword ptr [00000071] ; edx = 74737271h

; the following lines writes to memory
mov eax, 011223344h
mov byte ptr [00000080], al ; writes the value in al to address 00000080
mov word ptr [00000081], ax ; writes the value in ax to address 00000081
mov dword ptr [00000083], eax ; writes the value in eax to address 00000083

The memory will look like this afterward:

00000060: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 
00000070: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
00000080: 44 44 33 44 33 22 11 87 88 89 8A 8B 8C 8D 8E 8F
00000090: 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
主站蜘蛛池模板: 鄯善县| 青浦区| 岳西县| 镇宁| 社会| 商水县| 胶州市| 浦江县| 益阳市| 清流县| 双桥区| 东乌珠穆沁旗| 西华县| 武威市| 江孜县| 视频| 昂仁县| 金川县| 中方县| 乌什县| 龙里县| 青河县| 科技| 城步| 苏尼特右旗| 肥城市| 宁城县| 彰武县| 铅山县| 宿迁市| 错那县| 孙吴县| 鱼台县| 万山特区| 三河市| 武义县| 临西县| 应用必备| 兴国县| 赤峰市| 双辽市|