最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

8086匯編語言nasm版本

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

實模式和保護(hù)模式

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

從顯示字符串開始

屏幕有 25列X80行

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

顯存地址空間:

0xB8000~0xBFFFF

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

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

mov byte [0x00],'L'

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

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

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

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

初始化段寄存器ES

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

顯示標(biāo)號的匯編地址

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

在程序中聲明并初始化數(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ù)字默認(rèn)存放在al中,另外一個數(shù)字存放在其他8位寄存器中或者字節(jié)型內(nèi)存單元中。

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

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

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

獲取字符串長度

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

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

總結(jié)

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

相關(guān)文章

最新評論

盐城市| 崇文区| 台中县| 奉新县| 获嘉县| 昭觉县| 福州市| 高阳县| 山阴县| 红原县| 师宗县| 延庆县| 阜南县| 缙云县| 临安市| 宁河县| 武隆县| 泽州县| 明溪县| 黔西| 汉沽区| 江孜县| 宜君县| 贵定县| 三都| 霍林郭勒市| 新乡县| 台山市| 察雅县| 诸城市| 新民市| 鲜城| 屯留县| 彰化县| 义马市| 蛟河市| 新密市| 河西区| 新绛县| 汝南县| 偏关县|