日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3.寄存器(内存访问)

發布時間:2023/12/13 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.寄存器(内存访问) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • CPU中,用16位來存儲一個字。高8位存放高位字節,低8位存放低位字節。
  • 內存存儲中,內存單元是字節單元(1單元=1字節),則一個字要用兩個地址連續的內存單元存放。
  • 內存存儲中,高位字節,和低位字節是相對的,指令指向的是低位字節。
  • 字單元,即存放一個字型數據(16位=2字節)的內存單元,由兩個地址連續的內存單元組成。
  • 8086CPU中有一個DS寄存器,通常用來存放要訪問數據的段地址
  • MOV指令的幾種種功能:
    • 將數據直接送入寄存器 mov ax,1000H
    • 將一個寄存器中的內容送入另一個寄存器 mov ax,bx;mov ds,ax
    • 將一個內存單元中的內容送入寄存器 mov ax,[...]
    • 將寄存器中的內容送入內存單元 mov [...],ax
    • ...
  • “[...]”表示一個內存單元,“[...]”中的內容則表示內存單元的偏移地址。
  • 8086CPU中,不能給DS寄存器直接賦值,需要通過通用寄存器間接賦值,如“段地址-->通用寄存器-->DS寄存器”。
  • add指令表示相加,sub指令表示相減。
  • [address]便是一個偏移地址為address的內存單元。
  • mov、add、sub是具有兩個操作對象的指令。jmp是具有一個操作對象的指令。
  • 是一種具有特殊的訪問方式的存儲空間,它的特殊性就在于,先進后出的特性。
  • 8086CPU提供了入棧和出棧指令,最基本的兩個是PUSH(入棧)POP(出棧)。
  • 8086CPU的入棧和出棧操作都是以字(2字節)為單位進行的。
  • 8086CPU中,有兩個寄存器,段寄存器SS和寄存器SP,棧頂的段地址存放在SS中,偏移地址存放在SP中。
  • 任意時刻,SS:SP指向棧頂元素
  • PUSH入棧時,SP=SP-2(1字),棧頂從高地址向低地址方向增長,出棧時則SP=SP+2.
  • 棧為空時,棧中沒有元素,也就不存在棧頂元素,所以SS:SP只能指向最底部單元下面的單元
  • 8086CPU不能保證我們對棧的操作不會超界,它只知道棧頂在何處(有SS:SP指示),并不知道這個棧有多大。
  • push和pop指令可以有如下形式:
    • push? 寄存器
    • pop? ?寄存器
    • push??段寄存器
    • pop?? 段寄存器
    • push? 內存單元
    • pop?? 內存單元
  • 請靈活,仔細運用CS:IP(指令),DS:[...](數據),SS:SP(棧)
    • 對于數據段,將它的段地址放在DS中,用mov,add,sub等訪問內存單元的指令時,CPU就將我們第一的數據段內容當成數據來訪問。
    • 對于代碼段,將它的段地址放在CS中,將段中的第一條執行的指令的偏移地址放在IP中,這樣CPU就會執行代碼段中的指令
    • 對于棧段,將它的段地址放在SS中,將棧頂單元的偏移地址放在SP中,這樣CPU在需要進行棧操作時,比如push,pop指令時,就將棧段當成棧空間來用了。
  • 轉載于:https://www.cnblogs.com/zxj159/archive/2012/12/10/2811380.html

    總結

    以上是生活随笔為你收集整理的3.寄存器(内存访问)的全部內容,希望文章能夠幫你解決所遇到的問題。

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