匯編語(yǔ)言段定義的使用
段定義三步走
段定義
關(guān)鍵字:segment(開(kāi)始) ends(結(jié)束)
段名:不得超過(guò)八個(gè)字符。一般情況下,
- code 表示代碼段。
- data 表示數(shù)據(jù)段
語(yǔ)法
段名 segment 段名 ends
段關(guān)聯(lián)
關(guān)鍵字:assume
類(lèi)型:CS(代碼段)、DS(數(shù)據(jù)段)、SS(堆棧段)、ES(附加段)
語(yǔ)法:
assume 類(lèi)型:段名
例:定義一個(gè)代碼段 code,定義一個(gè)數(shù)據(jù)段 data
code segment assume cs:code,ds:data code ends data segment data ends
段傳送
傳送是將段中的數(shù)據(jù)傳到指定的段寄存器中。例如,講 data 中的數(shù)據(jù)傳到 DS 數(shù)據(jù)段中,在關(guān)聯(lián)的時(shí)候并沒(méi)有真正的傳遞數(shù)據(jù)。
代碼段在定義時(shí)不需要段傳送,其他段都需要手動(dòng)傳送。
通過(guò) mov 不能將段直接傳遞給段寄存器,可以間接行傳送。
…… mov ax,data mov ds,ax ……
這段代碼表示,現(xiàn)將 data 數(shù)據(jù)段存到 ax 中,再將 ax 中的數(shù)據(jù)存到 ds 中。
數(shù)據(jù)段
開(kāi)辟空間的偽指令
- db:開(kāi)辟一個(gè)字節(jié)空間。
- dw:開(kāi)辟一個(gè)字空間。(兩個(gè)字節(jié))
- dup:循環(huán)存字符
存儲(chǔ)數(shù)據(jù)
- 存儲(chǔ) 10 進(jìn)制數(shù)據(jù)時(shí),直接寫(xiě)入。
- 存儲(chǔ)字符數(shù)據(jù)時(shí)用單引號(hào)擴(kuò)起來(lái),最終在 debug 模式下現(xiàn)實(shí)的是該字符 ASCII 碼16進(jìn)制表現(xiàn)形式。
語(yǔ)法格式
無(wú)地址符號(hào)
有地址符號(hào)
代碼演示
使用 db 定義 5 個(gè)奇數(shù),將第一個(gè)數(shù)存到 AH 中,最后一個(gè)數(shù)存到 AL 中。
最終,AX=0109,恰好是 AH 與 AL 的拼接。
使用 dw 定義 5 個(gè)奇數(shù),存入 AX 中。
利用 dup 開(kāi)辟三個(gè)單字節(jié)空間
data segment str db 3 dup(5) data ends code segment assume cs:code,ds:data main: mov ax,data mov ds,ax edit: mov ah,4ch int 21h code ends end main
到此這篇關(guān)于匯編語(yǔ)言段定義的使用的文章就介紹到這了,更多相關(guān)匯編語(yǔ)言段定義內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go 中的循環(huán)是如何轉(zhuǎn)為匯編的(方法詳解)
這篇文章主要介紹了Go 中的循環(huán)是如何轉(zhuǎn)為匯編的,本文通過(guò)循環(huán)的匯編代碼給大家講解的非常詳細(xì),代碼簡(jiǎn)單易懂,非常不錯(cuò),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05匯編語(yǔ)言進(jìn)制轉(zhuǎn)換之16進(jìn)制轉(zhuǎn)10進(jìn)制
這篇文章主要介紹了匯編語(yǔ)言進(jìn)制轉(zhuǎn)換之16進(jìn)制轉(zhuǎn)10進(jìn)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07UEFI開(kāi)發(fā)實(shí)戰(zhàn)用戶(hù)交互界面基礎(chǔ)說(shuō)明
這篇文章主要為大家介紹了UEFI開(kāi)發(fā)實(shí)戰(zhàn)用戶(hù)交互界面的基礎(chǔ)說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06使用匯編語(yǔ)言實(shí)現(xiàn)if else 循環(huán)函數(shù)調(diào)用的具體方法
這篇文章主要介紹了使用匯編語(yǔ)言實(shí)現(xiàn)if else 循環(huán)函數(shù)調(diào)用的具體方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01從匯編代碼開(kāi)始全面解析synchronized還原最真實(shí)的偏向鎖
這篇文章主要為大家介紹了從模板解釋器匯編源碼開(kāi)始分析還原最真實(shí)的偏向鎖實(shí)現(xiàn),解釋monitorenter字節(jié)碼命令的方法開(kāi)始,從匯編代碼開(kāi)始全面解析synchronized2022-02-02純匯編實(shí)現(xiàn)打飛機(jī)小游戲的示例代碼
這篇文章主要介紹了純匯編實(shí)現(xiàn)打飛機(jī)小游戲的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01