CPU要讀取一個內存單元的時候,必須先給出這個內存單元的地址;spa
在8086PC中,內存地址由段地址和偏移地址組成。內存
8086CPU中有一個DS寄存器,一般用來存放要訪問的數據的段地址。程序
mov al,[0] mov已知的功能:im
1 將數據直接送入寄存器數據
2 將一個寄存器中的內容送入另外一個寄存器中。img
3 將一個內存單元中的內容送入一個寄存器。co
8086CPU不支持將數據直接放入段寄存器DS中。實例
將數據從寄存器寫入內存單元:
mov bx,1000H
mov ds,bx 將段地址設置爲ds中的地址
mov [0],cx cx中的16位數據送到1000:0處
mov ax,[0] 1000:0處的字型數據送入ax
mov 寄存器,段寄存器 也是能夠的...
將一組長度爲N(N<=64K)、地址連續、起始地址爲16的倍數的內存單元看成專門存儲數據的內存空間,從而定義了一個數據段
簡單的實例:
簡單的程序分析:
1 字在內存中存儲時,要用兩個地址連續的內存單元來存放,字的低位字節存放在低地址單元中,高位字節存放在高地址單元中。
2 用mov指令要訪問內存單元,能夠在mov指令中只給出單元的偏移地址,此時,段地址默認在ds寄存器中。
3 【address】表示一個偏移地址爲address的內存單元。