freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編語言的基本語法-資料下載頁

2025-08-09 15:17本頁面
  

【正文】 DATA20 DB 0FFH 0FFH 0FFH 0FFH 0FFH 0FFH。 DATA21 DB 6 DUP(0FFH) DUP操作一般用來保留數(shù)據(jù)區(qū),如用數(shù)據(jù)定義偽指令 DB 64 DUP(?)可保留 64個(gè)字節(jié)單元。 DUP還可以嵌套。 表達(dá)式賦值偽操作 EQU 有時(shí)程序中多次出現(xiàn)同一個(gè)表達(dá)式,為方便起見可以用賦植偽操作給表達(dá)式賦予一個(gè)名字,其格式如下: Expresstion_name EQU Expresstion 此后,程序中凡需要用到該表達(dá)式之處就可以用表達(dá)式名來代替。上式中表達(dá)式可以是任何有效的操作數(shù)格式,可以是任何可以求出常數(shù)值的表達(dá)式,也可以是任何有效的助記符。 EQU是一個(gè)賦值偽操作(偽指令),它給一個(gè)數(shù)據(jù)標(biāo)號(hào)賦于一個(gè)常數(shù)值,但這個(gè)常數(shù)不占用存儲(chǔ)單元。當(dāng)這個(gè)數(shù)據(jù)標(biāo)號(hào)出現(xiàn)在程序中時(shí),匯編程序即用它的常數(shù)值代替數(shù)據(jù)標(biāo)號(hào)。 EQU可以在數(shù)據(jù)段之外使用,甚至可用在代碼段中間。 假定在數(shù)據(jù)段和代碼段中要多次使用一個(gè)數(shù)據(jù)(如 25),那么在編程時(shí)凡是用到 25的地方都可用數(shù)據(jù)標(biāo)號(hào) COUNT來表示。如果程序想修改這個(gè)數(shù)據(jù),那么只需修改 EQU的賦值,而無須修改程序中其它部分,如 COUNTER和MOV語句就不必修改。 COUNT EQU 25 COUNTER DB COUNT MOV AL, COUNT DATA EQU HEIGHT + 12 。 地址表達(dá)式賦以符號(hào) ALPHA EQU 7 。 常數(shù)賦以符號(hào)名 BETA EQU ALPHA2 。 把 72=5賦以符號(hào)名 BETA ADDR EQU VAR + BETA 。 VAR+5賦以符號(hào)名 ADDR B EQU [BP + 8] 。 變址引用賦以符號(hào)名 B P8 EQU DS:[BP + 8] 。 加段前綴的變址引用賦以符號(hào)名 P8 注意:在 EQU語句的表達(dá)式中,如果有變量或標(biāo)號(hào)的表達(dá)式,則在該語句前應(yīng)該先給出它們的定義。如上例, ALPHA必須在 BETA之前定義,否則匯編程序?qū)⒅甘境鲥e(cuò)。 = 偽操作 賦值偽操作 =的作用與 EQU類似。它們之間的區(qū)別是, EQU偽操作中的標(biāo)號(hào)名是不允許重復(fù)定義的,而 =偽操作是允許重復(fù)定義的。 例如, TMP EQU 5 TMP EQU TMP+1 則是錯(cuò)誤語句,因?yàn)?TMP已賦值為 5,就不能再把它定義為其它數(shù)值。 而 TMP = 5 TMP = TMP+1 則是允許使用的,因?yàn)?=偽操作允許重復(fù)定義。第一個(gè)語句 TMP的值為 5,第二個(gè)語句 TMP的值就為 6了。 地址計(jì)數(shù)器與對(duì)準(zhǔn)偽指令 1.地址計(jì)數(shù)器$ 在匯編程序?qū)υ闯绦騾R編的過程中,使用地址計(jì)數(shù)器來保存當(dāng)前正在匯編的指令的地址。地址計(jì)數(shù)器的值在匯編語言中可用$來表示。 當(dāng)$用在偽指令的參數(shù)字段時(shí),它所表示的是地址計(jì)數(shù)器的當(dāng)前值 匯編語言允許用戶直接用$來引用地址計(jì)數(shù)器的值,例如指令: JMP $ + 6 它的轉(zhuǎn)向地址是 JMP指令的首地址加上 6。當(dāng)$用在指令中時(shí),它表示本條指令的第一個(gè)字節(jié)的地址。在這里,$ + 6必須是另一條指令的首地址。否則,匯編程序?qū)⒅甘境鲥e(cuò)信息。 當(dāng)$用在偽指令的參數(shù)字段時(shí),則和它用在指令中的情況不同,它所表示的是地址計(jì)數(shù)器的當(dāng)前值。例如指令: ARRAY DW 1, 2, $ + 4, 3, 4, $ + 4 假設(shè)匯編時(shí) ARRAY 分配的偏移地址為 0074H,則匯編后,$ + 4所在的兩個(gè)字單元: ( ARRAY+4) =0078+4=007CH ( ARRAY+0A) =007E+4=0082H 應(yīng)當(dāng)注意, ARRAY數(shù)組中的兩個(gè)$ + 4得到的結(jié)果是不同的,這是由于$的值是在不斷變化的緣故。當(dāng)在指令中用到$時(shí),它只代表該指令的首地址,而與$本身所在的字節(jié)無關(guān)。 2. EVEN偽指令 EVEN偽指令使下一個(gè)變量或指令開始于偶數(shù)字節(jié)地址。 例如: DATA_SEG SEGMENT BYTE_DAT DB ? EVEN WORD_DAT DW 100 DUP (?) DATA_SEG ENDS 一個(gè)字的地址最好從偶地址開始,所以對(duì)于字?jǐn)?shù)組為了保證它從偶地址開始,可以在 DW定義之前用 EVEN偽指令來達(dá)到這一目的。 3. ALIGN偽指令 ALIGN偽指令使它后面的數(shù)據(jù)或指令從 2的整數(shù)倍地址開始。其格式為: ALIGN 2n (n為任意整數(shù) ) 例如: ALIGN 4 ARRAY DD 100 DUP (?) ALIGN偽指令保證了雙字?jǐn)?shù)組 ARRAY地址邊界從 4的倍數(shù)開始。 ALIGN偽指令是將當(dāng)前偏移地址指針指向 2的乘方的整數(shù)倍的地址,如果源地址指針以指向 2的乘方的整數(shù)倍的地址,則不作調(diào)整;否則將指針加以一個(gè)數(shù),使地址指針指向下一個(gè) 2的乘方的整數(shù)倍的地址。 當(dāng)然, ALIGN 2和 EVEN是等價(jià)的。 基數(shù)控制偽指令 .RADIX偽指令 .RADIX可以把默認(rèn)的基數(shù)改變?yōu)?2~ 16范圍內(nèi)的任何基數(shù)。其格式如下: .RADIX 基數(shù)值 其中基數(shù)值用十進(jìn)制數(shù)來表示。 例如: MOV BX, 0FFH ; 16進(jìn)制數(shù)標(biāo)記為 H MOV BL, 10000101B ;二進(jìn)制數(shù)標(biāo)記為 B MOV BX, 178 ; 10進(jìn)制為默認(rèn)的基數(shù),可無標(biāo)記 .RADIX 16 ;以下程序默認(rèn) 16進(jìn)制數(shù) MOV BX, 0FF ; 16進(jìn)制為默認(rèn)的基數(shù),可無標(biāo)記 MOV BX, 178D ; 10進(jìn)制數(shù)應(yīng)加標(biāo)記 D 應(yīng)當(dāng)注意,在用 .RADIX 16把基數(shù)定為十六進(jìn)制后,十進(jìn)制數(shù)后面都應(yīng)跟字母 D。在這種情況下,如果某個(gè)十六進(jìn)制數(shù)的末字符為 D,則應(yīng)在其后跟字母 H,以免與十進(jìn)制數(shù)發(fā)生混淆。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1