الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مهم ولضروره

مغلق
بدأه مــــدلل في 7 ديسمبر 2004 · 0 رد · 400 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عيكم ورحمة الله

هذا البرنامج يطبع الاحرف من A الى I على شكل مثلث بحيث اذا أدخلت الرقم 2 يطبع مثلث من a,b بحيث السطر الاول يطبع a اما السطر الثاني يطبع a,b وهكذا حد الرقم تسعه.......!!!!!

اللي يعرف يجعل البرنامج يطبع جميع الحروف الانجليزيه من a الى z ارجوا كتابه الحل ؟؟؟؟؟؟

S segment stack
     db 100 dup (?)
S ends
;     
data segment
;
msg1 db 0ah,0dh,"Enter a number less than 10 :$"

data ends

code segment
;
assume cs:code,ds:data
     
main proc far

     
     mov ax,data
     mov ds,ax

WhileLoop1:    
     mov ah,9           
     lea dx,msg1       
     int 21h           

     mov ah,1
     int 21h
     cmp al,'0'
     jl WhileLoop1
     cmp al,'9'
     jg WhileLoop1

     mov si,0

     mov ah,2
     mov cx,0
     mov cl,al
     sub cx,30h
     mov ah,2
     mov dl,0ah
     int 21h
     mov dl,0dh
     int 21h
     
WhileLoop2:
      mov dl,'A'
      cmp si,cx
      jge End_Of_Loop
      mov di,0

WhileLoop3:
     cmp di,si
     jg End_Of_Loop3
     int 21h
     inc dl
     inc di
     jmp WhileLoop3

End_Of_Loop3:
     inc si
     mov ah,2
     mov dl,0ah
     int 21h
     mov dl,0dh
     int 21h
     jmp WhileLoop2

End_Of_Loop:

;Back TO DOS
mov ah,4ch
int 21h
main endp
code ends
end main

هذا الموضوع مغلق.

مواضيع مشابهة