PDA

View Full Version : طزیقه ایجاد یک حلقه؟؟؟؟



smt_414
پنج شنبه 01 دی 1384, 17:17 عصر
با سلام خدمت تمام عزیزان
مشکل :
این برنامه می بایست 3 بار یک کار را تکرار کند اما حتی یک بار هم این کار را انجام نمی دهد
برای حل پروژه به این گونه حلقه ها احتیاج دارم
با تشکر


;************************data**********
dat segment para 'data'
m db 10
n dw 0
g db 30h
dat ends
;******************************************
codseg segment para 'code'
main proc far
assume cs:codseg,ss:stk,ds:dat
;************پاک کردن صفحه************
mov ah,6h
mov al,50
mov ch,0
mov cl,0
mov dh,50
mov dl,79
mov bh,9
int 10h
;********************مقدار تکرار*********
mov cx,00
mov n,1
;************حلقه تکرار******************
L1:
mov cx,n ;***********برای اطمینان از اینکه تعداد تکرارنا خواسته تغیر نکند******************
cmp cx,3
je L2
;*************مکان نما ********************
mov ah,02h
mov bh,0
mov dh,m
mov dl,20
int 10h
;**************چاپ عدد*****************
mov ah,02h
mov dl,g
int 21h
;*****جمع کردن سطر (dh) و عدد(d1)*****
add m,10
add g,2h
;*************inc cx(tekrar)***************
add n,1
;***********************loop****************
jmp l1
;*************L2****************************
l2:
;************etmame e kar*******************
mov ax,4c00h
int 21h
;*******************************************
main endp
codseg ends
end main

aakh1361
پنج شنبه 01 دی 1384, 22:38 عصر
;************************data**********
dat segment para 'data'
m db 10
n dw 0
g db 30h
dat ends
;******************************************
codseg segment para 'code'
main proc far
assume cs:codseg,ss:stk,ds:dat

mov ax,dat
mov ds,ax

mov ax,stk
mov es,ax
;************پاک کردن صفحه************
mov ah,6h
mov al,50
mov ch,0
mov cl,0
mov dh,50
mov dl,79
mov bh,9
int 10h
;********************مقدار تکرار*********
mov cx,00
mov n,0
;************حلقه تکرار******************
L1:
mov cx,n ;***********برای اطمینان از اینکه تعداد تکرارنا خواسته تغیر نکند******************
cmp cx,3
je L2
;*************مکان نما ********************
mov ah,02h
mov bh,0
mov dh,m
mov dl,20
int 10h
;**************چاپ عدد*****************
mov ah,02h
mov dl,g
int 21h
;*****جمع کردن سطر (dh) و عدد(d1)*****
add m,10
add g,2h
;*************inc cx(tekrar)***************
add n,1
;***********************loop****************
jmp l1
;*************L2****************************
l2:
;************etmame e kar*******************
mov ax,4c00h
int 21h
;*******************************************
main endp
codseg ends
end main