汇编十个数字分别相乘再相加

来源:互联网 发布:windows软件被阻止安装 编辑:程序博客网 时间:2024/06/15 04:27
DATAS SEGMENT    ;此处输入数据段代码      ORG  1000H;为调试方便将数据存于指定地址处,    adb   89, 5, 56, 80,90,99,67,78,93,100; 10个数据    ORG  2000H;便于查看和设置    bdb   18, 29, 12, 38,79,63,88,7,10,17; 10个数据    ORG  3000H;    SUMdw   ?DATAS ENDSSTACKS SEGMENT    ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:     MOV AX,DATAS     MOV DS,AX     ;此处输入代码段代码     MOV DX,0     MOV SI,0     MOV CX,10;由于要实现十个数相乘,所以要循环次数为10LOP1:MOV AL,a[SI];取被乘数a[SI]     MUL b[SI];a[SI]*b[SI],结果在AX中 ADD DX,AX;由于要进行10次循环相加,所以DX初始化为0;把AX+DX的结果存于DX中空出AX INC SI;SI=SI+1指针移向下一字节 LOOP LOP1    ;☆ MOV   SUM,DX     MOV AH,4CH     INT 21HCODES ENDS     END START

0 0