当前位置: 答题翼 > 问答 > 计算机类考试 > 正文
目录: 标题| 题干| 答案| 搜索| 相关
问题

请编制程序 将内存中连续存放着的10个无符号16位二进制数 采用近似计算法求此10个数的近似平方根


请编制程序,将内存中连续存放着的10个无符号16位二进制数,采用近似计算法求此10个数的近似平方根。方法为:令某个数X依次减去1,3,5,7,9……等奇数,一直减到差值刚刚小于等于0为止。计算出所做的减法的次数Y,即为该数的近似平方根。把得到结果并依次存放到内存当中。

例如:内存中:0010H,0100H,0200H……

近似方根:0004H,0010H,0016H……

部分程序已经在PROG1中给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入,存放在SOURCE开始的内存单元中,转换结果存放在RESULT开始的内存单元中,并由过程SAVE保存到文件OUTPUT1.DAT文件中。

对BEGIN和END之间已经给出的源程序填空,使其完整,填空处已经用横线标出,每个空白一般只需填一条指令或指令的一部分;考生也可填入功能相当的多条指令,或删去 BEGIN和END之间原有的代码自行编制程序完成相应的要求。

对程序必须进行汇编并与IO.OBJ连接产生可执行文件,最终运行程序产生结果(无结果和结果不正确均不得分)。

部分源程序如下:

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10

STACK SEGMENT

DB 128 DUP()

STACK ENDS

DATA SEGMENT

SOURCE DW N DUP()

RESULT DW N DUP(0)

NAMED DB "INPUT1. DAT",

NAME1 DB "OUTPUT1. DAT",

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS : DATA,SS : STACK

START PROC FAR

PUSH DS

XOR AX, AX

PUSH AX

MOV AX, DATA

MOV DS; AX

LEA DX, SOURCE

LEA SI, NAMFO

MOV CX, N * 2

CALL LOAD

**********BEGIN**************

LEA DI, RESULT

LEA SI, SOURCE

MOV CX, N

LOOP0: MOV AX, [SI]

MOV BX, 0

LOOP1: (1)

SUB AX, BX

(2) , STORE0

(3)

IMP LOOP1

STOREO: INC BX

(4)

MOV [DI], BX

INC DI

(5)

INC SI

(6) ,

LOOP LOOP0

***************END*************

LEA DX, RESULT

LEA SI, NAME1

MOV CX, N * 2

CALL SAVE

RET

START ENDP

CODE ENDS

&nbs

请帮忙给出正确答案和分析,谢谢!

参考答案
您可能感兴趣的试题
  • 将程序像数据一样存放在计算机内存中运行,是1946年由______提出的。A.图灵B.布尔C.冯·诺依曼D.爱

  • 在以ASCBUF为首址的内存中存放4个字节ASCII码 试编写程序将其转换成两字节4位十六进制数

  • 将程序像数据一样存放在计算机内存中运行 是1946年由______提出的。A.图灵B.布尔C.冯·诺依曼D.爱

  • 请编制程序PROG1.ASM 其功能是:内存中连续存放着二个有符号字节序列Ak和Bk 求序列Ck(Ck=Ak+Bk)。

  • 请编制程序PROG1 ASM 其功能是:内存中连续存放着12个字节的数字ASCII码字符串 将它们转换成相应

  • 请编制程序PROG1.ASM 其功能是:计算10×3矩阵中每一行元素(八位二进制数)之和 并将其存放在指定的