第7章 更靈活的定位內(nèi)存地址的方法

7.1

and和or指令

and:按位與操作,其用法如下所示:

AND PAR1 PAR2

其作用就是PAR1^=PAR2。

or:按位或操作,其用法如下所示:

OR PAR1 PAR2

其作用是PAR1|=PAR2。

7.3以字符形式給出數(shù)據(jù)

DB:Define Byte,即,定義字節(jié)型數(shù)據(jù),如下圖所示:

可以把一個(gè)ASCII碼像這樣送到8位寄存器中。

MOV AL ‘A’

7.4大小寫轉(zhuǎn)換的問題

原來ASCII碼中大小寫英文字母的本質(zhì)區(qū)別在于其二進(jìn)制表示,如下圖所示:

同一字母的大寫和小寫形式的二進(jìn)制區(qū)別就在于大寫的黃色區(qū)域中都是0,小寫的黃色區(qū)域中都是1,而且所在位和除此之外的其余位都是相同的。

7.5

[bx+idata]

這是一種新的表示偏移地址的表達(dá)式,即,bx中的值加上常量idata。那么原來計(jì)算內(nèi)存單元地址的共識(shí)就變?yōu)椋?/p>

PA=DS×16+(BX)+idata

實(shí)例如下:

MOV AX,[BX+200]

7.6用[bx+idata]的方式進(jìn)行數(shù)組的處理

INC(INCREASE):加1,單操作數(shù)指令,用于給操作數(shù)加1。用法如下:

INC操作數(shù)

[bx+idata]的作用相當(dāng)于數(shù)組下標(biāo),通過數(shù)組下標(biāo)操作數(shù)組元素。idata相當(dāng)于數(shù)組首元素地址,bx是相對(duì)于idata的相對(duì)地址,即,偏移量。

更形象一點(diǎn)的話可以看下圖:

7.7

SI和DI

SI(Source

index):源變址寄存器,DI(destination?index):目的變址寄存器。從本節(jié)內(nèi)容來看,它們是BX(Base Mix,基址寄存器)的替代品。

7.8

[bx+si]和[bx+di]

它倆都表示偏移地址,換句話說是偏移地址的另一種表示方法。所以尋址公式可以寫成:

PA=(DS)16+(BX)+(SI)

PA=(DS)16+(BX)+(DI)

它們還可以寫成[bx][si]和[bx][di]。

由此可以聯(lián)想到把[bx+idata]寫成idata[bx],其中的bx還可以替換成si和di。

7.9

[bx+si+idata]和[bx+di+idata]

仿效7.6和7.8就可以知道它倆表示的是啥意思,當(dāng)然也是偏移地址了。

下面幾種變形:

在程序的邏輯實(shí)現(xiàn)中經(jīng)常需要很多變量協(xié)同工作,當(dāng)它們不工作的時(shí)候需要被暫時(shí)存儲(chǔ)起來。它們不能暫時(shí)存儲(chǔ)在寄存器中,因?yàn)镃PU中寄存器數(shù)量有限,于是只能存儲(chǔ)在內(nèi)存中。它們存儲(chǔ)在棧中,并按照棧的方式進(jìn)進(jìn)出出。這就是為什么在編程時(shí)總是要查看??臻g的原因。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容