and:按位與操作,其用法如下所示:
AND PAR1 PAR2
其作用就是PAR1^=PAR2。
or:按位或操作,其用法如下所示:
OR PAR1 PAR2
其作用是PAR1|=PAR2。
DB:Define Byte,即,定義字節(jié)型數(shù)據(jù),如下圖所示:

可以把一個(gè)ASCII碼像這樣送到8位寄存器中。
MOV AL ‘A’
原來ASCII碼中大小寫英文字母的本質(zhì)區(qū)別在于其二進(jìn)制表示,如下圖所示:

同一字母的大寫和小寫形式的二進(jìn)制區(qū)別就在于大寫的黃色區(qū)域中都是0,小寫的黃色區(qū)域中都是1,而且所在位和除此之外的其余位都是相同的。
這是一種新的表示偏移地址的表達(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)的話可以看下圖:

SI(Source
index):源變址寄存器,DI(destination?index):目的變址寄存器。從本節(jié)內(nèi)容來看,它們是BX(Base Mix,基址寄存器)的替代品。
它倆都表示偏移地址,換句話說是偏移地址的另一種表示方法。所以尋址公式可以寫成:
PA=(DS)16+(BX)+(SI)
PA=(DS)16+(BX)+(DI)
它們還可以寫成[bx][si]和[bx][di]。
由此可以聯(lián)想到把[bx+idata]寫成idata[bx],其中的bx還可以替換成si和di。
仿效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的原因。