برنامه ی چاپ ستاره های مورب در خروجی

younesr

عضو جدید
برنامه ای بنویسید که شکل زیر را در خروجی چاپ کند/


*
***
*****
*******
*********​
 
آخرین ویرایش توسط مدیر:

sayyad84

متخصص زبان Assembly
کاربر ممتاز
باسلام،
از تابع تعیین مکان مکان نما استفاده کنید! در هر بار انجام حلقه یکی به DH اضافه می شه اما یکی از DL کم می شه! نیاز به یه شمارنده ی ستاره هم دارید که با توجه به مثلاً سطر ستاره تعداد رو تعیین می کنه! البته می تونه جور دیگه ای باشه!
 
  • Like
واکنش ها: Sarp

younesr

عضو جدید
برنامه ای به زبان اسمبلی بنویسد که شکل زیر را در خروجی چاپ کند

برنامه ای به زبان اسمبلی بنویسد که شکل زیر را در خروجی چاپ کند

باسلام،
از تابع تعیین مکان مکان نما استفاده کنید! در هر بار انجام حلقه یکی به DH اضافه می شه اما یکی از DL کم می شه! نیاز به یه شمارنده ی ستاره هم دارید که با توجه به مثلاً سطر ستاره تعداد رو تعیین می کنه! البته می تونه جور دیگه ای باشه!

مرسی از راهنماییت
اما متاسفانه من منظورت رو نگرفتم
من یه برنامه نوشتم اما توی هرسطر فقط یه ستاره چاپ می کند اگه کسی می تونه با توجه به این برنامه واسم درستش کنه که مثل شکل زیر بشه ممنون میشم
با تشکر قاسمی
*
***
*****
*******
*********




codesg segment
main proc far
assume cs:codesg
mov cx,10
mov bl,5
:for
mov ah,2
mov dh,bl
mov dl,bl
mov bh,0
int 10h
'*'و mov dl
mov ah,2
int 21h
inc bl
loop for
main endp
codesg ends
end main

 

sayyad84

متخصص زبان Assembly
کاربر ممتاز
شما دو حلقه نیاز دارید، یکی برای افزودن به DH که می ره سطر بعد و یکی برای اینکه تو هر سطر به تعداد لازم ستاره چاپ کنه!
 
  • Like
واکنش ها: N.NK

N.NK

عضو جدید
برنامه ای بنویسید که شکل زیر را در خروجی چاپ کند/


*
***
*****
*******
*********​

اگه کسی می تونه جواب بده ممنون میشم 5 هزار تومان هم دست مزد می دم با تشکر قاسمی
arasto_alonee@yahoo.com

mov k,3
mov i,1
while:
cmp i,4
jnle endwhile1
mov cx,1
while2:
cmp cx,k
jnle endwile2
mov ah,2H
mov dl,' '
int 21H
inc cx
jmp while2:
end while2
dec k
mov cx,1
mov ax,i
mov bl,2
mul bl
dec ax
mov m,ax
while3:
cmp cx,m
jnle end while3
mov ah,2H
mov dl,'*'
int 21H
inc cx
jmp while3
اینجا کد چاپ رو بنویس
inc i
jmp while1
endwhile1
5تومنتم تو محیط فرهنگی بذار تو جیبت!
 
  • Like
واکنش ها: Sarp

N.NK

عضو جدید
ببین یه جاهایی غلط املایی داشتم تا جایی که دیدم درستش کردم باز خودت بچک .ولی اصلش اینه من الان رو سیستمم برنامه اسمبلی ندارم .
مشاهده پیوست star.txt
 

shenil

عضو جدید
دوست عزیز این برنامه من شبیه برنامه شماست حیف که درگیر پروژه خودمم چشمم به تاپیک افتاد گفتم اینو بذارم واست شاید به دردت بخوره
کد:
; multi-segment executable file template.

data segment
    ; add your data here!       
    x db 10
    dup db 9  
    st db "*","$"  
    r db  25
    
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
; set segment registers:
    mov ax, data
    mov ds, ax
    mov es, ax

    ; add your code here  
 l1:
    mov ah,02h
    mov bh,0
    mov dl,8
    mov dh,x
    int 10h  
      
  
      mov ch,0
      mov cl,dup  
   l2:
      mov ah,09h 
      lea dx,st
      int  21h 
      loop l2
      inc x
      dec dup
      cmp dup,0 
      jne l1
            
    
    
    
    ; wait for any key....    
    mov ah, 1
    int 21h
    
    mov ax, 4c00h ; exit to operating system.
    int 21h    
ends

end start ; set entry point and stop the assembler.
کپییش کن توی یه برنامه جدید و بدون کداسمبلی و اجراش کن
موفق باشی
 

younesr

عضو جدید
اینم جوابش بعد از چند روز تمرین نوشتمش
codesg segment
main proc far
assume cs:codesg
mov ah,6
mov al,25
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,07h
int 10h


mov cx,1
mov bl,9
mov dh,5
for:
mov ah,2
mov dl,bl
mov bh,0
int 10h
mov dl,'*'
mov ah,2
int 21h
inc bl
loop for

cmp dh,5
je satr6
cmp dh,6
je satr7
cmp dh,7
je satr8
cmp dh,8
je satr9
jmp endif

satr6:
mov cx,3
mov bl,8
mov dh,6
jmp for
satr7:
mov cx,5
mov bl,7
mov dh,7
jmp for
satr8:
mov cx,7
mov bl,6
mov dh,8
jmp for

satr9:
mov cx,9
mov bl,5
mov dh,9
jmp for

endif:

main endp
codesg ends
end main
 

Similar threads

بالا