PDA

View Full Version : سوال: نمایش عکس



seyed.javad.majidi
جمعه 18 اسفند 1391, 19:17 عصر
سلام
می خواستم بدونم چجوری میشه یه عکس در صفحه نمایش داد البته با وقفه های بایوس و در محیط خارج از سیستم عامل!

آیا باید عکس به چیزی تبدیل بشه و اون چیه و چجوری؟

آیا روش دیگری هست؟

ممنون میشم کمکم کنین.

the king
جمعه 18 اسفند 1391, 20:35 عصر
سلام
می خواستم بدونم چجوری میشه یه عکس در صفحه نمایش داد البته با وقفه های بایوس و در محیط خارج از سیستم عامل!

آیا باید عکس به چیزی تبدیل بشه و اون چیه و چجوری؟

آیا روش دیگری هست؟

ممنون میشم کمکم کنین.

اگه از تصاویر BMP استفاده کنید اصلا سخت نیست، چون تصاویر bmp معمولا فشرده شده نیستند و تفکیک رنگ پیکسل هاشون راحته،
حافظه سگمنت A000 موقعیتی است که حافظه کارت گرافیکی اطلاعات پیکسل ها رو داخلش نگهداری می کنه. اگه از مد های گرافیکی ساده ای
مثل 320x200 ئه 256 رنگی استفاده کنید، هر پیکسل یک بایت خواهد بود که خیلی ساده میشه مقدارش رو در این آدرس حافظه درج کرد.
پیکسل هاش درشته چون Resolution کمی داره اما چون حافظه اش کمتر از 64 کیلوبایته، آدرس دهی اش به یک سگمنت محدوده و
برای مقدار دهی پیکسل ها نیازی به سرویس های کند BIOS نیست. مقدار دهی مستقیم پیکسل هاش خیلی ساده است.

مثال پیوستی را ببینید :
101127

تاپیک اصلی :
نمایش یک تصویر گرافیکی در زبان اسمبلی (http://forum.majidonline.com/threads/123010)

seyed.javad.majidi
جمعه 18 اسفند 1391, 22:20 عصر
سلام
ممنون عزیز از اینکه جوابمو دادین چند تا سوال داشتم:
اول اینکه من کدی که دادی رو میخوام با nasm کامپایل کنم ولی خطا میده چرا؟
راستی من برای خارح زا سیستم عامل میخوام که توش شما از وقفه های داس هم استفاده کردین :(


برای خواندن یک فایل تصویری از دیسک آیا چیزی میدونی؟

the king
جمعه 18 اسفند 1391, 22:51 عصر
سلام
ممنون عزیز از اینکه جوابمو دادین چند تا سوال داشتم:
اول اینکه من کدی که دادی رو میخوام با nasm کامپایل کنم ولی خطا میده چرا؟
راستی من برای خارح زا سیستم عامل میخوام که توش شما از وقفه های داس هم استفاده کردین :(


برای خواندن یک فایل تصویری از دیسک آیا چیزی میدونی؟

نه، تنها وقفه DOS ای که استفاده شده فشار دادن یک کلید بوده که برای خاتمه دادن اجرای برنامه است :


MOV AH,8
INT 21H

که ربطی به رسم تصویر نداره.

فایل تصویری رو مثل هر فایل دیگه می خوانید، سرویس های وقفه 21h، با سرویس 3Dh بازش می کنید، با سرویس 3Fh می خوانید و با 3Eh فایل را می بندید.
اما اگر نخواهید از سیستم عامل و سرویس های DOS استفاده کنید دیگه سیستم فایل و فایل مفهومی نداره.