要求:编写程序,求1—1600之间能被3和5整除但是不能被7整除的整数之和(已知结果为72465)并存放在双字变量sum中(低16位存放在sum,高16位存放在sum+2)
源代码:
DATAS SEGMENT
;此处输入数据段代码
sum dd 0
sum1 dw 0
sum2 dw 0
div1 dw 3
div2 dw 5
div3 dw 7
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
mov cx,1600
mov ax,1
lop1:
mov dx,0
div div3
cmp dx,0
jz cont
mov dx,0
mov ax,bx
div div1
cmp dx,0
jnz cont
mov dx,0
mov ax,bx
div div2
cmp dx,0
jnz cont
mov ax,bx
add sum1,ax
mov dx,0
adc sum2,dx
cont:
mov ax,bx
inc ax
mov bx,ax
loop lop1
mov dx,0
adc sum2,dx
mov ax,sum1
mov word ptr sum,ax
mov ax,sum2
mov word ptr sum[2], ax
MOV AH,4CH
INT 21H
CODES ENDS
END START