简答题

试编写宏定义SUMMING,要求求出双字数组中所有元素之和,并把结果保存下来。该宏定义的哑元应为数组首址ARRAY,数组长度COUNT和结果存放单元RESULT。

正确答案

宏定义如下:
SUMMING MACRO ARRAY,COUNT,RESULT
LOCAL ADDITION
MOV ESI,0
MOV ECX,COUNT
ADDITION:MOV EAX,ARRAY[ESI*4];;双字为4字节
ADD RESULT,EAX
ADC RESULT+4,0;;将进位加到结果的高位双字中
INC ESI
LOOP ADDITION
ENDM

答案解析

相似试题
  • 为下列数据段中的数组编制一程序,调用题7.16的宏定义SUMMING,求出该数组中各元素之和。DATADD 101246,274365,843250,475536SUMDQ?

    简答题查看答案

  • 试编写一程序求出双字长数的绝对值。双字长数在A和A+2单元中,结果存放在B和B+2单元中。

    简答题查看答案

  • 在A1和A2的字单元中存有一个带符号的双字长数据,先要求出该双字长数的绝对值,并存入B1和B2的字单元中,编写一汇编语言程序实现.

    简答题查看答案

  • 编写宏定义程序,可以对任意字数组求元素之和,数组名称、元素个数和结果存放单元为宏定义的哑元。

    简答题查看答案

  • 编写非递归的宏定义,计算K的阶乘,K为变元。

    简答题查看答案

  • 写出宏指令SUMMING,实现将字节缓冲区array中的内容求校验和(保留低8位),并保存在VALUE中。

    简答题查看答案

  • 试编写非递归的宏指令,使其完成的工作与7.9题的STORE相同。

    简答题查看答案

  • 编写出一个宏定义MYALPHA(C),用以判断C是否是字母字符,若是得1,否则得0。

    简答题查看答案

  • 编写宏定义,比较两个常量X和Y,如果X>Y,MAX=X,否则MAX=Y。

    简答题查看答案