试题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 'input1.dat',0
name1 db 'output1.dat',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 axk{)p^ , it认证全国计算机等级考试 k{)p^ ,
mov ax,data
mov ds,ax
mov es,ax ;置附加段寄存器
lea dx,source ;数据区起始地址
lea si,name0 ;原始数据文件名
mov cx,2*n+1 ;字节数
call load ;从'input1.dat'中读取数据
+《06-2009年9月全国计算机等级考试三级PC上机试题(1)》相关文章
- 06-2009年9月全国计算机等级考试三级PC上机试题(1)
- › 06-2013商务师考试题库国际金融国际贸易模拟六(1)
- › 06-2013商务师考试题库国际金融国际贸易模拟四(1)
- › 2006-2009年报关员全国统一考试商品归类题
- › 2006-2009年报关员资格全国统一考试试卷A(1)
- › 2006-2009年报关员资格全国统一考试试卷B(1)
- › 2006-2009年报关员资格全国统一考试试卷A答案
- 在百度中搜索相关文章:06-2009年9月全国计算机等级考试三级PC上机试题(1)
- 在谷歌中搜索相关文章:06-2009年9月全国计算机等级考试三级PC上机试题(1)
- 在soso中搜索相关文章:06-2009年9月全国计算机等级考试三级PC上机试题(1)
- 在搜狗中搜索相关文章:06-2009年9月全国计算机等级考试三级PC上机试题(1)