欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

匯編語言 寄存器內(nèi)存訪問原理解析

 更新時間:2020年01月19日 16:22:33   投稿:yaominghui  
這篇文章主要介紹了匯編語言 寄存器內(nèi)存訪問原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了匯編語言 寄存器內(nèi)存訪問原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

在內(nèi)存中字的存儲

這段話的主要意思是:一個字=2B=16bit,CPU中是用兩個內(nèi)存單元儲存一個字(假如獲取0地址存放的字型數(shù)據(jù),就是獲取它的高位字節(jié)0+1位和低位字節(jié)0位的數(shù)據(jù),數(shù)據(jù)由高地址位向低地址位讀)

問題:

(1)0地址單元中存放的字節(jié)型數(shù)據(jù)是多少?  # 20H

(2)0地址字單元中存放的字型數(shù)據(jù)是多少?  # 4e20H

(3)2地址字單元中存放的字節(jié)型數(shù)據(jù)是多少? # 12H

(4)2地址單元中存放的字型數(shù)據(jù)是多少?   # 0012H

(5)1地址字單元中存放的字型數(shù)據(jù)是多少?  # 12aEH

結(jié)論:就是我上面說的,字型數(shù)據(jù)就是它和它的下一位地址單元的數(shù)據(jù)(數(shù)據(jù)由高地址位向低地址位讀)

數(shù)據(jù)段寄存器DS和偏移量[address]

用法和cs和ip差不多,都是段寄存器的值*16+偏移量的值

為給DS數(shù)據(jù)段寄存器值

因為CPU的段寄存器都比較害羞,沒法給他們直接賦值(cs代碼寄存器用的是jmp cs:ip),所以段寄存器采用以下方法賦值

字的傳送

問題1:

內(nèi)存中的情況如下圖,寫出下面指令執(zhí)行后寄存器ax,bx,cx中的值?

解析:

問題2:

內(nèi)存中的情況如下圖,寫出下面指令執(zhí)行后寄存器ax,bx,cx中的值?

解析:

NB的move指令

sub,add指令

數(shù)據(jù)段

我們上面操作的實際上就是數(shù)據(jù)段,具體來看下是怎樣操作數(shù)據(jù)段的

累加123B0H~123BAH的內(nèi)存單元的操作

小結(jié):

(1)字在內(nèi)存中存儲時 ,要用兩個地址連續(xù)的內(nèi)存單元來存放,字的低位字節(jié)存放在低地址單元中,高位字節(jié)存放再高地址單元中。

(2)用 mov 指令要訪問內(nèi)存單元,可以在mov指令中只給出單元的偏移地址,此時,段地址默認(rèn)在DS寄存器中。

(3)[address]表示一個偏移地址為address的內(nèi)存單元。

(4)在內(nèi)存和寄存器之間傳送字型數(shù)據(jù)時,高地址單元和高8位寄存器、低地址單元和低8位寄存器相對應(yīng)。

(5)mov、add、sub是具有兩個操作對象的指令。jmp是具有一個操作對象的指令。


(2) 內(nèi)存中的情況如圖3.6所示

各寄存器的初始值:cs=2000h,ip=0,ds=1000h,ax=0,bx=0;

① 寫出CPU執(zhí)行的指令序列(用匯編指令寫出)。

② 寫出CPU執(zhí)行每條指令后,CS、IP和相關(guān)寄存器的數(shù)值。

③ 再次體會:數(shù)據(jù)和程序有區(qū)別嗎?如何確定內(nèi)存中的信息哪些是數(shù)據(jù),哪些是程序?

答案:我以為jmp了以后cp的值也會改變,實際上就是它jmp的內(nèi)個CP:IP

指令序列

CS

IP

DS

AX

BX

初始值

2000h

0

0

0

0

1

mov ax,6622h

2000h

3h

0

6622h

0

2

jmp 0ff0:0100

ff0h

100h

0

6622h

0

3

mov ax,2000h

ff0h

103h

0

2000h

0

4

mov ds,ax

ff0h

105h

2000h

2000h

0

5

mov ax,[8]

ff0h

108h

2000h

c389h

0

6

mov ax,[2]

ff0h

10bh

2000h

ea66h

0

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 匯編實現(xiàn)直接插入排序的方法示例

    匯編實現(xiàn)直接插入排序的方法示例

    這篇文章主要介紹了匯編實現(xiàn)直接插入排序的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編語言:比較指令、跳轉(zhuǎn)指令、JCC的使用

    匯編語言:比較指令、跳轉(zhuǎn)指令、JCC的使用

    這篇文章主要介紹了匯編語言:比較指令、跳轉(zhuǎn)指令、JCC的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編語言之寄存器(詳細(xì)介紹)

    匯編語言之寄存器(詳細(xì)介紹)

    這篇文章主要介紹了匯編語言之寄存器(詳細(xì)介紹),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-01-01
  • 匯編語言段定義的使用

    匯編語言段定義的使用

    匯編語言源程序的基本結(jié)構(gòu)是段,一個匯編語言源程序由若干個代碼段,本文主要介紹了匯編語言段定義的使用,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制實例詳解

    匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制實例詳解

    這篇文章主要為大家介紹了匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制的實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • 最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼

    最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼

    這篇文章主要介紹了最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼。計算機真正能夠理解的是低級語言,它專門用來控制硬件。匯編語言就是低級語言,直接描述/控制?CPU?的運行。如果你想了解?CPU?到底干了些什么,以及代碼的運行步驟,就一定要學(xué)習(xí)匯編語言。
    2022-12-12
  • 匯編語言 跳轉(zhuǎn)指令與C語言的條件分支

    匯編語言 跳轉(zhuǎn)指令與C語言的條件分支

    這篇文章主要介紹了匯編語言 跳轉(zhuǎn)指令與C語言的條件分支,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 匯編用串檢測scasb尋找數(shù)的位置實現(xiàn)

    匯編用串檢測scasb尋找數(shù)的位置實現(xiàn)

    這篇文章主要介紹了匯編用串檢測scasb尋找數(shù)的位置實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編語言入門教程阮一峰版

    匯編語言入門教程阮一峰版

    匯編語言是一種最低級、最古老、不具有移植性的編程語言,它能夠直接訪問計算機硬件,所以執(zhí)行效率極高,占用資源極少,一般用于嵌入式設(shè)備、驅(qū)動程序、實時應(yīng)用、核心算法等
    2020-01-01
  • C語言ASM匯編內(nèi)嵌語法詳解

    C語言ASM匯編內(nèi)嵌語法詳解

    這篇文章主要介紹了C語言ASM匯編內(nèi)嵌語法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01

最新評論