第007課 彙編-認識記憶體[]
內容綱要
1.容器
2.byte ptr;word ptr;dword ptr
3.mov dword ptr ds:[0x0012ff40],[0x0012ff80]
4.記憶體單元與記憶體單元之間不可以直接賦值
詳細內容
1.容器
暫存器與記憶體單元均可看作一個容器,容器有大小,它的儲存容量有限定。如:
mov ds:[0x0012ff40],eax 把eax的值賦給以0x0012ff40為首地址的4個位元組的記憶體單元
mov ds:[0x0012ff40],0x11223344 只改變了
2.byte ptr;word ptr;dword ptr
mov dword ptr ds:[0x0012ff40],0x11223344(四個位元組)
mov word ptr ds:[0x0012ff40],0x11223344(兩個節節)
mov byte ptr ds:[0x0012ff40],0x11223344(一個位元組)
3.mov dword ptr ds:[0x0012ff40],[0x0012ff80]
[0x0012ff80]前面沒有段暫存器,它表示的僅僅是一個立即數
一個記憶體單元的內容賦給另一個記憶體單元:
mov eax,dword ptr ds:[0x0012ff40]
mov dword ptr ds:[0x0012ff80],eax
4.記憶體單元與記憶體單元之間不可以直接賦值
Lea(LoadEffectiveAddress)的作用是獲取一個記憶體單元的編號給了暫存器
課堂練習
mov ds:[0x0012ff40],[0x0012ff80]
mov word ptr ds:[0x0012ff40],ds:[0x0012ff50]
mov dword ptr ds:[0x0012ff40],ds:[0x0012ff50]