ايران ويج

نسخه‌ی کامل: چاپ استار در صفحه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

لطفا سوال منو پاسخ بدید

چاپ ستاره از


کد:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * *
بین هر ستاره یک فاصله وجود دارد
با استفاده از 2 حلقه (لیبل)
و تابع 09h وقفه 10h برای اینکه در 0 تا 24 سطر چاپ شود

کد:
mov ah, 02h
mov dh, سطر
mov dl, ستون
mov bh, صفحه
int 10h
تشکر
خب مشکل چیه؟
(۱۶-اردیبهشت-۱۳۸۹, ۱۴:۵۳:۲۸)ajlajlajl نوشته است: [ -> ]خب مشکل چیه؟

سلام

مشکل همش هست دیگه

لطف کن انجامش بده منکه مردم حل نشد
سلام دوست عزیز:
برای شما برنامه اش را نوشتم.
کد:
MOV BL,1
      MOV BH,BL
      
      
      MOV CX,25
      L1:
      
        CMP BL,0
        JE L2

          MOV  AH,02H
          MOV  DL,'*'  
          INT  21H
        
          MOV  AH,02H
          MOV  DL,20H  
          INT  21H
          
          DEC BL
        
        JMP L1
        
        L2:
        
        INC BH
        MOV BL,BH
        
    
        MOV  AH,02H
        MOV  DL,0AH  
        INT  21H

        MOV  AH,02H
        MOV  DL,0DH  
        INT  21H
    
      LOOP L1
سلام

ممنون

میشه کاری کرد که دیگه از
کد:
MOV  AH,02H
        MOV  DL,0AH  
        INT  21H

        MOV  AH,02H
        MOV  DL,0DH  
        INT  21H
استفاده نکرد؟
به جاش سطر بدین در mov ah, 02h

تشکر
سلام دوست عزیز:
اگر می خواهی سطر و ستون بدهی باید از این وقفه زیر استفاده کنی.
این برنامه کاراکتر A را در ابتدای صفحه چاپ می کند.
بعد مکان نما را به خانه [5,10] می برد و بعد کاراکتر B را چاپ می کند.
اگر دقیقا همین کد هایی که من اینجا نوشتم را در اسمبلی کپی کنی یا بنویسی بهتر می فهمی که چه شکلی کار می کنند.
اگر خواستی من برنامه ی چاپ ستاره را برای شما با این وقفه بنویسم.
ولی این کار زیاد منطقی نیست.
کد:
MOV  AH,02H
      MOV  DL,'A' ;PRINT A
      INT  21H
      
      MOV AH,2H   ;CURSOR MOVE
      MOV DH,5    ;ROW
      MOV DL,10   ;COLUMN
      MOV BH,0    ;PAGE NUMBER
      INT 10H    
      
      MOV  AH,02H
      MOV  DL,'B' ;PRINT B
      INT  21H
اگه بنویسید ممنون میشم

اینکد رو دیدم A رو اول چاپ میکنه
و انتهای اون B چاپ میشه

اگه انجامش بدین لطفا
سلام :
برنامه چاپ ستاره را با تابع ای که خواسته بودید نوشتم .
فقط باید متغیر A را در سگمنت داده تعریف کنید.
کد:
A DB ?  ;SEGMENT 'DATA'
      
      
      
      
      MOV BL,1
      MOV BH,BL
      MOV A,0
      
      
      MOV CX,25
      L1:
      
        CMP BL,0
        JE L2

          MOV  AH,02H
          MOV  DL,'*'  
          INT  21H
        
          MOV  AH,02H
          MOV  DL,20H  
          INT  21H
          
          DEC BL
        
        JMP L1
        
        L2:
        
        INC BH
        MOV BL,BH
        
        INC A
    
        MOV AH,2H   ;CURSOR MOVE
        MOV DH,A    ;ROW
        MOV DL,0  ;COLUMN
        MOV BH,0    ;PAGE NUMBER
        INT 10H  
        
        MOV BH,BL
        
      LOOP L1
بسیار متشکرم