نمایش نتایج 1 تا 40 از 65

نام تاپیک: برنامه های کاربردی در اسمبلی

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    نقل قول: برنامه های کاربردی در اسمبلی

    سلام به دوستای گلم

    خوب اینو آموزش میدم که جنبه حل تمرین نباشه

    خوب قالب اصلی برنامه نویسی اسمبلی و که همه بلدیم اینجوریه

    .MODEL SMALL

    .STACK 64

    .DATA

    .CODE

    MAIN PROC FAR

    MOV AX,@DATA
    MOV DS,AX
    MOV ES,AX
    ;------------------------------------------------------------------


    EXIT:
    ;-----------------------PAUS-------------------------------------
    MOV AH,00H
    INT 16H
    ;----------------------------------------------------------------

    MOV AX,4C00H
    INT 21H

    MAIN ENDP

    END MAIN



    اینم قسمت داده ها


    .DATA
    ;----------------------DATA-------------

    MAX_NUM DB 0

    MIN_NUM DB 0

    STR DB "CONTINUE ? $"

    MAXSTR DB "MAX IS : $"

    ENDL DB 0AH,0DH,'$'

    MINSTR DB " MIN IS : $"

    S DB "ENTER NUM : $"

    ;---------------------------------------


    در شروع برنامه هم ماکز و هم مین صفر درنزر گرفته میشه

    و منتق برنامه اینه که اگه عددی که کاربر وارد میکنه از ماکزیمم بیشتر ماکز بشه اون عدد و بعدش شرط مین هم چک میشه


    MOV AH,09H
    LEA DX,S
    INT 21H


    MOV AH,01H
    INT 21H
    MOV MIN_NUM,AL
    MOV MAX_NUM,AL

    MOV AH,06H
    MOV AL,0
    MOV CX,0
    MOV DH,24
    MOV DL,79
    MOV BH,00001001B
    INT 10H

    JMP L2

    FOR:

    MOV AH,06H
    MOV AL,0
    MOV CX,0
    MOV DH,24
    MOV DL,79
    MOV BH,00001001B
    INT 10H

    MOV AH,02H
    MOV BX,0
    MOV DX,0
    INT 10H

    MOV AH,09H
    LEA DX,S
    INT 21H


    MOV AH,01H
    INT 21H


    SUB AL,30H

    CMP MAX_NUM,AL
    JNA L4
    ADD AL,30H
    MOV MAX_NUM,AL

    L4:
    CMP AL,30H
    JB L5
    CMP AL,39H
    JA L5
    CMP MIN_NUM,AL
    JNB L2
    ADD AL,30H
    MOV MIN_NUM,AL

    JMP L2

    L5:
    SUB AL,30H
    CMP MIN_NUM,AL
    JNB L2
    ADD AL,30H
    MOV MIN_NUM,AL


    ;---------


    L2:
    ;SOAL

    ;CLEAR SCREAN


    MOV AH,06H
    MOV AL,0
    MOV CX,0
    MOV DH,24
    MOV DL,79
    MOV BH,00001001B
    INT 10H

    ;------MOV X,Y

    MOV AH,02H
    MOV BX,0
    MOV DX,0
    INT 10H

    ;------
    MOV AH,09H
    LEA DX,STR
    INT 21H

    MOV AH,01H
    INT 21H
    CMP AL,'Y'

    JE FOR

    MOV AH,06H
    MOV AL,0
    MOV CX,0
    MOV DH,24
    MOV DL,79
    MOV BH,00001001B
    INT 10H

    MOV AH,09H
    LEA DX,ENDL
    INT 21H


    MOV AH,09H
    LEA DX,MAXSTR
    INT 21H

    MOV AH,02H

    MOV DL,MAX_NUM
    INT 21H

    MOV AH,09H
    LEA DX,ENDL
    INT 21H


    MOV AH,09H
    LEA DX,MINSTR
    INT 21H

    MOV AH,02H
    MOV DL,MIN_NUM
    INT 21H


    اول برنامه یک عدد گرفته میشه و هم ماکز و هم مین برابر اون عدد میشه

    و بعد تا وقتی کاربر در جواب اینکه ادامه میدید بگه Y (حرف بزرگ) که اونم میتونید OR بنویسید عدد گرفتن ادامه پیدا میکنه
    و بعدش اگه گفت نه میاد بزرگ و کوچیک و چاپ میکنه
    (بازم شرمنده باید برم جایی اونجور که باید توضیح ندادم)
    امیدوارم استفاده کنید


    آخرین ویرایش به وسیله $ M 3 H R D A D $ : دوشنبه 05 بهمن 1388 در 20:42 عصر

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    32

    Lightbulb نقل قول: برنامه های کاربردی در اسمبلی

    با عرض سلام و تشكر خدمت دوست گرامي !

    من تمامي مراحلي كه فرموده بوديد رو انجام دادم و در هر قسمت كد مربوطه را نوشتم اما
    وقتي برنامه را اجرا مي كنم ابتدا "Enter num " ظاهر مي شود و من يك عدد مثلا 8 را وارد
    مي كنم ، سپس عبارت Continue را از من سوال مي كند و من عدد 5 را وارد كردم
    اما هم ماكزيمم و هم مينيمم را عدد 8 اعلام مي كند ، ميشه لطف كنيد علت آن را بيان كنيد و يا لطف كنيد كد كامل برنامه را بنويسيد . ممنون ميشم اگه اين لطف را كنيد !!

    با تشكر

  3. #3

    نقل قول: برنامه های کاربردی در اسمبلی

    نقل قول نوشته شده توسط Blunch مشاهده تاپیک
    با عرض سلام و تشکر خدمت دوست گرامی !

    من تمامی مراحلی که فرموده بودید رو انجام دادم و در هر قسمت کد مربوطه را نوشتم اما
    وقتی برنامه را اجرا می کنم ابتدا "Enter num " ظاهر می شود و من یک عدد مثلا 8 را وارد
    می کنم ، سپس عبارت Continue را از من سوال می کند و من عدد 5 را وارد کردم
    اما هم ماکزیمم و هم مینیمم را عدد 8 اعلام می کند ، میشه لطف کنید علت آن را بیان کنید و یا لطف کنید کد کامل برنامه را بنویسید . ممنون میشم اگه این لطف را کنید !!

    با تشکر
    عزیز continue و هرجا تو ببینی منظورش چیه؟
    میگه ادامه میدید یا نه؟
    یا Y)بزرگ) یا N یا هرچیز غیر از Y

    اگه Y بزنی بازم عدد میگیره

    تا وقتی غیر از اون بزنی

    مثلا بزن

    اول 2
    بعد 5
    بعد 8
    بعد که سوال کرد بزن N

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •