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

8086匯編語言nasm版本

 更新時間:2020年01月19日 11:19:39   作者:crabstew  
這篇文章主要介紹了8086匯編語言nasm版本,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

實模式和保護模式

在計算機上面,實模式存在的時間非常之短,所以一般我們是感覺不到它的存在的。CPU復位(reset)或加電(power on)的時候就是以實模式啟動,在這個時候處理器以實模式工作,不能實現(xiàn)權(quán)限分級,也不能訪問20位以上的地址線,也就是只能訪問1M內(nèi)存。之后一般就加載操作系統(tǒng)模塊,進入保護模式

從顯示字符串開始

屏幕有 25列X80行

列和行從0開始計數(shù)

顯存地址空間:

0xB8000~0xBFFFF

屏幕上的每個字符對應著顯存中的兩個連續(xù)字節(jié),前一個是字符的ASCII代碼,后面是字符的顯示屬性,包括字符顏色(前景色)和底色(背景色)

一般情況下,如果沒有附加任何指示,段地址默認在段寄存器DS中。比如

mov byte [0x00],'L'

使用ES作為段地址的情況:

mov byte [es:0x00],'L'

使用方括號括起來的原因:目的操作數(shù)給出的是一個內(nèi)存地址,我們要用源操作數(shù)來修改這個地址里的內(nèi)容,所以,目的操作數(shù)必須用方括號圍起來,以表明它是一個地址。

關(guān)鍵字byte用來修飾目的操作數(shù),指出本次傳送是以字節(jié)的方式進行的。

初始化段寄存器ES

mov ax,0xb800
mov ex,ax ;不能直接將立即數(shù)移到段寄存器中

顯示標號的匯編地址

在源程序的編譯階段,編譯器會把源程序整體上作為一個獨立的段來處理,并從0開始計算和跟蹤每一條指令的地址。
在NASM匯編語言里,每條指令的前面都可以擁有一個標號,以代表和指示該指令的匯編地址。

在程序中聲明并初始化數(shù)據(jù)

db byte 0,0,0,0,0

代表聲明了5個字節(jié),并初始化為0

db,dw,dd,dq不是處理器指令,它指示編譯器提供的匯編指令,所以稱做偽指令。

訪問操作數(shù)

在 nasm 語法里,對 memory 操作數(shù)需要加 [ ] 括號

常用運算符積累

mul

兩個相乘數(shù),要么都是8位,要么都是16位。 8位乘法,16位乘法。

如果是8位,一個數(shù)字默認存放在al中,另外一個數(shù)字存放在其他8位寄存器中或者字節(jié)型內(nèi)存單元中。

如果是16位,一個數(shù)字默認存放在ax中,另外一個數(shù)字存放在其他16位寄存器中或者字型內(nèi)存單元中。

結(jié)果: 8位乘法,得到一個16位數(shù), 結(jié)果存放在ax中

16位乘法,得到一個32位數(shù), 低16位存放在ax中,高16位存放在dx中

獲取字符串長度

string db '你的字' 
len_string equ $ - string

$就是當前地址,$-string 就是當前地址減去string的初始地址,即可得到string的長度。

總結(jié)

以上所述是小編給大家介紹的8086匯編語言nasm版本,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 匯編 函數(shù)調(diào)用的實現(xiàn)

    匯編 函數(shù)調(diào)用的實現(xiàn)

    這篇文章主要介紹了匯編 函數(shù)調(diào)用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • ARM匯編判斷之如何用匯編判斷數(shù)組中正負數(shù)個數(shù)

    ARM匯編判斷之如何用匯編判斷數(shù)組中正負數(shù)個數(shù)

    這篇文章主要介紹了ARM匯編判斷之如何用匯編判斷數(shù)組中正負數(shù)個數(shù),在匯編語言中程序的基本框架是不變的,這里我們可以直接把正向遍歷的程序給貼過來,然后我們思考怎么運用判斷后綴把數(shù)組中正數(shù)和負數(shù)分開,進行判斷個數(shù)和分別求和,需要的朋友可以參考下
    2022-04-04
  • 匯編語言中的各種寄存器介紹

    匯編語言中的各種寄存器介紹

    匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言.這篇文章主要介紹了匯編語言中的各種寄存器介紹,需要的朋友可以參考下
    2020-01-01
  • asm基礎(chǔ)——匯編指令之in/out指令

    asm基礎(chǔ)——匯編指令之in/out指令

    這篇文章主要介紹了asm基礎(chǔ)——匯編指令之in/out指令,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 匯編語言實現(xiàn)電子鬧鐘思路詳解

    匯編語言實現(xiàn)電子鬧鐘思路詳解

    這篇文章主要介紹了匯編語言實現(xiàn)電子鬧鐘思路詳解,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼

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

    這篇文章主要介紹了最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼。計算機真正能夠理解的是低級語言,它專門用來控制硬件。匯編語言就是低級語言,直接描述/控制?CPU?的運行。如果你想了解?CPU?到底干了些什么,以及代碼的運行步驟,就一定要學習匯編語言。
    2022-12-12
  • 匯編語言功能實現(xiàn)數(shù)據(jù)復制實例詳解

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

    這篇文章主要為大家介紹了匯編語言功能實現(xiàn)數(shù)據(jù)復制的實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 匯編語言 寄存器內(nèi)存訪問原理解析

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

    這篇文章主要介紹了匯編語言 寄存器內(nèi)存訪問原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 匯編語言80x86系統(tǒng)通用數(shù)據(jù)傳送指令詳解

    匯編語言80x86系統(tǒng)通用數(shù)據(jù)傳送指令詳解

    這篇文章主要為大家介紹了匯編語言80x86系統(tǒng)通用的數(shù)據(jù)傳送指令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 一文秒懂匯編中的循環(huán)問題

    一文秒懂匯編中的循環(huán)問題

    這篇文章主要介紹了一文秒懂匯編中的循環(huán)問題,通過每一行指令詳細分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04

最新評論