在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 匯編語言教程-段寄存器的說明語句

            匯編語言教程-段寄存器的說明語句

            作者: 時(shí)間:2011-10-06 來源:網(wǎng)絡(luò) 收藏

              在源程序中可以定義多個(gè)段,每個(gè)段都要與一個(gè)建立一種對應(yīng)關(guān)系。建立這種對應(yīng)關(guān)系的說明語句格式如下:
              ASSUME名:段名[,名:段名,……]
              其中:段寄存器是CS、DS、ES、SS、FS和GS,段名是在段定義語句說明時(shí)的段名。
              在一條ASSUME語句中可建立多組段寄存器與段之間的關(guān)系,每種對應(yīng)關(guān)系要用逗號分隔。例如,
              ASSUME CS:CODE1, DS:DATA1
              上面的語句說明了:CS對應(yīng)于代碼段CODE1,DS對應(yīng)于數(shù)據(jù)段DATA1。
              在ASSUME語句中,還可以用關(guān)鍵字NOTHING來說明某個(gè)段寄存器不與任何段相對應(yīng)。下面語句說明了段寄存器ES不與某段相對應(yīng)。
              ASSUME ES:NOTHING
              在通常情況下,代碼段的第一條語句就是用ASSUME語句來說明段寄存器與段之間的對應(yīng)關(guān)系。在代碼段的其它位置,還可以用另一個(gè)ASSUME語句來改變前面ASSUME語句所說明的對應(yīng)關(guān)系,這樣,代碼段中的指令就用最近的ASSUME語句所建立的對應(yīng)關(guān)系來確定指令中的有關(guān)信息。
              例6.1段及其段說明語句的作用。
              DATA1SEGMENT;定義數(shù)據(jù)段DATA1
              word1DW5678h
              byte1DB"ABCDEFG"
              DATA1ENDS
              DATA2SEGMENT;定義數(shù)據(jù)段DATA2
              word2DW1234h
              word3DW9876h
              DATA2ENDS
              DATA3SEGMENT;定義數(shù)據(jù)段DATA3
              byte2DB?
              DATA3ENDS
              CODE1SEGMENT;編寫代碼段CODE1
              ASSUMECS:CODE1, DS:DATA1, ES:DATA2;(1)
              MOVAX, DATA1;(2)
              MOVDS, AX;(3)
              MOVAX, DATA2;(4)
              MOVES, AX;(5)
              …
              MOVAX, word1;訪問段DATA1中的字變量word1
              MOVword2, AX;訪問段DATA2中的字變量word2
              …
              ASSUMEDS:DATA3, ES:NOTHING;(6)
              MOVAX, DATA3
              MOVDS, AX
              MOVBL, byte2;訪問段DATA3中的字節(jié)變量byte2
              …
              MOVAX, 4C00H;(7)
              INT21H;(8)
              CODE1 ENDS
              語句(1)和(6)分別說明了段和段寄存器之間的對應(yīng)關(guān)系,其中語句(6)重新說明語句(1)所指定的對應(yīng)關(guān)系。
              二組語句(2)和(3)、(4)和(5)實(shí)現(xiàn)對段寄存器DS和ES賦初值。ASSUME說明語句只起說明作用,它不會(huì)對段寄存器賦值,所以,必須對有關(guān)段寄存器賦值。在以后的其它源程序中也都是用此方法來實(shí)現(xiàn)對數(shù)據(jù)段寄存器賦值的。
              語句(7)和(8)是調(diào)用中斷21H的4CH號功能來結(jié)束本程序的執(zhí)行,程序的返回代碼由寄存器AL來確定。結(jié)束本程序執(zhí)行的指令是所有主模塊必須書寫的語句。
              注意:代碼段寄存器不能由程序員在源程序中對其賦值,其值是由操作系統(tǒng)在裝入它進(jìn)入系統(tǒng)運(yùn)行時(shí)自動(dòng)賦值的。



            關(guān)鍵詞: 匯編語言 段寄存器

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