题目:求内存中从地址0040:0000H开始的1024个字的字检验和
代码如下:
DATAS SEGMENT ;此处输入数据段代码 SUM DW ? DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES; START: ;初始化部分 MOV AX,40H MOV DS,AX ;设置数据段寄存器值为0040H MOV SI,0 ;将偏移地址设置为0,根据题目的需求设置好逻辑地址 MOV CX,1024 ;设置循环计数器 XOR AX,AX ;进行初始化清零 ;循环体部分 AGAIN: ADD AX,[SI] ;求和操作 ;调整部分 INC SI ;修改存储器地址指针 INC SI ;因为是字变量,使用两次该命令将指针指向两个内存单元后的地址 ;循环控制部分 LOOP AGAIN ;loop指令的格式是:loop标号,cpu执行loop指令的时候,要进行两步操作 ;1:(cx)=(cx)-1 ;2:判断cx中的值,不为零则转至标号处执行,如果为零,则向下执行 ASSUME DS:DATAS
MOV BX,DATAS MOV DS,BX MOV SUM,AX ;保存所求得的和 MOV AH,4CH INT 21H CODES ENDS END START