資源描述:
《匯編語言程序設(shè)計(jì)第04章匯編語言》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、匯編語言程序設(shè)計(jì)齊志儒高福祥主編東北大學(xué)出版社第四章匯編語言4.1匯編語句格式4.2匯編語言中數(shù)據(jù)的表示方法4.3運(yùn)算符號(hào)4.4偽指令4.5匯編語言的上機(jī)過程4.1匯編語句格式4.1.1字符集4.1.2匯編語句格式Microsoft的宏匯編語言由下列字符組成:(1)英文字母:A~Z和a~z。(2)數(shù)字字符:0~9。(3)算術(shù)運(yùn)算符:+,-,*,/。(4)關(guān)系運(yùn)算符:<,=,>。(5)分隔符:,,:,;,(,),[,],(空格),TAB(制表符)。(6)控制符:CR(回車),LF(換行),FF(換頁)。(7)其它字符:$,&,_(
2、下劃線),.,@,%,!。4.1.1字符集DSEGSEGMENT;數(shù)據(jù)段開始DATAlDB13H,26H;原始數(shù)據(jù)DATA2DW0;保存結(jié)果單元DSEGENDS;數(shù)據(jù)段結(jié)束SSEGSEGMENTSTACK;堆棧段開始SKTOPDB20DUP(0)SSEGEND5;堆棧段結(jié)束CSEGSEGMENT;代碼段開始ASSUMECS:CSEG,DS:DSEG,SS:SSEGSTART:MOVAX,DSG;初的化數(shù)據(jù)段基址MOVDS,AXMOVAX,SSEG;初始化堆棧段基址MOVSS,AXMOVSP,LENGTHSKTOP;設(shè)段堆棧指針M
3、OVAL,DATA1;取第一個(gè)數(shù)據(jù)ADDAL,DATAl十1;與第二個(gè)數(shù)據(jù)相加MOVBYTEPTRDATA2,AL;保存結(jié)果M()VAH,4CHINT21H;返間DOSC5EGENDS;代碼段結(jié)束ENDSTART;源程序結(jié)束匯編語句最多由四個(gè)域組成:[標(biāo)號(hào)]操作符操作數(shù)[;注釋]4.1.2匯編語句格式1.標(biāo)號(hào)(1)定義:程序設(shè)計(jì)人員自己定義的符號(hào),用于代表內(nèi)存單元的地址.(2)標(biāo)號(hào)的組成規(guī)則1)組成標(biāo)號(hào)的字符:A~Z,a~z,0~9,?,.@,$,和_(下劃線);2)標(biāo)號(hào)的最大長度為3l(字符個(gè)數(shù))。3)標(biāo)號(hào)的第一個(gè)字符不能是0
4、~9的數(shù)字。4)機(jī)器指令語句中標(biāo)號(hào)必須以冒號(hào)結(jié)束,偽指令語句中的標(biāo)號(hào)不允許有冒號(hào).1.標(biāo)號(hào)(3)標(biāo)號(hào)的三個(gè)屬性1)段屬性:標(biāo)號(hào)所代表的段的值,可用SEG算符得到.2)偏移量屬性:標(biāo)號(hào)所代表的偏移量的值,可用OFFSET算符得到3)類型屬性:標(biāo)號(hào)所代表的內(nèi)存單元所存放的數(shù)據(jù)或指令代碼的類型.共有7種.標(biāo)號(hào)類型類型值字節(jié)類型(BYTE)字類型(WORD)雙字類型(DWORD)四字類型(QWORD)十字節(jié)類型(TBYTE)近類型(NEAR)遠(yuǎn)類型(FAR)110-1-28422.操作符操作符可以是指令助記符,偽指令助記符,宏指令符號(hào)。
5、3.操作數(shù)操作數(shù)是操作符操作的對(duì)象,可以是數(shù)據(jù)本身,也可以是標(biāo)號(hào)、寄存器名或算術(shù)表達(dá)式。4.注釋注釋是對(duì)指令功能的說明,目的實(shí)施自己或他人在閱讀分析程序是方便。4.2.1數(shù)據(jù)在機(jī)內(nèi)的表示4.2.2匯編語言中數(shù)據(jù)的書寫形式4.2匯編語言中數(shù)據(jù)的表示方法4.2.1數(shù)據(jù)在機(jī)內(nèi)的表示(1)數(shù)據(jù)的符號(hào):用0表示下,1表示負(fù).對(duì)于定點(diǎn)表示有原碼反碼補(bǔ)碼等表示方法.(2)數(shù)據(jù)的定點(diǎn)表示法1)小數(shù)點(diǎn)在最低位之后,代表純整數(shù),16位表示范圍為-32768~+327672)小數(shù)點(diǎn)在最高位和次高位之間,代表純小數(shù).(3)數(shù)據(jù)的浮點(diǎn)表示法在浮點(diǎn)表示中,
6、分為尾數(shù)和階碼兩部分.有多種表示方法,現(xiàn)在一般用IEEE的表示方法.(3)浮點(diǎn)數(shù)據(jù)表示法S階碼尾數(shù)03123短實(shí)數(shù)尾數(shù)23位,階碼8位,過余量127(7FH)S階碼尾數(shù)06352長實(shí)數(shù)尾數(shù)52位,階碼11位,過余量1023(3FFH)S階碼尾數(shù)10636479臨時(shí)實(shí)數(shù)尾數(shù)63位,階碼15位,過余量16383(3FFFH)1▲fff…fff轉(zhuǎn)換為二進(jìn)制為100100.101規(guī)格化后為1.00100101×25階碼為101加過余量127后01111111+00000101=10000100尾數(shù)(23位)001001010000000
7、00000000符號(hào)&階碼&尾數(shù)01000010000100101000000000000000用16進(jìn)制表示為42128000符號(hào)位變化11000010000100101000000000000000C2128000(3)浮點(diǎn)數(shù)據(jù)表示法(舉例)36.625-36.625(4)數(shù)據(jù)的表示范圍1)一個(gè)字節(jié)(字節(jié)數(shù)據(jù))無符號(hào)整數(shù)0~255補(bǔ)碼表示帶符號(hào)整數(shù)-128~1272)二個(gè)字節(jié)(字?jǐn)?shù)據(jù))無符號(hào)整數(shù)0~655535補(bǔ)碼表示帶符號(hào)整數(shù)-32767~+327683)四字節(jié)表示的浮點(diǎn)數(shù)據(jù)(規(guī)格化)正數(shù):2127×(1-2-24)≥N≥
8、2-127×2-1負(fù)數(shù):2127×(-(1-2-24))≤N≤2-128×(-2-1)零:階碼和尾數(shù)同時(shí)為04.2.2匯編語言中數(shù)據(jù)的書寫形式1)二進(jìn)制常數(shù)0,1以B結(jié)尾2)八進(jìn)制常數(shù)0~7,以O(shè)或Q結(jié)尾3)十進(jìn)制常數(shù)0~9,以D結(jié)尾或空4)十六進(jìn)制常數(shù)0~9,