《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > 計(jì)算機(jī)系統(tǒng)原理(十五) 數(shù)據(jù)傳送(復(fù)制)指令詳解

計(jì)算機(jī)系統(tǒng)原理(十五) 數(shù)據(jù)傳送(復(fù)制)指令詳解

2017-06-22
關(guān)鍵詞: 匯編語(yǔ)言

引言

上一章我們已經(jīng)介紹了匯編語(yǔ)言的基礎(chǔ)部分,,包括數(shù)據(jù)格式、寄存器以及操作數(shù)的標(biāo)識(shí)方式,接下來(lái)我們就應(yīng)該去認(rèn)識(shí)一下匯編語(yǔ)言當(dāng)中的各個(gè)指令了,。這些指令大多數(shù)都非常簡(jiǎn)單,,但是組合在一起卻能模擬出我們程序當(dāng)中想要的任何效果,,確實(shí)是十分神奇的一件事,。  

數(shù)據(jù)傳送指令

數(shù)據(jù)傳送指令的目的是為了將一個(gè)數(shù)據(jù)從一個(gè)位置復(fù)制到另外一個(gè)位置,。既然如此,,那么數(shù)據(jù)傳送指令就會(huì)包含一個(gè)源操作數(shù)和一個(gè)目的操作數(shù),,指令會(huì)將原操作數(shù)的值復(fù)制到目的操作數(shù)并覆蓋。

數(shù)據(jù)傳送指令一共可分為五種,,分別是mov,、movs、movz,、push以及pop,,下面LZ依次介紹一下這五個(gè)指令的作用。

mov指令

mov指令的作用是將源操作數(shù)S中的數(shù)據(jù)復(fù)制到目的操作數(shù)D中,,mov指令有一個(gè)數(shù)據(jù)格式和兩個(gè)操作數(shù),,因此一般的形式為[movx S D]。其中x為數(shù)據(jù)格式,,S為源操作數(shù),,D為目的操作數(shù)。

movs指令

movs指令的作用是將源操作數(shù)S中的數(shù)據(jù)做符號(hào)擴(kuò)展后,,再?gòu)?fù)制到目的操作數(shù)D中,,movs指令有兩個(gè)數(shù)據(jù)格式和兩個(gè)操作數(shù),因此一般的形式為[movsxy S D],。其中x,、y為數(shù)據(jù)格式,S為源操作數(shù),,D為目的操作數(shù)。其中x,、y的組合一共有三種,,分別是bw、bl,、wl,,這三個(gè)組合代表的意思分別是單字節(jié)到雙字節(jié),單字節(jié)到雙字以及雙字節(jié)到雙字,。

movz指令

movz指令的作用是將源操作數(shù)S做零擴(kuò)展后,,再?gòu)?fù)制到目的操作數(shù)中。它與movs指令十分相似,,也有兩個(gè)數(shù)據(jù)格式和兩個(gè)操作數(shù),,因此一般的形式為[movzxy S D]。其中x,、y為數(shù)據(jù)格式,,S為源操作數(shù),D為目的操作數(shù),。其中x,、y的組合一共有三種,,分別是bw、bl,、wl,,這三個(gè)組合代表的意思分別是單字節(jié)到雙字節(jié),單字節(jié)到雙字以及雙字節(jié)到雙字,。

push指令

push指令與上面的mov族指令有著不同,,它的目的操作數(shù)被固定為棧頂,因此它的指令當(dāng)中沒(méi)有目的操作數(shù),。另外有一點(diǎn)需要注意的是,,它在進(jìn)行復(fù)制操作之前,需要移動(dòng)棧頂指針(-4),。push指令的一般形式為[pushl S],,其中l(wèi)代表數(shù)據(jù)格式為雙字,S為源操作數(shù),,目的操作數(shù)默認(rèn)為棧頂,。

pop指令

pop指令與push指令是做的相反的操作,一個(gè)是入棧一個(gè)是出棧,。對(duì)于pop指令來(lái)講,,它的源操作數(shù)被固定為棧頂,相反,,它會(huì)先進(jìn)行復(fù)制操作,,然后再移動(dòng)棧指針。pop指令的一般形式為[popl D],,其中l(wèi)代表數(shù)據(jù)格式為雙字,,D為目的操作數(shù),源操作數(shù)默認(rèn)為棧頂,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。