1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

برنامه های نوشته شده به زبان اسمبلی

شروع موضوع توسط hector2141 ‏25/7/13 در انجمن Assembly

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [h=2]برنامه فاکتوریل یک عدد[/h]
    ---C++
    cin>>n;
    s=0;
    for(i=1;i<=n;i++)
    s=s*i;
    cout<<s;
    -----assembly
    INPUT n,10
    ATOI n
    MOV Bx,Ax
    MOV Ax,1 //ax=s
    MOV SI,1
    L: CMP SI,Bx
    JNBE L2
    MUL SI
    INC SI
    JMP L
    L2: ITOA s,Ax

    OUTPUT s
     
    2 نفر از این پست تشکر کرده اند.
  2. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : برنامه های نوشته شده به زبان اسمبلی

    [h=2]برنامه 1! + 2! + 3! + ... + n![/h]
    ----C++
    cin>>n;
    s=0;
    b=0
    for(j=1;j<=n;j++){
    for(i=1;i<=j;i++)
    b=b*i;
    s=s+b;
    }
    cout<<s;

    ----assembly
    INPUT n,10
    ATOI n
    MOV Bx,Ax
    MOV Ax,1
    MOV Cx,0
    MOV DI,1
    LF1: CMP DI,Bx
    JNBE L2
    MOV SI,1
    LF2: CMP SI,DI
    JNBE L2
    MUL SI
    INC SI
    JMP LF2
    ADD Cx,Ax
    INC DI
    JMP LF1
    L2: ITOA s,Cx
    OUTPUT s
     
    یک شخص از این تشکر کرد.
  3. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : برنامه های نوشته شده به زبان اسمبلی

    [h=2]برنامه a^1 + a^2 + ... + a^n[/h]
    ----C++
    cin>>a>>n;
    s=a;
    for(i=1;i<=n;i++){
    for(j=1;j<i;j++){
    b=a*a;
    }
    s=s+b;
    }
    cout<<s;
    ----assembly
    INPUTS a,10
    INPUTS n,10
    ATOI a
    MOV Bx,Ax //Bx=a
    ATOI n
    MOV Ax,Cx // Cx=n
    MOV Dx,Bx //s=a
    MOV DI,1
    LF1: CMP DI,Cx
    JNBE L2
    MOV SI,1
    LF2: CMP SI,DI
    JNB L2
    MUL Bx //b=a*a;
    INC SI
    JMP LF2
    ADD Dx,Ax // s=s+b
    INC DI
    JMP LF1
    L2: ITOA s,Dx
    OUTPUT s
     
    یک شخص از این تشکر کرد.
  4. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : برنامه های نوشته شده به زبان اسمبلی

    [h=2]برنامه تعیین عدد اول[/h]
    ---------- C++
    cin>>a;
    for(i=1;i<=a;i++)
    if(a%i==0)
    goto L1;
    cout<<"yes";
    goto L2;
    L1: cout<<"no";
    L2:
    ----assembly
    x DB "yes"
    y DB "no"
    .
    .
    .
    MOV CX,"
    INPUTS a,10
    ATOI a
    MOV SI,1
    L: CMP SI,Ax
    JNBE L2
    DIV SI
    CMP Ah,0 // Ah=Ax%SI
    JE L3
    INC SI
    JMP L
    L2: OUTPUT x
    JMP L4
    L3: OUTPUT y
    L4:
     
    یک شخص از این تشکر کرد.
  5. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : برنامه های نوشته شده به زبان اسمبلی

    [h=2]برنامه مجموع ارقام یک عدد[/h]
    NPUT a,10
    ATOI a
    MOV SI,1
    L: CMP SI,Cx
    JNBE L2
    DIV 0AH
    ADD S,AH
    INC SI
    JMP L
    L2: ITOA S,str
    OUTPUT str

     
    یک شخص از این تشکر کرد.
  6. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : برنامه های نوشته شده به زبان اسمبلی

    [h=2]ده عدد خوانده و میانگین اعداد فرد را حساب کند[/h]
    ----C++
    int a[10];
    count=0;
    s=0;
    for(i=0;i<10;i++)
    cin>>a;
    for(j=0;j<10;j++)
    if(a[j]%2==1){
    count++;
    s=s+a[j];
    }
    s=s/count;
    cout<<s;
    ------assembly
    a DW 10 DUP(?)
    .
    .
    .
    MOV Cx,0 // Cx=count=0
    MOV Bx,0 // Bx=s=0
    MOV SI,0
    LF1: CMP SI,0AH
    JNB L2
    INPUTS b,10
    ATOI b
    MOV a[SI],Ax
    INC SI
    JMP LF1
    L2:
    MOV DI,0
    LF2: CMP SI,0AH
    JNB L2
    MOV Ax,a[DI]
    DIV 2
    CMP Ah,1
    JNE L3
    INC Cx
    ADD Bx,a[DI]
    L3: INC SI
    JMP LF2
    MOV Ax,Bx
    DIV Cx
    ITOA AL,s
    OUTPUT s


     
    یک شخص از این تشکر کرد.
  7. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,323
    تشکر شده:
    2,698
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    پاسخ : برنامه های نوشته شده به زبان اسمبلی

    [h=2]حاصلضرب ارقام موجود یک رشته[/h]
    INPUT a,10
    ATOI a
    MOV Bx,Ax
    MOV SI,0
    L: CMP SI,Cx
    JNB L2
    DIV 0AH
    MOV CL,Ah
    MOV Ax,Bx
    MOV CH ,0
    MUL CX
    INC SI
    JMP L
    L2: ITOA Dx:Ax,str
    OUTPUT str

     
    یک شخص از این تشکر کرد.
  8. پاسخ : برنامه های نوشته شده به زبان اسمبلی

    من اصلا زبان اسمبلی توی مخم نمیره یعنی قبلا میرفت الان دیگه پیر شدیم ... با اجازه تون یه ماه پیش استاد نمره صفر منو ده 10 داد
     
    2 نفر از این پست تشکر کرده اند.