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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

寄存器在哪里_二、汇编之寄存器

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 寄存器在哪里_二、汇编之寄存器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們想用匯編語言控制我們想控制的外設,就必須通過控制器發送控制命令,那這些控制命令存放在哪里,就放在CPU內部組成單元之一,寄存器里面。

1、CPU內部一般由4部分組成

(1)運算器:進行信息的處理

(2)寄存器進行信息的存儲

(3)控制器控制各種器件進行工作

(4)內部總線:進行內部器件間的數據交互 2、匯編指令舉例

2、物理地址的理解 物理地址顧名思義就是硬件內存單元的地址,CPU通過地址總線訪問物理地址。

物理地址(以8086CPU為例)=段地址*16+偏移地址

為了更好理解物理地址我們舉個例子

如上圖:

(1)從學校走2826米到圖書館,這2826米可以認為是圖書館的物理地址

(2)從學校走2000米到圖書館,從體育館再走826米到圖書館,第一個距離2000米,就是相對于起點的基礎地址,(起點就是我們內存地址的開始地址)第二個距離826米就是對基礎地址的偏移地址。

這就相當于 基礎地址 = 段地址*16, 物理地址=基礎地址+偏移地址

3、什么是寄存器?

段寄存器就是存儲段地址的內存,常用的段寄存器有:CS,DS,SS,ES.

我們主要用到 CS:IP這兩個寄存器,這兩個寄存器分別為 代碼段寄存器和指令指針寄存器,下圖簡單給出8086CPU讀取,執行指令的工作原理

如上圖我們我們通過 CS:IP找到物理地址-》然后通過地址加法器-》輸入輸出控制電路-》20為地址總線-》通過匯編取D8,23,01-》數據總線-》指令緩存器-》執行控制器-》AX通用寄存器,就是這樣一個執行過程。

4、DS段寄存器的應用

mov bx,1000H

mov ds.bx

mov al,[0]

上面3條指令將1000H(1000:0)中的數據讀到al中

5、棧

每個平臺的CPU都有自己的棧的設計,8086CPU也不例外,棧的形式是LIFO后進先出,PUSH表示如棧,POP表示出棧。如:push ax 把寄存器 ax的數據送入棧中,pop ax把棧中的數據取出來賦值給ax,8086棧操作是以字為單位的,也就2個字節。

下圖為8086CPU對push指令的執行過程

8086CPU對pop指令的執行過程如下圖

總結

以上是生活随笔為你收集整理的寄存器在哪里_二、汇编之寄存器的全部內容,希望文章能夠幫你解決所遇到的問題。

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