نمایش نتایج 1 تا 3 از 3

نام تاپیک: ماتریس کراکتر

  1. #1
    کاربر دائمی آواتار بمب منطقی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    شمال-ایران
    پست
    1,049

    ماتریس کراکتر

    با سلام خدمت دوستان محترم بخش اسمبلی
    دوستان اگه میشه منو راهنمایی کنن که چطوری میتونم جدول رنگ مربوط به هر کراکتر (در سه Mode مختلف 8*8 و 14*8 و 16*8) رو از بایوس بخونم.من در نظر دارم که یه برنامه مربوط به طراحی فونت بنویسم.یعنی به وسیله این برنامه می خوام جدول رنگ مربوط به هر کراکتر رو از بایوس بخونم و طبق ماتریس مربوط به هر کراکتر جدول موجود در برنامم رو پر کنم و سپس کراکتر های طراحی شده رو بجای کراکتر های موجود در بایوس ، بر روی حافظه مقیم کنم.
    تا اونجا که من میدونم باید از توابع وقفه int 10 یا 11 استفاده کنم.ولی چجوریش رو دیگه نمیدونم.
    دوستان اگه میشه به سوالم جواب بدید که به جوابش بدجوری نیاز دارم.
    اگه source code برنامه باشه که معرکه میشه.دستتون درد نکنه :flower: :flower:

  2. #2
    سلام،

    بصورت خلاصه: برای این کار باید حافظه جدول کاراکترهای مورد نظرتون رو انتخاب کنید، بعدش محتویات حافظه رو بخونید! اما این که چطوری جدول کاراکتر رو انتخاب کنید رو توی کتاب PC Intern میتونید پیدا کنید. این چند وقته رو تو خوابگاه هستم، اگه کتاب رو گیر آوردم کدش رو هم براتون میفرستم.

    البته اگه جدولهای استاندارد رو بخواهید کاری نداره با وقفه 16(10 هگزا) سرویس 17(11 هگزا) میتونید جدولهای استاندارد 8*8 یا 16*8 رو میخونید همونطور که گفتید:

    برای خوندن جدول روی بایوس:

     ASM
    push BP { Save Base Pointer }
    mov BH, Height
    mov AX, 1130h { Function 11h, Subfuntion 30h }
    int 10h { Interrupt 10h }
    mov AX, BP
    pop BP
    mov Offs, AX { Store the pointer }
    mov Segm, ES
    END;


    برای مقیم کردن یک جدول در حافظه موقت:

      ASM
    push BP { Save Base Pointer }
    mov BP,Offs
    mov AX,Segm
    mov ES,AX
    mov BH,Height
    mov CX,Count { Count of characters you want to set char table for }
    mov DX,Start { Start Index of characters you want to change }
    mov AX, 1110h { Function 11h, Subfuntion 10h }
    int 10h { Interrupt 10h }
    mov AX, BP
    pop BP
    END;

  3. #3
    کاربر دائمی آواتار بمب منطقی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    شمال-ایران
    پست
    1,049
    خیلی ممنون سورسی که برام گذاشتی بهم خیلی کمک کرد. :flower: :D

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

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