日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

32位汇编基础_内存_每个应用进程都会有自己独立的4GB内存空间

發布時間:2025/7/25 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 32位汇编基础_内存_每个应用进程都会有自己独立的4GB内存空间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、每個應用進程都會有自己獨立的4GB內存空間

?

這句話很多人聽起來可能會很矛盾很不解。

例如,我的電腦只有2GB的內存,打開個軟件機會占用4GB內存,而我的電腦內存只有2GB,顯然不夠用,但是為什么程序還能在我的電腦上流暢運行呢?因為程序占用的這4GB內存是一個空頭支票,知識口頭上說給你4GB內存,其實沒有全部給你,而是你用到多少就會從物理內存中給你多少。

2、內存地址

內存地址不像寄存器那樣只有幾個,內存地址有非常多所以起名字的時候都是用編號,每塊內存地址都有其唯一的編號,就像寄信的地址一樣,我們滅此用到這塊內存時都會根據它的地址去尋找這塊內存。

每個編號(內存地址)對應的內存塊的容量最少是8位,一個字節。

一個內存地址有32位。像0x00000000,是由8個16進制的數組成,1個16進制的數對應著4個2進制的位,所以4x8=32,一個內存地址有32位。

我們來算一下32位的內存空間有多大:

內存地址一共有多少個(包括0x00000000)  FFFFFFFF+1=100000000

16進制內存空間:              800000000

換算成十進制 Bit:             ?? 34359738368

Byte:                  ? 4294967296

KB:                    4194304

MB:                    4096

GB:                    4

現在你可以知道,32位的程序最大就是尋址空間就是4GB,所以每個程序占用4GB的內存空間。

向內存中存放數據

MOV? 指令

mov指令移動數據時要保證左右兩邊的數據寬度是一樣的。

絕大部分指令是不能把數據從內存移動到內存的。

(1)、立即數到內存

 ?? mov byte ptr ds:[0146FCF4],1

? ? 將立即數1,寫入內存地址為0146FCF4 的地方

  mov :指令

  byte:寫入數字的大小(1個字節)?? word:2個字節  dword:4個字節

  ptr ds:[] :寫入內存的哪個地址

  1??? :要寫入的數據

?

(2)、寄存器到內存

   mov dword ptr ds:[0146FCFC],esp

?  將esp寄存器里面的值寫入內存地址為014FCFC的內存空間

?

?

(3)內存到寄存器

?  mov esp,dword ptr ds:[0x0146FCF8]

?  將內存中的值存入寄存器。

?

轉載于:https://www.cnblogs.com/chuijingjing/p/9266959.html

總結

以上是生活随笔為你收集整理的32位汇编基础_内存_每个应用进程都会有自己独立的4GB内存空间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。