تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 6 از 6

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

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2008
    پست ها
    9

    پيش فرض کمک در تحلیل برنامه اسمبلی

    سلام دوستان اگه کسی هست که تو تحلیل این کد که به زبان اسمبلی هست بهم کمک کنه ممنون میشم ( کارش ایجاد یک صفحه آبی رنگ در وسط صفحه و چاپ تمام کارکتر های اسکی در کادر)
    .MODEL SMALL
    .CODE
    ORG 100H
    BEGIN: JMP A10MAIN


    CTR DB 00
    COL DB 24
    ROW DB 04
    MODE DB ?
    A10MAIN PROC NEAR
    CALL B10MODE
    CALL C10CLR
    A20:
    CALL D10SET
    CALL E10DISP
    CMP CTR,0FFH
    JE A30
    INC CTR
    ADD COL,02
    CMP COL,56
    JNE A20
    INC ROW
    MOV COL,24
    JMP A20
    A30:
    CALL F10READ
    CALL G10MODE
    MOV AX,4C00H
    INT 21H

    A10MAIN ENDP

    B10MODE PROC NEAR
    MOV AH,0FH
    INT 10H
    MOV MODE,AL
    MOV AH,00H
    MOV AL,03
    INT 10H
    RET

    B10MODE ENDP

    C10CLR PROC NEAR
    MOV AH,08H
    INT 10H
    MOV BH,AH
    MOV AX,0600H
    MOV CX,0000
    MOV DX,184FH
    INT 10H
    MOV AX,0610H
    MOV BH,16H
    MOV CX,0418H
    MOV DX,1336H
    INT 10H
    RET
    C10CLR ENDP


    D10SET PROC NEAR
    MOV AH,02H
    MOV BH,00
    MOV DH,ROW
    MOV DL,COL
    INT 10H
    RET
    D10SET ENDP


    E10DISP PROC NEAR
    MOV AH,0AH
    MOV AL,CTR
    MOV BH,00
    MOV CX,01
    INT 10H
    RET

    E10DISP ENDP
    F10READ PROC NEAR
    MOV AH,08H
    INT 21H
    RET

    F10READ ENDP


    G10MODE PROC NEAR
    MOV AH,00H
    MOV AL,MODE
    INT 10H
    RET
    G10MODE ENDP


    END BEGIN





  2. #2
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2013
    پست ها
    15

    پيش فرض

    سلام دوست عزیز
    میتونی بگی دقیقا کجاش مشکل داری؟

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2013
    پست ها
    15

    پيش فرض

    البته فکر کنم کتاب جعفر نژاد فصل صفحه نمایش رو بخونی کمکت کنه و مشکلت رفع بشه.

  4. #4
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2008
    پست ها
    9

    پيش فرض

    البته فکر کنم کتاب جعفر نژاد فصل صفحه نمایش رو بخونی کمکت کنه و مشکلت رفع بشه.
    والا من توابع کتابخانه ای رو خیلی خوب بلد نیستم تابع ها رو نمیدونم جریانشون چیه و هر کدوم چیکار مینه

  5. #5
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2013
    پست ها
    15

    پيش فرض

    برنامه شما با 4 - 5 تا زیر برنامه نوشته شده که هر کدوم کار خاصی رو انجام میده، اینم بگم که چون از org100 درش استفاده شده برنامتون com حساب میشه
    در ابتدا با دستور پرش به زیر برنامه A10MAIN میره که داخل این زیر برنامه نیز چندتا زیر برنامه دیگه فراخوانی شده ، مثلا B10MODE که حالت ویدیویی رو مشخص می کنه(0fh) و بعد هم حالت گرافیکیتو نشون میده(MOV AH,00H) که بعد با دستور ret به زیر برنامه فراخوان که اینجا همون A10MAIN زیر برنامه فراخوان حساب میشه برمیگرده. حالا داخل زیر برنامه A10MAIN یه زیر یرنامه دیگه که C10CLR هستش رو فراخوانی میکنه.این زیر برنامه (C10CLR) بایت صفت کاراکتر تو مشخص میکنه. زیر برنامه D10SET که تابع 02 از وقفه 10 درش استفاده شده موقعیت مکان نما رو مشخص میکنه . شما در ابتد شماره سطر رو ROW DB 04 مشخص کردین و شماره ستون رو COL DB 24 مشخص کردین که ابتدا مستطیل آبی رنگ (بالا سمت چپ) رو مشخص میکنه. زیر برنامه E10DISP که از تابع 0a استفاده میکنه کاراکتر رو همون جایی که مکان نما به اون اشاره میکنه (با تابع 02 این کاره انجام دادین) نشون میده. و در نهایت زیر برنامه F10READ برای نمایش رشته در
    خروجی هستش که از تابع 08 استفاده میکنه.
    امیدوارم که تونسته باشم کمکت کرده باشم.

  6. این کاربر از mohsen_amd بخاطر این مطلب مفید تشکر کرده است


  7. #6
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2013
    پست ها
    15

    پيش فرض

    مطالعه کار ثبات هر تابع هم به عهده خودت، که فکر نمیکنم کار سختی باشه.
    اینم کد برنامه بدون استفاده از زیر برنامه که همون برنامست و فقط بجای فراخوانی یه زیر برنامه از خود کد استفاده شده.

    .MODEL SMALL
    .CODE
    ORG 100H
    BEGIN: JMP A10MAIN
    CTR DB 00
    COL DB 24
    ROW DB 04
    MODE DB ?
    A10MAIN PROC NEAR
    MOV AH,0FH
    INT 10H
    MOV MODE,AL
    MOV AH,00H
    MOV AL,03
    INT 10H

    MOV AH,08H
    INT 10H
    MOV BH,AH
    MOV AX,0600H
    MOV CX,0000
    MOV DX,184FH
    INT 10H
    MOV AX,0610H
    MOV BH,16H
    MOV CX,0418H
    MOV DX,1336H
    INT 10H

    A20:
    MOV AH,02H
    MOV BH,00
    MOV DH,ROW
    MOV DL,COL
    INT 10H

    MOV AH,0AH
    MOV AL,CTR
    MOV BH,00
    MOV CX,01
    INT 10H

    CMP CTR,0FFH
    JE A30
    INC CTR
    ADD COL,02
    CMP COL,56
    JNE A20
    INC ROW
    MOV COL,24
    JMP A20
    A30:
    MOV AH,08H
    INT 21H

    MOV AH,00H
    MOV AL,MODE
    INT 10H

    MOV AX,4C00H
    INT 21H A10MAIN ENDP
    END BEGIN

  8. این کاربر از mohsen_amd بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •