




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、请编制程序,其功能是:将内存中由SOURCE指示的10个字节有符号数组成的数组分成正数和负数两个数组,并求这两个数组的数据个数,结果存放在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连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。答案:(1)MOV (2)80H (3)JMP MAIN3 (4)LOOP (5)SI (6)MAIN4 (7)INC BX2、请编制程序,其功能是:内存中连续存放着16个二进制字节数,在原16个数的第4和第5个数之间插入00H,在原16个数的第8和第9个数之间插入55H,在原16个数的第12和第13个数之间插入AAH,在原16个数的最后加入FFH。将按上述方法插入4个字节数后得到的20个字节数存入内存中。 例如: 内存中有:10H,20H,30H,40H,50H,.,8FH(共16个字节) 结果为:10H,20H,30H,40H,00H,50H,.,8FH,FFH(共20个字节) 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已经给出的源程序使其完整,需填空处已经用横线标出,每个空白一般只需一条指令,也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)MOV SI, 0(2)MOV AH, SOURCESI(3)INC SI(4)AH (5)EXIT(6)POP SI(7)CHAN3、请编制程序,其功能是:以SOURCE开始的内存区域存放着N个字节的压缩BCD码,将每个压缩BCD码转换成两个ASCII值,并在每个ASCII值的最高位增加偶校验位,结果存放在RESULT指示的内存区域。 例如: 原压缩BCD码:26H,75H,91H,33H . 结果为:B2H,36H,B7H . 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已经给出的一段原程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】 (1)AL ,SI(2)SHR AL , CL(3)POP CX (4)JP SERCH2(5)ADD AH , 30H(6)LOOP4、请编制程序,其功能是:内存中连续存放着20个十六位二进制无符号数序列,请将它们排成升序(从小到大)。 例如: 内存中有:7001H,7004H,7002H,.(假设后17个字均大于7004 H) 结果为:7001H,7002H,7004H,. (后跟17个字,按从小到大的顺序排列) 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已经给出的源程序使其完整,需填空处已经用横线标出,每个空白一般只需一条指令,也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)2(2)ADD DI , 2(3)NEXT0 (4)BX(5)SW(6)AX (7)NEXT(8)DEC BX (9)JNZ5、 请编制程序,其功能是:内存中连续存放着10个十六位二进制数。分别对每个数的高位字节和低位字节进行逻辑与运算及逻辑或运算。运算结果以字的形式按序连续存放(低位字节存入逻辑与运算的结果,高位字节存入逻辑或运算的结果)。 例如: 内存中有:AA55H,55AAH,FFAAH 结果为:FF00H,FF00H,FFAAH 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已经给出的源程序使其完整,空白处已经用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】 (1)SOURCEBX(2)DL(3)OR(4)AL(5)MOV DI,AX(6)DEC CX6、编制一个程序,其实现的功能为:计算10个带符号字节数据的绝对值之和(和为字型),并且找出绝对值最小的数及其所在的偏移地址,将结果依次存入指定的内存区中,结果以0FH结束。 例如: 内存中有:23H,14H,00H,08H,FEH,87H,02H,01H,FFH,01H 结果为: BFH,00H,00H,02H,00H,0FH 部分程序已经给出,原始数据由过程LOAD从文件INPUT1.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)ADC BYTE PTR DI+1,0(2)NEG AL(3)ADC BYTE PTR DI+1,0(4)MOV DX,SI(5)BYTE PTR DI7、请编制程序,其功能是:内存中连续存放着两个无符号字节数序列Ak和Bk (k=0, 1, , 9),求序列Ck,Ck=AkBk(运算结果按序以字的形式连续存放,其中低字节为商,高字节为余数)。 例如: 序列Ak为:01H,7FH,80H,FFH 序列Bk为:FFH,80H,7FH,01H 结果Ck为:0100H(00H为商、01H为余数),7F00H,0101H,00FFH 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)MOV CX, N(2)DL, SOURCEBX+N(3)MOV AL(4)DL(5)AX(6)INC BX(7)JNZ8、请编制程序,其功能是:内存中连续存放着五个用压缩型(组合型)BCD码表示的2位十进制数,请将它们转换成十个ASCII字符,高位的BCD码转换后放在较高的地址单元。 例如: 内存中有:21H,43H,(共五个字节) 结果为:31H(1),32H(2),33H(3),34H(4),(共十个字节) 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。【参考答案】(1)AL(2)INC SI(3)0FH(4)AL(5)INC DI(6)BL(7)CX(8)4 (9)CX(10)INC DI9、请编制程序,其功能是:内存中连续存放着二个由8位有符号整流器数组成的序列Ai和Bi(i=0,9;下同),Ai在前,Bi在后。求序列Ci,Ci=Ai+Bi。结果Ci用字单元按C0,C9的顺序存放。 例如: 序列Ai为:80H(-128D),31H(+49D),61(+97D),7FH(+127D), 序列Bi为:80H(-128D),01(+1D),F1H(-15D),7FH(+127D), 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。【参考答案】(1)sourcebx+N(2)add(3)0ffh(4)jump (5)cbw10、编制一个程序,其实现的功能为:内存中连续的10个无符号字节数,对其执行(X75)8操作(X为内存中的数据,且X不等于0),将结果存入指定的内存区中。 例如: 内存中为:4FH,83H,34H 则结果为:26H,40H,18H 部分程序已经给出,原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空缺处已经用横线标出,空缺处一般只需要一条指令,但采用功能相当的多条指令也可以,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整流器个程序中存在错误之处,请加以修改。【参考答案】(1)0FFH(2)SHL(3)SUB AX,DX(4)SHR(5)JNZ AGAIN11、请编制程序,其功能是:对经常上下波动的数据可采用只记录峰值的数据压缩方法。即每次将采样到的当前值和前一次值比较,如数据变化方向改变(原变大现变小或原变小现变大),说明已过峰值,这时就将前一值(峰值)记录下来。 例如(下例数据均为无符号数): 原数据:23H,45H,89H,67H,5CH,36H,3CH 压缩后:23H,89H,36H 内存中从SOURCE连续存放着48个八位无符号数,假定无相邻两数相等的情况,编程按上述方法进行压缩,结果保存在RESULT开始的内存单元中。 部分程序已给出,请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编写程序片段来完成所要求的功能。 原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。 【参考答案】(1)XOR DX, AX(2)AND DH, 80H(3)Z(4)MOV AL, SI-2(5)MOV DX, AX12、 请编制程序,其功能是:内存中有一个由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从文件INPUT.DAT中读入(L在前,SOURCE在后)。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给予出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)LEA DI, RESULT(2)1(3)TEST(4)JP(5)SHR L,113、 编制一个程序,其功能为:内存中以8位无符号数形式连续存放着10个数据,这数据来自于一个自动抄表系统记录的10个用户某月天然气的使用量(立方米),天然气费计算公式如下(其中,X表示天然气用量,Y表示应交天然气费): a)YX80 X6 b)YX120 610 计算每个用户需要交的天然气费,结果用字表示,并将结果存入指定单元。 例如: 用天然气量:05H,07H,12H 天然气费:0190H,0348H,0780H 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令亦可,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。 对程序必须进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。 【参考答案】(1)LIMIT6(2)MUL A(3)LIMIT10(4)MUL B(5)MUL C14、编制一个程序,让其实现如下功能:将内存中连续存放的10个十六位二进制无符号数按照从小到大的顺序排列。 例如: 内存中有:3456H,2345H,5643H(假设后面的7个数都大于5643H) 结果为:2345H,3456H,5643H(后面跟7个字,按照从小到大的顺序排列)。 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令亦可,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。 对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。 【参考答案】(1)OFFSET RESULT(2)AX(3)XCHG SI,AX(4)AGAIN2(5)AGAIN115、 编制一个程序,其功能为:内存中以8位无符号数形式连续存放着10个数据,这数据来自于一个自动抄表系统记录的10个用户某月天然气的使用量(立方米),天然气费计算公式如下(其中,X表示天然气用量,Y表示应该天然气费): a)YX80X8 b)Y880(X8)120 X8 计算每个用户需要交的天然气费,结果用字表示,并将结果存入指定单元。 例如: 用天然气量为:05H,07H,12H 则天然气费为:0190H,0348H,0780H 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。 对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)JA BIGGER(2)MOV BX,80*8(3)MUL DH(4)MOV DI,AX(5)ADD DI, 216、 编制一个程序,其功能是:计算内存中连续存放的20个字节无符号数据的相邻两个数据之间的和,并找出和的最大值,和的最大值存放在结果的最后一个字单元,和为字数据。 例如: 内存中有:20H,04H,58H,34H,35H,4DH, 则结果为: 0024H,008CH,0082H 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整流器个程序中存在错误之处,请加以修改。【参考答案】(1)MOV AX, 0(2)2(3)ADD DI, 2(4)JAE NEXT(5)MOV SI+2, AX17、 请编制程序,其功能是:内存中存放着由20个16位有符号整数组成的序列,求出该序列中的最小值和最大值。结果存放形式为,先按原顺序存放20个需处理的有符号整数,后跟该序列中的最小值和最大值(最小值在前,最大值在后)。 例如: 内存中有:8100H,0002H,0300H 结果为:8100H,0002H,0300H(由20个16位有符号整数组成的原序列) 结果的后面跟该序列中的最小值和最大值(最小值在前,最大值在后) 部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)MOV DX, SI(2)MOV CX, N-1(3)MIN(4)JGE(5)MOV DI, DX(6)MOV DI, BX18 请编制程序,其功能是:内存中连续存放着10个用ASCII码表示的十进制个位数,将它们转换成相应的二进制字节数N0,N1,N9,然后按序将N0至N9存入内存中,最后存放它们的和n(n=N0+N1+N9)。N用压缩型(组合型)BCD码表示。 例如: 内存中有:30H(0),39H(9),31H(1), 结果为:00H,09H,01H,(后跟n) 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。【参考答案】(1)0(2)SUB(3)INC DI(4)DAA(5)DEC CX(6)MOV DI,DL19、 请编制程序,其功能是:内存中连续存放着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从文件INPUT.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)16(2)SHL AX, 1(3)JB(4)COUNT(5)BX, 2(6)DI, DH20、 编制一个程序,其实现的功能为:求出内存中连续存放的20个无符号数序列的最大值和最小值,并将结果按要求存入。结果的存放形式为:按原序列存放20个需要处理的无符号数,后跟该序列的最小值和最大值(最小值在前,最大值在后)。 例如: 内存中有:23H,45H,61H 结果为: 23H,45H,61H(20个需要处理的原来的无符号数) 后面跟该序列的最小值和最大值(最小值在前,最大值在后)。 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。(1)N1(2)AL, DH(3)MOV DH, AL(4)AL, DL(5)DI+1, DH21、 编制一个程序,其实现的功能为:将内存中从SOURCE开始的区域里存放的20个字节的压缩BCD码转换为ASCII码,每个压缩的BCD码转换为两个ASCII码,并在最高位加上奇校验位,结果存放到RESULT开始的内存区域。 例如: 内存中有:73H,45H 则结果为:37H,B3H,34H,B5H 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)AND AL,0FH(2)PUSH CX(3)SHR AH,CL(4)JP(5)JP22、 请编制程序,其功能是:内存中连续存放的20个八位无符号数是一个自动抄表示抄录的20个用户某月的用水量(立方米),为了控制用水量,水费计算公式如下(X表示用水量;Y表示水费,单位为分): a)Y=X*70X10 例如: 用水量(X):04H,0FH,18H 水费(Y):0118H,0514H,094CH 试计算出这20个用户应缴纳的水费,结果用字(word)表示。 部分程序已给出原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编写程序片段来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)MOV AL, SI(2)A(3)SUB AL, 10(4)ADD AX, 10*70(5)MOV DI, AX(6)ADD DI, 2 23、 请编制程序,其功能是:内存中连续存放着20个无符号字节数序列,请将它们排成升序(从小到大)。 例如: 内存中有:01H,04H,02H(假设后17个字节均大于04H) 结果为:01H,02H,04H(后跟17个字节,按从小到大的顺序排列) 部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)INC DI(2)NEXT0(3)N-1(4)SB(5)NEXT3(6)AL(7)NEXT2(8)BX(9)NEXT124、 请编制程序,其功能是:内存中连续存放着20个十进制数字的ASCII字符,把它们转换成10个字节的压缩型(组合型)BCD码。 例如: 内存中有:31H(1),32H(2),33H(3),34H(4)(共二十个字节) 结果为:21H,43H,(共十个字节) 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。【参考答案】(1)AX (2)MOV BH,AH(3)0FH(4)MOV AL,AH(5)CX (6)4(7)CX (8)BL(9)DI(10)INC DI25、 请编制程序,其功能是:内存中连续存放着二十个ASCII字符,如果是小写字母az之间的字符(包括字母a和z),请把它们转换成相应的大写字母所对应的ASCII字符;若为其他字符,不作转换。 例如: 内存中有:61H(a),62H(b),31H(1),41H(A), 42H(B) 结果为:41H(A),42H(B),31H,41H,42H 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。【参考答案】(1)UPPER2 (2)z (3)JA(4)20H (5)AL (6)SI(7)DI (8)LOOP26、 请编制程序,其功能是:从第0行第0列开始,依次取出N阶矩阵中对角线上的元素(字节型)并计算累加和(字型),然后将其存放在指定的内存区中。 例如: 内存中有:01H,01H,01H,02H,02H,02H,03H,03H,03H 结果为:01H,02H,03H,06H,00H 部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)DH(2)MOV AH, 0(3)SOURCE(4)ADC CH, 0(5)N27、 请编制程序,其功能是:内存中共有30个字节型数据,找出其中的两个ASCII字符串并进行校验。欲寻找的ASCII字符串由13个字符组成:#(23H),7个ASCII字符,*(2AH),2个ASCII字符,回车符(0DH),换行符(0AH)。校验方法为:对字符#及字符*之间的7个ASCII字符进行异或操作,若异或操作结果的ASCII字符表示(异或操作结果高4位的ASCII字符表示在前,低4位的ASCII字符表示在后)与原字符串中字符*之后的两个ASCII字符相同,则将原字符串原样保存;反之,则将原字符串中的所有字符(共13个)均用字符!(21H)代替。 例如: 内存中有:33H,35H,23H(#,第一个字符串开始),46H,41H,30H,2EH,34H,3DH,31H,2AH(#),32H,31H,ODH,OAH,46H,23H(#,第二个字符串开始),46H,41H, 30H,2EH,34H,3DH,30H,2AH(*),32H,31H,ODH,OAH,55H 结果为:23H,46H,41H,30H,2EH,34H,3DH,31H,2AH(*),32H,31H(校验正确,该字符串原样保持),ODH,OAH,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H (校验错,整个字符串用字符“!”代替) 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)JNZ(2)*(3)SEARCH1(4)JNZ(5)13(6)DEC BX28、 编制一个程序,实现如下功能:将内存中连续存放的10个八位二进制无符号数按照从大到小的顺序排列。 例如: 内存中有:3EH,0FH,5DH(假设后面的7个数都小于3EH) 结果为:0FEH,5DH,3EH(后面跟7个字,按照从大到小的顺序排列)。 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)1(2)ADD DI, 1(3)JBE NEXT(4)MOV SI-1,AL(5)DEC BX29、 编制一个程序,其实现的功能是:对一个数字采集系统采集的50个字节无符号数按算术平均数字滤波方法进行数字滤波,每5个数求一个平均数(含余数,其中低字节为商,高字节为余数),将10个平均值依次存入RESULT指示的内存区域。 例如: 原始采集数据:05H,07H,12H,08H,10H,09H,2EH,56H,48H,85H,65H,36H,45H 则结果为:0A04H,4003H 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【参考答案】(1)SUB BX,BX或XOR BX,BX或MOV BX,0(2)LOOP AGAIN1(3)MOV AX,BX(4)DIV CL(5)MOV DI,AX30、 请编制程序,其功能是:对一个由可打印ASCII字符(ASCII值为20H7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,三个字节来代替(假定n不超过255)。设内存中从SOURCE开始有一用上述方法压缩的字符串,其以00H结束,解压后长度不超过100。试编程对其解压缩,结果存入RESULT开始的内存单元。 例如: 原串:41H,1BH,06H,43H,61H,00H 解压缩后:41H,43H,43H,43H,43H,43H,43H,61H,00H(ACCCCCCa) 部分程序已给出,原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编写程序片段来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改【参考答案】(1)E(2)STOSB(3)CLD(4)MOV CL, SI(5)MOV AL, SI+1(6)REP STOSB(7)ADD SI, 231、 编制程序,其功能是:内存中连续存放着两个无符号字节序列Ak和BK(K=0,1,9),求序列CK,CK=AK-BK(CK以有符号字的形式按C0,C1,C9的顺序连续存放)。 例如: 序列AK为30H,FFH,80H,FFH. 序列BK为00H,FFH,FFH,OAH 结果CK为0030H,000H,FF81H,FFF5H 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。 请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工地安全交底管理办法
- 引导村民自制管理办法
- 道路工程材料管理办法
- 监管代理代销管理办法
- 工会物资配送管理办法
- 中国双摄像头手机行业发展监测及投资战略研究报告
- 2025-2030年中国商业表单行业深度研究分析报告
- 中国儿童桌椅行业市场发展监测及投资方向研究报告
- 职业类单词课件
- 职业礼仪规范课件
- 2025年广西中考语文试题卷(含答案)
- 江苏省南通市2024-2025学年高二下学期6月期末质量监测政治试题(含答案)
- 电工厂搬迁方案(3篇)
- 一级医院医保管理制度
- 2025年南京市中考数学真题试卷
- 老年人眼科疾病
- 钢板配送设计方案(3篇)
- 2025年呼伦贝尔农垦集团有限公司招聘笔试参考题库含答案解析
- 2025年重庆市中考数学试卷真题(含标准答案)
- 2025年内蒙古煤炭地质勘查(集团)一零九有限公司招聘笔试参考题库含答案解析
- 中医基础学课件护理情志
评论
0/150
提交评论