3.9.1 匯編語(yǔ)言的語(yǔ)句格式
由匯編語(yǔ)言編寫的源程序是由許多語(yǔ)句(也可稱為匯編指令)組成的。每個(gè)語(yǔ)句由1~4個(gè)部分組成,
其格式是:
[標(biāo)號(hào)]指令助記符[操作數(shù)][;注解]
1.標(biāo)號(hào)(也叫做名稱)
這是給指令或某一存貯單元地址所起的名字,名稱可由下列字符組成:
字母:A~Z
數(shù)字:0~9
特殊字符:?、·、@、-、$
數(shù)字不能作名稱的第一個(gè)字符,而圓點(diǎn)僅能用作第一個(gè)字符。標(biāo)號(hào)最長(zhǎng)為31個(gè)字符。當(dāng)名稱后跟冒號(hào)時(shí),表示是標(biāo)號(hào)。它代表該行指令的起始地址,
其它指令可以引用該標(biāo)號(hào),作轉(zhuǎn)移的符號(hào)地址。當(dāng)名稱后不帶冒號(hào)時(shí),有可能是標(biāo)號(hào),也可能是變量。偽指令前的名稱不加冒號(hào),當(dāng)標(biāo)號(hào)用于段間調(diào)用時(shí),
后面也不能跟冒號(hào),
例如:
段內(nèi)調(diào)用 OUTPUT:IN AL,DX
段間調(diào)用 OUTPUT IN AL,DX
2. 指令助記符
它表示不同操作的指令,可以是8088的指令助記符,也可以是偽指令。如果指令帶有前綴(如LOCK、REP、REPE/REPZ、REPNE/REPNZ),
則指令前綴和指令助記符要用空格分開。
3. 操作數(shù)
它是指令執(zhí)行的對(duì)象。依指令的要求,可能有一個(gè)、兩個(gè)或者沒有,
例如:
標(biāo)號(hào) 指令助記符 操作數(shù) 注解
RET ;無操作數(shù)
COUNT: INC CX ;一個(gè)操作數(shù)
MOV CX,DI ;兩個(gè)操作數(shù)
如果是偽指令,則可能有多個(gè)操作數(shù),
例如:
COST DB 3,4,5,6,7 ;5個(gè)操作數(shù)
當(dāng)操作數(shù)超過1個(gè)時(shí),操作數(shù)之間應(yīng)用逗號(hào)分開。 操作數(shù)可以是常數(shù)、寄存器名、標(biāo)號(hào)、變量,也可以是表達(dá)式,
例如:
MOV AX,[BP+4] ;第二個(gè)操作數(shù)為表達(dá)式
請(qǐng)注意,操作數(shù)可以是表達(dá)式,這是IBM PC匯編中所特有的。
4.注解
該項(xiàng)可有可無,是為源程序所加的注解,用于提高程序的可讀性。在注解前面要加分號(hào),它可位于操作數(shù)之后,也可位于一行的開頭。匯編時(shí),對(duì)注解不
作處理,僅在列源程序清單時(shí)列出,供編程人員閱讀,
例如
讀端口B數(shù)據(jù)
IN AL,PORTB ;讀B口到AL中
注解一般都使用英文,在支持漢字的操作系統(tǒng)中,也可使用中文。
3.9.2常數(shù)
1.二進(jìn)制數(shù)
二進(jìn)制數(shù)字后跟字母B,如01000001B。
2.八進(jìn)制數(shù) 八進(jìn)制數(shù)字后跟字母Q或O,如202Q或202O。 3.十進(jìn)制數(shù)
十進(jìn)制數(shù)字后跟D或不跟字母,如85D或85。
4.十六進(jìn)制數(shù)
十六進(jìn)制數(shù)字后跟H,如56H,0FFH。注意,當(dāng)數(shù)字的第一個(gè)字符是A~F時(shí),在字符前應(yīng)添加一個(gè)數(shù)字0,以示和變量的區(qū)別。
5.十進(jìn)制浮點(diǎn)數(shù)
浮點(diǎn)十進(jìn)制數(shù)的一個(gè)例子是:25E-2。
6.十六進(jìn)制實(shí)數(shù)
十六進(jìn)制實(shí)數(shù)后跟R,數(shù)字的位數(shù)必須是8,16或20。在第一位是0的情況下,數(shù)字的位數(shù)可以是9,17或21,如0FFFFFFFFR。 7.字符和字符串字符和字符串要求用單引
號(hào)括起來,如′BD′。
