首页 > 计算机等级考试
题目内容 (请给出正确答案)
[主观题]

编制一个程序,其实现的功能为:计算10个带符号字节数据的绝对值之和(和为字型),并且找出绝对值最

编制一个程序,其实现的功能为:计算10个带符号字节数据的绝对值之和(和为字型),并且找出绝对值最小的数及其所在的偏移地址,将结果依次存入指定的内存区中,结果以0FH结束。

例如:

内存中有:23H, 14H,00H,08H,PEH, 87H,02H,01H,PPH,01H

结果为:BFH,00H,00H,02H,00H,0FH

部分程序已经给出,原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从 RESULT开始的内存单元存放, 由过程SAVE保存到文件OUTPUT.DAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10

DSEG SEGMENT

SOURCE DB N DUP()

RESULT DB 6 DUP(0)

MIN DB ?

NAME0 DB 'INPUT.DAT',0

NAME1 DB 'OUTPUT.DAT',0

DSEG ENDS

SSEG EGMENT STACK

DB 256 DUP()

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

; ******** BEGIN ***********

LEA SI,SOURCE

LEA DI,RESULT

MOV DX,SI

MOV CX,N-1

MOV AL,[SI]

SUB AX,0

JNS NEXT

NEG AL

NEXT: MOV MIN,AL

ADD [DI],AL

(1)

AGAIN: INC SI

MOV AL,[SI]

ADD AL,0

JNS NEXT1

(2)

NEXT1: ADD [DI],AL

(3)

CMP MIN,AL

JBE NEXT2

MOV MIN,AL

(4)

NEXT2: LOOP AGAIN

