91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文看懂匯編語言中有效地址和偏移地址的區別

姚小熊27 ? 來源:網絡整理 ? 2018-04-16 09:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

匯編中偏移地址的理解

偏移地址也稱為偏移量,由于8086/8088CPU內部的ALU只能進行16位(16進制的話4X4,用4位表示,0x0000-0xFFFF)的運算,而8086/8088有20(16進制的話4X5,用5位表示,0x00000-0xFFFFF)條地址線。為了方便只能進行16運算的8086/8088CPU,于是我們便將5位變成兩個4位,也即把物理地址分成段地址和偏移地址,如下圖所示:

一文看懂匯編語言中有效地址和偏移地址的區別

那么通過段地址和偏移地址怎么得到物理地址呢?

物理地址=段地址*16(10進制)+偏移地址。(2進制的話,也就是段地址《《4|偏移地址)。

有效地址的理解

有效地址EA是一16位無符號數,表示操作數所在單元到段首的距離即邏輯地址的偏移地址。當操作數是存放在存儲器中時,存儲器的存儲單元的物理地址有兩部分組成。一部分是偏移地址;一部分是段地址。在8086/8088的各種尋址方式中,尋找存儲單元所需的偏移地址可由各種成分組成,稱為有效地址,用EA表示。可以通過存儲器尋址方式獲得有效地址。

有效地址可以由幾部分組成:基址寄存器內容、變址寄存器內容、比例因子和位移量。

如何由有效地址求得物理地址

物理地址指CPU尋址主存時使用的20位地址,它確定了某一實際位置的內存單元。(2分)內存單元物理地址可由段址和段內的偏移量確定。內存單元在段內的偏移量稱為有效地址(EA)。

物理地址=段址×16+段內的偏移量。

一文看懂匯編語言中有效地址和偏移地址的區別

有效操作地址尋址方式

根據指令內容確定操作數地址的過程稱為尋址。完善的尋址方式可為用戶組織和使用數據提供方便。

①直接尋址:指令地址域中表示的是操作數地址。

②間接尋址:指令地址域中表示的是操作數地址的地址即指令地址碼對應的存儲單元所給出的是地址A,操作數據存放在地址A指示的主存單元內。有的計算機的指令可以多次間接尋址,如A指示的主存單元內存放的是另一地址B,而操作數據存放在B指示的主存單元內,稱為多重間接尋址。

③立即尋址:指令地址域中表示的是操作數本身。

④變址尋址:指令地址域中表示的是變址寄存器號i和位移值D。將指定的變址寄存器內容E與位移值D相加,其和E+D為操作數地址。許多計算機具有雙變址功能,即將兩個變址寄存器內容與位移值相加,得操作數地址。變址尋址有利于數組操作和程序共用。同時,位移值長度可短于地址長度,因而指令長度可以縮短。

⑤相對尋址:指令地址域中表示的是位移值D。程序計數器內容(即本條指令的地址)K與位移值D相加,得操作數地址K+D。當程序在主存儲器浮動時,相對尋址能保持原有程序功能。此外,還有自增尋址、自減尋址、組合尋址等尋址方式。尋址方式可由操作碼確定,也可在地址域中設標志,指明尋址方式。

匯編語言中有效地址和偏移地址的區別

