- 相關推薦
2006年9月全國計算機等級考試三級PC技術上機試題
試題1:
〈三級PC南開100題〉的第五題
一、請編制程序,其功能是:內存中從SOURCE開始連續存放著21個八位有符號數(補碼),其相鄰兩數之間差值不超過-8至7。對這種變化緩慢的數據可采用差分方法進行壓縮。即第一個數據不變,其后的數據取與前一數據的差值并用四位二進制補碼表示,兩個差值拼成一個字節,前一個差值放在高四位,后一個差值放在低四位。
例如:
原數據(X[n]):23H,27H,2AH,29H,22H…
壓縮后(Y[n]):23H, 43H, F9H…
編程按上述方法進行壓縮,結果保存在RESULT開始的內存單元中。
部分程序已給出, 其中原始數據由過程LOAD從文件INPUT1.DAT中讀入SOURCE開始的內存單元中。運算結果要求從RESULT開始存放,由過程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之間已給出的一段源程序使其完整(空白已用橫線標出,每行空白一般只需一條指令, 但采用功能相當的多條指令亦可),或刪除BEGIN和END之間原有的代碼并自行編程來完成要求的功能。
對程序必須進行匯編,并與IO.OBJ鏈接產生PROG1.EXE執行文件,最終運行程序產生結果(無結果或結果不正確者均不得分)。調試中若發現整個程序中存在錯誤之處, 請加以修改。
試題程序:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB 2*N+1 DUP(?)
RESULT DB N+1 DUP(0)
NAME0 DB #39;INPUT1.DAT#39;,0
NAME1 DB #39;OUTPUT1.DAT#39;,0
NDATA DB N DUP(0)
PDATA DB N DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX ;置附加段寄存器
LEA DX,SOURCE ;數據區起始地址
LEA SI,NAME0 ;原始數據文件名
MOV CX,2*N+1 ;字節數
CALL LOAD ;從#39;INPUT1.DAT#39;中讀取數據
【9月全國計算機等級考試三級PC技術上機試題】相關文章:
2004年全國計算機等級考試三級C語言全真上機試題解析08-10
2004年9月全國計算機等級考試三級(PC技術)筆試試卷08-10
計算機三級網絡技術上機考試題08-05
2013年計算機等級考試三級網絡技術試題08-05
全國計算機等級考試三級信息、網絡、數據庫上機編程題15道08-10
2017全國計算機等級考試試題及答案08-07
全國計算機等級考試一級試題及答案08-07
2017全國計算機等級考試一級試題及答案08-07