计算机三级PC南开100题.docx
- 文档编号:7961824
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:66
- 大小:44.67KB
计算机三级PC南开100题.docx
《计算机三级PC南开100题.docx》由会员分享,可在线阅读,更多相关《计算机三级PC南开100题.docx(66页珍藏版)》请在冰豆网上搜索。
计算机三级PC南开100题
功能为内存中10个无符号字节数对其执行(X*7-5)/8操作(x为内存中的数据且x不等于零),结果存入指定内存中
1)0FFH2)SHL3)SUBAX,DX4)SHR5)JNZAGAIN
或者六个空:
1)0FFH2)SHL3)SUBAX,DXSHRBXJNZAGAIN
第一题:
一、请编制程序,其功能是:
将内存中由SOURCE指示的40个字节有符号数组成的数组分成正数和负数两个数组,并求这两个数组的数据个数,结果存放在RESULT指示的内存区域,存放形式为正数个数在前,其后跟正数数组元素,然后是负数个数及负数数组元素。
例如:
内存中有1EH,91H,74H,91H,42H,30H,81H,F3H,18H,25H
结果为06H,1EH,74H,42H,30H,18H,25H,04H,91H,91H,81H,F3H
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)MOV
(2)00H(或者80H)(3)JMPMAIN3
(4)LOOP(5)[SI](6)MAIN4
(7)INCBX
SOURCE开始的区域里存放的20个字节的压缩bcd码转换为ASCII码,每个BCD码转换为两个ASCII码最高位奇校验位
ADDAL,0FHPUSHCXSHRAH,CLJNPJNP
若内存中有:
73H,45H结果为:
37H。
。
。
。
。
则五个空(ANDAL,0FHSHRAH,CLPOPCXINCDIJNP)
20个十进制数字的ASC11字符转换成10个字节的压缩型(十个空)
AXMOVBH,AH0FHMOVAL,AHCX4CXBL[DI]INCDI
第二题:
一、请编制程序,其功能是:
内存中连续存放着10个无符号8位格雷码表示的数,现将此十个数转换成十个8位二进制数,结果存入内存,其转换方法为二进制数的最高位D7与格雷码的最高位G7相同,二进制数的其余七位DK(k=6,…,0)分别为格雷码的位GK(k=6,…,0)与二进制数的位DK+1(k=6,…,0)异或的结果。
例如:
内存中有00H,03H,2BH,67H,0CH,15H,54H,02H,D8H,C7H
结果为00H,02H,32H,45H,08H,19H,67H,03H,90H,85H
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)PUSHCX
(2)RCL(3)BH
(4)JNESETONE(5)BH(6)ANDBH,01H
(7)POPCX
第三题:
一、请编制程序,其功能是:
内存中连续存放着20个十六位二进制无符号数序列,请将它们排成升序(从小到大)。
例如:
内存中有7001H,7004H,7002H…(假设后17个字均大与7004H)
结果为7001H,7002H,7004H…(后跟17个字,按从小到大的顺序排列)
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)2
(2)ADDDI,2(3)NEXT0
(4)BX(5)SW(6)AX
(7)NEXT(8)DECBX(9)JNZ
内存中连续存放着10个十六位二进制无符号数按照从小到大的顺序排列
1)OFFSETRESULT2)AX3)XCHG[SI],AX4)AGAIN25)AGAIN1
10个八位二进制无符号数从大到小的顺序
1ADDDI,1JBENEXTMOV[SI-1],AXDECBX
数字采集系统滤波方法,每5个数求一个平均数,将10个平均数依次存入RESULT只是得内存区域
SUBBX,BXLOOPAGAIN1MOVAX,BXDIVCLMOV[DI],AX
第四题:
一、请编制程序,其功能是:
内存中连续存放着24个无符号二进制字序列,字的最高位为000,此序列对应某一信号在一段时间内的连续变化,现对第21个二进制字前的20个二进制字进行移动平均处理,其方法为:
将要处理的字Xi用以它为开始的连续五个字的平均数(Xi+Xi+1Xi+2Xi+3Xi+4)/5代替(余数舍去),得到新的20个无符号二进制字序列,结果存入内存。
例如:
内存中有0100H,0200H,0300H,0400H,0500H,0600H…
结果为0300H,0400H…
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)5
(2)CX(3)4
(4)MOVDX,0(CWD)(5)INCDI(6)INCSI
第五题:
一、请编制程序,其功能是:
内存中从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执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)AL,[SI-2]
(2)XORBX,0FFH(3)Z
(4)SHL(5)ANDAL,0FH(6)DECDX
第六题:
一、请编制程序,其功能是:
将内存中存放着20个数字0~9之间的ASCII字符(包括数字0和9的ASCII字符)或SP字符(20H),请将数字0~9之间的ASCII字符(包括数字0和9的ASCII字符)转换为相应的八位二进制数,并将SP字符转换为$字符(24H)。
将按上述方法处理后得到的20个字节存入内存中。
例如:
内存中有20H(’SP’),30H(’0’),31H(’1’),31H(’1’),20H(’SP’),32H(’2’),…,39H(’9’)(共20个ASCII字符)
结果为24H(’$’),00H,01H,01H,01H,24H(’$’),02H(’2’),…,09H(’9’)(共20个字节)
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)MOVSI,0
(2)MOVCX,N(3)MOVAL,SOURCE[SI]
(4)10H(30H)(5)INCDI(6)INCSI
(7)CHAN
第七题:
一、请编制程序,其功能是:
内存中共有30个字节型数据,找出其中的两个ASCII字符串并进行校验。
欲寻找ASCII字符串由13个字符组成:
#(23H),7个ASCII字符,*(2AH),2个ASCII字符,回车符(0DH),换行符(0AH)。
校验方法为:
对字符#及字符*之间的7个ASCII字符进行异或操作,若异或操作结果的ASCCII字符表示(异或操作结果高4位的ASCII字符表示在前,低4位的ASCII字符表示在后)与原字符串中字符*之后的两个ASCII字符相同,则将原字符串原样保存;反之,则将原字符串中的所有字符(共13个)均用字符!
(21H)代替。
例如:
内存中有33H,35H,23H(’#’,第一个字符串开始),46H,41H,30H,2EH,34H,3DH,31H,2AH(’*’),32H,31H,0DH,0AH,46H,23H(’#’,第二个字符串开始),46H,41H,30H,2EH,34H,3DH,30H,2AH(’*’),32H,31H,0DH,0AH,55H
结果为23H,46H,41H,30H,2EH,34H,3DH,31H,2AH(’*’),32H,31H(校验正确,该字符串原样保持),0DH,0AH,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H(校验错,整个字符串用字符’!
’代替)。
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)JNZ
(2)'*'(3)SEARCH1
(4)JNZ(5)13(6)DECBX
第八题:
一、请编制程序,其功能是:
内存中连续存放着10个十六位二进制数,每个数的序号依次定义为0,1,…,9。
统计每个数中位为0的个数N0,N1,…,N9(均用一个字节表示),然后按序定义将N0至N9存入内存中,最后再用一个字节这10个数中为0的位的总数n(n=N0+N1+…+N9)。
例如:
内存中有0000H,000FH,FFFFH…
结果为10H,0CH,00H…最后为n
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)16
(2)SHLAX,1(3)JB
(4)COUNT(5)BX,2(DH,DL)(6)[DI],DH(MOV[DI],DH)
第九题:
一、请编制程序,其功能是:
内存中有一个由16个十六位二进制数组成的数组(SOURCE)和一个字变量L。
试将L作为逻辑尺对数组SOURCE进行下列处理:
如L的第i位为0,则数组的第i个数不变;如L的第i位为1,则数组的第i个数按位取反。
字L的位序从低到高依次为0至15,数组下标依次从0到15。
例如:
L=0009H,数组为139CH,89C6H,5437H,8819H…
变换为EC63H,89C6H,5437H,77E6H…
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入(L在前,SOURCE在后)。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)LEADI,RESULT
(2)1(3)TEST(注意和L的空格)
(4)JP(5)SHLDX(或者L),1
第十题:
一、请编制程序,其功能是:
计算10个有符号字节数据的绝对值之和(字型),并找出绝对值最大的数及其所在的偏移地址,最后将它们依次存入指定的内存中,结果以FFH结束。
例如:
内存中有10H,01H,27H,00H,FEH,80H,00H,03H,FFH,01H
结果为BFH,00H,80H,05H,00H,FFH
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)NEGAL
(2)ADC[DI+1](ADCBH)(3)ADC[DI+1](ADCBH)
(4)NEXT(5)0FFH
计算10个有符号字节数据的绝对值之和(字型),并找出绝对值最小的数及其所在的偏移地址,最后将它们依次存入指定的内存中,结果以0FH结束。
(1)ADCBYTEPTR[DI+1],0
(2)NEGAL(3)ADCBYTEPTR[DI+1],0
(4)MOVDX,SI(5)BYTEPTR[DI]
第十一题:
一、请编制程序,其功能是:
以SOURCE开始的内存区域存放着多个字节的数据,其中有压缩BCD码和其他数据。
现按下列编码规则进行编码:
在第每个压缩BCD码前面加两个字节前缀代码BEH和CCH,并在其后加两个字后缀代码DDH和EDH;如果不是压缩BCD码,则该数据前后均加两个代码0DH和0EH。
编码后的数据存放到RESULT指示的内存区域。
例如:
内存中有12H,D9H,86H,54H…
结果为BEH,CCH,12H,DDH,EDH,0EH,D9H,0DH,0EH,BEH,
CCH,86H,DDH,EDH,BEH,CCH,86H,DDH,EDH…
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)ANDAH,0FH
(2)PUSHCX(3)SHRAL,CL
(4)AL,9(5)BYTEPTR[DI],0BEH(6)LOOPCLP1
第十二题:
一、请编制程序,其功能是:
内存中连续存放的20个八位无符号数是一个自动抄表仪抄录的20个用户某月的用水量(立方米),为了控制用水量,水费计算公式如下(X表示用水量;Y表示水费,单位为分):
1、 Y=X*70X<=5
2、 Y=X*1005<X<=5
3、 Y=X*150X>20
例如:
用水量(X):
04H,10H,18H…
水费(Y):
0118H,0640H,0E10H…
试计算出这20个用户应缴纳的水费,结果用字(WORD)表示。
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)MOVAL,[SI]
(2)A(3)MULBL
(4)A(5)MULBH(6)MULDL
(7)INCSI(8)ADDSI,2
第十三题:
一、请编制程序,其功能是:
内存中连续存放的20个八位无符号数是一个自动抄表仪抄录的20个用户某月的用水量(立方米),为了控制用水量,水费计算公式如下(X表示用水量;Y表示水费,单位为分):
a)Y=X*70X<=5
b)Y=10*70+(X-10)*120X>10
例如:
用水量(X):
04H,0FH,18H…
水费(Y):
0118H,0514H,094CH…
试计算出这20个用户应缴纳的水费,结果用字(WORD)表示。
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)MOVAL,[SI]
(2)A(3)SUBAL,10
(4)ADDAX,10*70(5)MOV[DI],AX(6)ADDDI,2
第十四题:
一、请编制程序,其功能是:
对一个由可打印ASCII字符(ASCII码20H~7FH)组成的字符串可采用下列方法进行压缩:
从串首开始向后扫描,如某字符单独出现该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,<原字符>三个字节来代替(假定n不超过255)。
例如:
原串:
41H,43H,43H,43H,43H,43H,43H,61H,00H(“ACCCCCCa”)
压缩后:
41H,1BH,06H,43H,61H,00H
设内存中从SOURCE开始有一字符串,其以00H结束,长度不超过100。
试编程对其进行压缩,结果存入RESULT开始的内存单元。
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。
运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。
(1)MOVAL,[DI]
(2)REPNZSCASB(3)INCDI
(4)L0(5)ADDSI,3
或者:
E(或者JE)STOSBCLDMOVCL,[SI]MOVAL,[SI+1]
REPSTOSBADDSI,2(七个空)
第十五题:
一、请编制程序,其功能是:
对一个由可打印ASCII字符(ASCII码20H~7FH)组成的字符串可采用下列方法进行压缩:
从串首开始向后扫描,如某字符单独出现该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,<原字符>三个字节来代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 三级 PC 南开 100