彙編實驗5.1
阿新 • • 發佈:2018-12-08
要求:編寫程式,求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