匯編偽指令大全 請(qǐng)教8086匯編語(yǔ)言中ASSUME偽指令的作用?
請(qǐng)教8086匯編語(yǔ)言中ASSUME偽指令的作用?首先回答您的第一個(gè)問(wèn)題。你在書(shū)上說(shuō)的。至于您的第一個(gè)問(wèn)題,因?yàn)榧僭O(shè)偽指令只使數(shù)據(jù)段寄存器DS對(duì)應(yīng)于您的數(shù)據(jù)存儲(chǔ)地址,而代碼段寄存器CS則逐個(gè)對(duì)應(yīng)于您的代
請(qǐng)教8086匯編語(yǔ)言中ASSUME偽指令的作用?
首先回答您的第一個(gè)問(wèn)題。你在書(shū)上說(shuō)的。至于您的第一個(gè)問(wèn)題,因?yàn)榧僭O(shè)偽指令只使數(shù)據(jù)段寄存器DS對(duì)應(yīng)于您的數(shù)據(jù)存儲(chǔ)地址,而代碼段寄存器CS則逐個(gè)對(duì)應(yīng)于您的代碼段中存儲(chǔ)的地址。但是,如果您不手動(dòng)將數(shù)據(jù)段存儲(chǔ)地址DSEG傳輸?shù)紻S,系統(tǒng)將無(wú)法獲得DSE特定的物理地址G。對(duì)于第二個(gè)問(wèn)題,因?yàn)镃S:IP是指當(dāng)程序加載到主存時(shí),CPU要執(zhí)行的下一個(gè)語(yǔ)句,系統(tǒng)已將cseg的物理地址傳遞給CS。因此,CS不需要像DS那樣人工傳遞。
51匯編的偽指令有哪些?簡(jiǎn)述其功能?
Org:設(shè)置程序起始地址結(jié)束:標(biāo)記源代碼結(jié)束eq:定義常量集:定義整數(shù)數(shù)據(jù):設(shè)置字節(jié)類型符號(hào)值byte:設(shè)置字節(jié)類型符號(hào)值wrod:設(shè)置字類型符號(hào)值bit:給定位地址名稱altname:使用自定義名稱替換保留字DB:加載字節(jié)向連續(xù)存儲(chǔ)區(qū)鍵入數(shù)據(jù)DW:為連續(xù)存儲(chǔ)區(qū)加載字體數(shù)據(jù)ds:保留連續(xù)存儲(chǔ)區(qū)或加載指定字節(jié)。Include:將源文件插入程序標(biāo)題:向列表文件添加標(biāo)題行nolist:在匯編期間不會(huì)生成任何列表文件。如果在數(shù)據(jù)段中定義變量名,如X DB 0 1,并且需要在代碼中直接使用變量名,如MOV、Al、X 1,那么匯編程序?qū)⒃趨R編過(guò)程中報(bào)告錯(cuò)誤。因?yàn)樵贛OV指令中遇到變量名x時(shí),匯編程序不知道將使用哪個(gè)段寄存器作為段地址。因此:如果要使用變量名直接訪問(wèn),或使用語(yǔ)句標(biāo)簽(例如示例中的標(biāo)簽start),則必須將這些變量或標(biāo)簽所在的段的段名與assume偽指令中的段寄存器名相關(guān)聯(lián),否則將發(fā)生錯(cuò)誤。如果在段中不使用變量名,則不能將段名與寄存器相關(guān)聯(lián)。如果在訪問(wèn)變量時(shí)指定段交叉前綴,則不需要關(guān)聯(lián)。例如,可以使用MOV,Al,ds:X訪問(wèn)變量X。