第42套上機(jī)練習(xí)及答案
請編制程序,其功能是:以SOURCE開始的內(nèi)存區(qū)域存放著多個字節(jié)的數(shù)據(jù),其中有壓縮BCD"碼和其他數(shù)據(jù)。現(xiàn)按下列編碼規(guī)則進(jìn)行編碼:在每個壓縮BCD碼前面加兩個字節(jié)前綴代碼BEH和CCH,并在其后加兩個字節(jié)后綴代碼DDH和EDH;如果不是壓縮BCD碼,則該數(shù)據(jù)前后均加兩個代碼0DH和0EH。編碼后的數(shù)據(jù)存放到RESULT指示的內(nèi)存區(qū)域。
例如:
原信息為:12H,D9H,86H,54H…
結(jié)果為: BEH,86H,DDH,EDH,BEH,CCH,54H,DDH,EDH…
部分程序已經(jīng)給出,其中原始數(shù)據(jù)由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內(nèi)存單元中,運(yùn)算結(jié)果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。
請?zhí)羁誃EGIN和END之間已經(jīng)給出的一段原程序使其完整,需填空處已經(jīng)用橫線標(biāo)出,每個空白一般只需要填一條指令或指令的一部分(指令助記符或操作數(shù)),也可以填入功能相當(dāng)?shù)亩鄺l指令,或刪去BEGIN和END之間原有的代碼并自行編程來完成所要求的功能。
對程序必須進(jìn)行匯編,并與IO.OBJ連接產(chǎn)生可執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果。調(diào)試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。
【試題程序】
請編制程序,其功能是:以SOURCE開始的內(nèi)存區(qū)域存放著多個字節(jié)的數(shù)據(jù),其中有壓縮BCD"碼和其他數(shù)據(jù)。現(xiàn)按下列編碼規(guī)則進(jìn)行編碼:在每個壓縮BCD碼前面加兩個字節(jié)前綴代碼BEH和CCH,并在其后加兩個字節(jié)后綴代碼DDH和EDH;如果不是壓縮BCD碼,則該數(shù)據(jù)前后均加兩個代碼0DH和0EH。編碼后的數(shù)據(jù)存放到RESULT指示的內(nèi)存區(qū)域。
例如:
原信息為:12H,D9H,86H,54H…
結(jié)果為: BEH,86H,DDH,EDH,BEH,CCH,54H,DDH,EDH…
部分程序已經(jīng)給出,其中原始數(shù)據(jù)由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內(nèi)存單元中,運(yùn)算結(jié)果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。
請?zhí)羁誃EGIN和END之間已經(jīng)給出的一段原程序使其完整,需填空處已經(jīng)用橫線標(biāo)出,每個空白一般只需要填一條指令或指令的一部分(指令助記符或操作數(shù)),也可以填入功能相當(dāng)?shù)亩鄺l指令,或刪去BEGIN和END之間原有的代碼并自行編程來完成所要求的功能。
對程序必須進(jìn)行匯編,并與IO.OBJ連接產(chǎn)生可執(zhí)行文件,最終運(yùn)行程序產(chǎn)生結(jié)果。調(diào)試中若發(fā)現(xiàn)整個程序中存在錯誤之處,請加以修改。
【試題程序】