ADD DI,2

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“编制一个程序,其实现的功能为:计算10个带符号字节数据的绝对…”相关的问题
第1题
编制一个程序,其实现的功能为:内存中连续的10个无符号字节数,对其执行(X×7-5)÷8操作(X为内存中的

编制一个程序,其实现的功能为:内存中连续的10个无符号字节数,对其执行(X×7-5)÷8操作(X为内存中的数据,且X不等于0),将结果存入指定的内存区中。

例如:

内存中为:4FH,83H,34H…

则结果为:26H,40H,18H…

部分程序已经给出,原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从 RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空缺处已经用横线标出,空缺处一般只需要一条指令,但采用功能相当的多条指令也可以,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10

DSEG SEGMENT

SOURCE DB N DUP()

RESULT DB N DUP(0)

NAME0 DB 'INPUT.DAT',0

NAME2 DB 'OUTPUT.DAT',0

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP()

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

; ******** BEGIN ********

LEA SI,SOURCE

LEA DI,RESULT

MOV BX,N

AGAIN: MOV AL,[SI]

MOV DX,0

MOV DL,AL

AND AX, (1)

MOV CL,3

(2) AX,CL

(3)

SUB AX,5

MOV CL,3

(4) AX,CL

MOV [DI],AL

INC SI

INC DI

DEC BX

(5)

; ****+**** END ********

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案
第2题
(1)在考生文件夹下有一个工程文件sj3.vbp,相应的窗体文件为sj3.frm。其功能是在Text1文本框中输入
一个数N,单击命令按钮计算从0到N的所有素数的和,并在Text2中显示出来。运行程序如图1-3所示。

(1)在考生文件夹下有一个工程文件sj3.vbp,相应的窗体文件为sj3.frm。其功能是在Text

(1)在考生文件夹下有一个工程文件sj3.vbp,相应的窗体文件为sj3.frm。其功能是在Text

图1-3

要求:去掉程序中的注释符"‘",把程序中的"?"改为正确的内容, 使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

(2)在考生文件夹下有工程文件sj4.vbp及窗体文件sj4.frm,该程序是不完整的,请在有"?"号的地方填入正确内容,然后删除"?"及代码前的所有注释符(即‘号),但不能修改其他部分。存盘时不得改变文件名和文件夹。

本题描述如下:

本程序的功能为当用户单击窗体上的命令按钮"输入"时,可以输入6个数值,随后程序对这6个数值进行升序排序,单击按钮"输出"则把大于平均值的数显示出来,程序运行时的窗体如图1-4所示。

(1)在考生文件夹下有一个工程文件sj3.vbp,相应的窗体文件为sj3.frm。其功能是在Text

图1-4

点击查看答案
第3题
请编制程序,其功能为:内存中存放着10个二进制数,需对此数组进行加密。方法为将前一个字节数(两位

请编制程序,其功能为:内存中存放着10个二进制数,需对此数组进行加密。方法为将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换:第一个字节数的高位十六进制数与最后一个字节的低位十六进制数进行交换,加密后的结果存入内存。

例如:内存中原始数据为:50H,61H,72H,83H,94H,…,E9H

结果:90H,07H,18H,29H,3AH,…,85H

部分程序已经给出,其中原始数据由LOAD 过程从文件INPUT1.DAT 中读入从SOURCE开始的内存单元,转换结果(要求从RESULT开始读入)由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生PROG1. EXE执行文件,最终产生运行结果。

部分程序如下:

;PROG1.ASM

EXTRN LOAD:FAR, SAVE:FAR

N EQU 10

DSEG SEGMENT

SOURCE DW N DUP ()

RESULT DW N DUP (0)

NAME0 DB 'INPUT1.DAT',0

NAME1 DB 'OUTPUT1.DAT',0

DSEG ENDS

SSEG SEGMENT STACK

DB 128 DUP ()

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG, DS:DSEG;SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX, DSEG

MOV DS,AX

MOV ES, AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

; *** BEGIN ***

MOV DI,0

MOV SI,0

MOV CX,N

CONT: MOV AL, SOURCE [SI]

MOV AH,AL

AND AL,0FH

AND AH,0F0H

INC SI

CMP SI,N

____________

MOV SI,0

ONE: MOV BL, SOURCE [SI]

MOV BH,BL

AND BL,0FH

AND BH,0FOH

____________

MOV CX,4

LI: SBR BH, 1

SHL AL,1

LOOP L1

______,CX

OR AH,BH

OR AL,BL

CMP DI, 0

JNZ STOPE1

MOV SOURCE [SI] ,AL

DEC SI

MOV SOURCE [SI], AH

INC SI

JMP NEXT

STORE1: CMP DI, N-1

JL STORE2

MOV RESULT [DI], AH

MOV DI, 0

MOV RESULT [DI], AL

JMP NEXT

STORE2: MOV ______, AH

MOV ______, AL

NEXT: INC DI

LOOP CONT

; *** END ***

LEA DX, RESULT

LEA SI, NAME1

MOV CX, N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案
第4题
使用VC++6.0打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错误,请改正程序中的错误。本程
序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在 //******error******的下面。 试题程序: include<iostream> include<fstream> //********error******** usingstd; voidWriteFile(char*s) { ofstreamout1; //********error******** out1.open("1.txt",binary|app); for(inti=0;s[i]!=0;i++) { //********error******** out1.puts(s[i]); } out1.close; } voidClearFile { ofstreamout1; out1.open("1.txt"); out1.close; } intmain { chars[1024]; ClearFile; cout<<"pleaseinputastrin9:"<<endl; cin.getline(s,1024); WriteFile(s); return0; }

点击查看答案
第5题
下列程序功能为:弹出一个对话框询问用户是否输出,如果是,则输出;否则结束。请

下列程序功能为:弹出一个对话框询问用户是否输出,如果是,则输出;否则结束。请请帮忙给出正确答案和分析

点击查看答案
第6题
解决一个问题,先确定分解的算法,然后编制运算过程,选取能实现其操作,称为()。

A.指令

B.程序

C.软件

D.系统

点击查看答案
第7题
以下关于计算机病毒的叙述中,错误的是()。

A.计算机病毒是一个标记或命令

B.计算机病毒会破坏文件和数据

C.计算机病毒是人为编写的以影响计算机功能为目的程序

D.计算机病毒不是生物病毒

点击查看答案
第8题
下列关于面向对象的论述中正确的是______。A) 面向对象是指以对象为中心,解析、设计和实现应用程序

下列关于面向对象的论述中正确的是______。

A) 面向对象是指以对象为中心,解析、设计和实现应用程序的机制

B) 面向对象是指以功能为巾心,解析、设计和实现应用程序的机制

C) 面向对象仅适用于程序设计阶段

D) 面向对象是一种程序设计语言

点击查看答案
第9题
编写一个子程序,其功能为将片内RAM的30H~32H单元中的压缩BCD码拆成6位非压缩BCD码,存放到33H~38H单元中。

点击查看答案
第10题
请在每条横线处填写一个语句,使程序的功能为:判断输入的年份是否为闰年(例如:1998年不是闰年,200

请在每条横线处填写一个语句,使程序的功能为:判断输入的年份是否为闰年(例如:1998年不是闰年,2000年是闰年).

注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

import java.io.*;

public class LeapYear{

public static void main(String args[]){

___________________;

BufferedReader in;

ir=new InputStreamReader(_____________________________);

in=new BufferedReader(ir);

System. out. print In("输入年份是: ");

String s=in.readline();

int year=___________________

if(year%4==0&&year%100!=0||year%400==0

System.out.println(" "+year+" "年是闰年. ");

else

System.out.println(" " +year+ " "年不是闰年.");

}

}

}

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改