A.只有在发生函数调用时,函数中的形参才被分配内存单元
B.如果形参是数组名,则传递的是每个数组元素的值
C.形参变量所占用的内存单元位于堆中
D.实参对形参的数据传递是单向的“值传递”,因此,在被调用的函数之中,无法去修改主调函数中任何变量的值
A.只有在发生函数调用时,函数中的形参才被分配内存单元
B.实参对形参的数据传递是单向的“值传递”,因此,在被调用的函数当中,没有办法去修改主调函数中任何变量的值
C.形参变量所占用的内存单元位于堆中
D.如果形参是数组名,则传递的是每个数组元素的值
A.高速缓存(Cache)
B.主存储器(DRAM)
C.闪存(FLASH Memory)
D.寄存器(Registers)
请编制程序PROC1.ASM,其功能是:内存中有一个ASCII字符串(从S0URCE开始存放),试将其中所有连续的回车与换行符(0DH,0AH)置换成单个回车符(0DH)。字符串以00H结尾,长度(包括00H)不超过100个字节。
例如:字符串41H,42H,0DH,0AH,43H,00H
转换为41H,42H,0DH,43H,00H
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUT- PUT1.DAT中。请编写BECIN到END之间的代码。对程序必须进行汇编,并与IO.OBJ连接产生PROC1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
部分源程序如下:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 100
STAC SEGMENT STACK
DB 128 DUP ()
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP (0)
RESULT DB N DUP (0)
NAME0 DB 'INPUT1. DAT', 0
NAME1 DB 'OUTPUT1. DAT', 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STAC
START PROC FAR
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DATA
MOV DS, AX
LEA DX, SOURCE ; 数据区起始地址
LEA SI, NAME0 ; 原始数据文件名
MOV CX,N ; 字节数
CALL LOAD ; 从"INPUT1.DAT"中读取数据
**** BEGIN ****
***** END *****
LEA DX, RFSULT ; 结果数据区首址
LEA SI, NAME1 ; 结果文件名
MOV CX,N ; 结果字节数
CALL SAVE
RET
START ENDP
CODE ENDS
END START
编程思路:
第一步:分析程序要求的功能。
本程序需要完成以下功能。
(1)据文件INPUT1.DAT中读取100个ASCII码存放在SOURCE开始的内存单元中。
(2)将SOURCE开始的100个字单元中的ASCII码,将0DH后的0AH删除,并将结果存放在RFSULT开始的内存单元中。
(3)将结果存放在OUTPUT1.DAT中。
第二步:用相应的汇编程序来实现其功能。
(1) 数据的读取和存入文件部分的实现,题目中已经给出。
(2) 如果是将数据在原地进行处理,那么每删除一个数据就要将其后面的所有数据向前移动一个位置,如果直接将扫描处理完毕的数据复制到结果地址中,将会节省移动数据的开销;
因为要删除0DH后面的0AH,所以,在扫描数组的过程中除了要了解当前数据元素的内容还要了解前一个数据的内容。解决方法可使用标志单元记录前一个数据是否为 0DH,然后当前数据元素根据标志单元的内容决定当前元素是否复制到结果中;也可在扫描数组的过程中,如果碰到一个0DH,则进入不同的程序段,这个程序段决定是否将当前数据元素复制到结果中。我们的参考答案采用了后一种方法。
● 关于C 语言的函数参数,下列叙述中正确的是 (60) 。
A. 只有在发生函数调用时,函数中的形参才被分配内存单元
B. 实参对形参的数据传递是单向的 “值传递”,因此,在被调用的函数当中, 没有办法去修改主调函数中任何变量的值
C. 形参变量所占用的内存单元位于堆中
D. 如果形参是数组名,则传递的是每个数组元素的值
A.数据总线上输出的数据
B.不同的地址代码
C.内存与I/O设备使用不同的地址总线
D.不同的指令
A.数据总线上输出的数据
B.不同的地址代码
C.内存与I/0设备使用不同的地址总线
D.不同的指令
在单指令流多数据流计算机(SIMD) 中,各处理单元必须(20)。
A.以同步方式,在同一时间内执行不同的指令
B.以同步方式,在同一时间内执行同一条指令
C.以异步方式,在同一时间内执行不同的指令
D.以异步方式,在同一时间内执行同一条指令
(4 )算法的空间复杂度是指
A )算法在执行过程中所需要的计算机存储空间
B )算法所处理的数据量
C )算法程序中的语句或指令条数
D )算法在执行过程中所需要的临时工作单元数