在8086的機子上,有效地址=段地址左移4位+偏移地址,偏移地址與有效地址是一樣的。但是就ibm的硬件來說,他們的尋址方式也分為2種,一是實地址尋址方式,另一種是保護虛地址尋址方式。此兩種尋址方式非常不同,在8086的機子上,有效地址=段地址左移4位+偏移地址,因為它只有實地址尋址方式,而在286之后,就存在虛地址尋址方式,這就涉及到有關段以及描述符,描述符表,和其他的問題,請您自己參見有關接口的書。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 偏移地址
    +關注

    關注

    0

    文章

    3

    瀏覽量

    7553
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    #硬聲創作季 匯編語言(7)段地址偏移地址和物理地址

    編程語言匯編語言
    Mr_haohao
    發布于 :2022年08月29日 23:06:47

    匯編語言(7)段地址偏移地址和物理地址#硬聲創作季

    匯編語言匯編
    電子學習
    發布于 :2022年11月12日 12:00:47

    請問arm的匯編語言中有沒有什么指令可以達到上述效果的?

    問題:單片機中的匯編語言可以用ORG指定外部中斷的標號地址比如:ORG0003HJMPINT_0那arm的匯編語言中有沒有什么指令可以達到上述的效果
    發表于 06-27 05:02

    請問.C語言中可以嵌套匯編語言嗎?

    .C語言中可以嵌套匯編語言
    發表于 09-20 05:55

    請問C語言中可以嵌套匯編語言嗎?

    C語言中可以嵌套匯編語言
    發表于 09-25 05:55

    有效地址是什么?形式地址又是什么?有何區別

    有效地址是什么?形式地址又是什么?有何區別?補碼加減法是指什么?
    發表于 07-16 11:33

    什么是匯編語言

    基于C++寶典的學習、什么是匯編語言匯編語言種功能很強的程序設計語言,也是利用了計算機所有硬件特性并能直接控制硬件的
    發表于 07-19 06:05

    匯編語言自學教程

    匯編語言自學教程 匯編語言(AssemblyLanguage)是面向機器的程序設計語言。在匯編語合中,用助記符(Memoni)代替操作碼,用地址
    發表于 03-15 14:24 ?511次下載

    匯編語言詳解

    匯編語言(Assembly Language)是面向機器的程序設計語言。   匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替
    發表于 06-30 10:28 ?4381次閱讀

    Linux中的匯編語言

    在閱讀Linux源代碼時,你可能碰到匯編語言片段,有些匯編語言出現在以.S為擴展名的匯編文件中,在這種文件中,整個程序全部由匯編語言組成
    發表于 04-07 20:43 ?55次下載

    C語言匯編語言混合編程方法和C語言中斷處理方法

    C語言匯編語言混合編程方法和C語言中斷處理方法,new
    發表于 01-06 14:36 ?36次下載

    什么叫偏移地址_偏移地址怎么計算

    本文開始介紹了什么是偏移地址或概念,其次介紹了偏移地址的計算方法及段地址偏移
    的頭像 發表于 04-16 09:42 ?10.9w次閱讀
    什么叫<b class='flag-5'>偏移</b><b class='flag-5'>地址</b>_<b class='flag-5'>偏移</b><b class='flag-5'>地址</b>怎么計算

    高級語言匯編語言_機器語言區別

    本文首先介紹了高級語言的優缺點、匯編語言的優缺點及使用匯編語言的理由,其次介紹了機器語言的優缺點,最后闡述了高級語言
    的頭像 發表于 04-16 10:28 ?3.1w次閱讀

    匯編語言中常用的偽指令

    匯編語言中除常用指令外,還有些用來對“匯編”過程進行控制、或者對符號、標號賦值的指令。在匯編過程中,這些指令不被翻譯成機器碼,因此稱為“偽指令”。
    發表于 11-11 10:03 ?8112次閱讀
    <b class='flag-5'>匯編語言中</b>常用的偽指令

    Windows環境下32位匯編語言中文資料

    電子發燒友網站提供《Windows環境下32位匯編語言中文資料.rar》資料免費下載
    發表于 06-30 15:14 ?0次下載
    主站蜘蛛池模板: 六月丁香激情 | 日日爱夜夜爱 | 国产三级在线观看 | www.夜夜 | 成人国产精品毛片 | 色盈盈| 国产香蕉视频在线播放 | 国模在线观看 | 国产精品久久久久国产精品三级 | 亚洲黄色网址大全 | 国产福利萌白酱喷水视频铁牛 | 狂野欧美激情性xxxx | 日本老师xxxxxxxxx79 | 综合7799亚洲伊人爱爱网 | 午夜h| 不卡一区| 加勒比综合| 久久久精品免费 | 午夜激情啪啪 | 5151四虎永久在线精品免费 | 四虎影视最新地址 | 亚洲第一在线 | 欧美一区二区三区不卡视频 | 日本免费高清 | 日本拍拍拍 | 日本一卡精品视频免费 | 夜夜se| 热久久最新视频 | 看片久久 | 国产精品久久久久久久成人午夜 | 天天干b | 美女视频久久 | 男男gay高h文 | 视频一本大道香蕉久在线播放 | 亚洲成a人片在线观看www | 欧美黄色录象 | 久久天天躁夜夜躁狠狠85麻豆 | 午夜视频网站在线观看 | 欧美一区二区三区免费高 | 热久久久久久 | 理论在线视频 |