سلام ،آ من یه فایل هگز از یک تابلو روان دارم دارم که میکروی اون 89C55WD است و نمی دونم برنامش به چه زبانی نوشته شده بوده . چطوری می تونم اونو به زبان c برگردونم .
اطلاعیه
Collapse
No announcement yet.
تبدیل فایل هگز
Collapse
X
-
تبدیل فایل هگز
در آدمی عشقی و دردی هست که اگر صد هزار عالم ملک او شود آرام نگیرد. این خلق به تفضیل در هر پیشه ای تحصیل نجوم و طب و غیر ذالک می کنند و هیچ آرام نمی گیرند زیرا مقصود به دست نیامده است. آخر معشوق را دل آرام می گویند یعنی که دل به وی آرام گیرد پس به غیر، چون آرام و قرار گیرد؟ این جمله خوشی ها و مقصود ها چون نردبانی است و چون پایه های نردبان جای اقامت و باش نیست، از بهر گذشتن است. خنک او را که زود تر بیدار و واقف گردد تا راه دراز برو کوته شود و درین پایه های نردبان عمر خود را را ضایع نکند. -
پاسخ : تبدیل فایل هگز
ولی من با برنامه hex to asm برنامه اسمبلی رو بدست آوردم ، یعنی حالا نمیشه این فایل اسمبلی رو به c تبدیل کرد ؟
در آدمی عشقی و دردی هست که اگر صد هزار عالم ملک او شود آرام نگیرد. این خلق به تفضیل در هر پیشه ای تحصیل نجوم و طب و غیر ذالک می کنند و هیچ آرام نمی گیرند زیرا مقصود به دست نیامده است. آخر معشوق را دل آرام می گویند یعنی که دل به وی آرام گیرد پس به غیر، چون آرام و قرار گیرد؟ این جمله خوشی ها و مقصود ها چون نردبانی است و چون پایه های نردبان جای اقامت و باش نیست، از بهر گذشتن است. خنک او را که زود تر بیدار و واقف گردد تا راه دراز برو کوته شود و درین پایه های نردبان عمر خود را را ضایع نکند.
دیدگاه
-
پاسخ : تبدیل فایل هگز
برچسبی وجود نداره !!! من با اسمبلی زیاد آشنایی ندارم ، ببین اینطوری شده !! البته این فقط اولاش هست !
NOP
ORG 0000H ;-------------------------------
LJMP 0030H
ORG 002BH ;-------------------------------
LJMP 1562H
ORG 0030H ;-------------------------------
LCALL 2D5DH
MOV 21H , #00H
MOV 41H , #00H
MOV 2FH , #00H
MOV 5EH , #00H
MOV 89H , #51H
MOV 8BH , #00H
MOV 5AH , #00H
MOV 5EH , #00H
MOV 3CH , #01H
MOV 5CH , #01H
CLR 8EH
MOV 8BH , #00H
MOV 8DH , #00H
MOV 2CH , #03H
LCALL 1FB8H
LCALL 2613H
LCALL 313CH
LCALL 1FB8H
LCALL 313CH
LCALL 2613H
LCALL 313CH
LCALL 1FB8H
LCALL 313CH
LCALL 2613H
LCALL 313CH
LCALL 1FB8H
LCALL 313CH
LCALL 2613H
LCALL 3135H
MOV 64H , #00H
MOV 63H , #0CH
LCALL 31C2H
MOV 2CH , 65H
SETB 8EH
MOV 21H , #00H
MOV 41H , #00H
SJMP 11H
LCALL 1FB8H
LCALL 2613H
LCALL 3158H
SETB 8EH
MOV 21H , #00H
MOV 41H , #00H
LCALL 2D5DH
MOV A , 8BH
CJNE A , #00H , 12H
INC 21H
MOV A , 21H
CJNE A , #FFH , F1H
INC 41H
MOV A , 41H
CJNE A , #0AH , EAH
SETB 8CH
AJMP 75DH
LCALL 2666H
MOV 21H , #00H
MOV 41H , #00H
MOV 8BH , #00H
CLR 8EH
MOV 5FH , #00H
MOV A , 6EH
CJNE A , #2CH , 0BH
MOV DPTR , #000DH
LCALL 1175H
MOV 5BH , #01H
AJMP 2H
MOVC A , @A +
CJNE A , #3CH , 0BH
MOV DPTR , #0FA0H
LCALL 1175H
MOV 5BH , #02H
AJMP 2H
MOVC A , @A +
CJNE A , #4CH , 0BH
MOV DPTR , #1F40H
LCALL 1175H
MOV 5BH , #03H
AJMP 2H
MOVC A , @A +
CJNE A , #8CH , 08H
MOV DPTR , #30D4H
LCALL 1175H
SJMP 7DH
CJNE A , #B4H , 04H
SETB 8CH
AJMP 75DH
CJNE A , #52H , 02H
SJMP 02H
SJMP 1AH
LCALL 13FAH
LCALL 3135H
MOV 8BH , #00H
MOV 8DH , #00H
SETB 8EH
LCALL 2D5DH
MOV A , 8BH
CJNE A , #00H , 02Hدر آدمی عشقی و دردی هست که اگر صد هزار عالم ملک او شود آرام نگیرد. این خلق به تفضیل در هر پیشه ای تحصیل نجوم و طب و غیر ذالک می کنند و هیچ آرام نمی گیرند زیرا مقصود به دست نیامده است. آخر معشوق را دل آرام می گویند یعنی که دل به وی آرام گیرد پس به غیر، چون آرام و قرار گیرد؟ این جمله خوشی ها و مقصود ها چون نردبانی است و چون پایه های نردبان جای اقامت و باش نیست، از بهر گذشتن است. خنک او را که زود تر بیدار و واقف گردد تا راه دراز برو کوته شود و درین پایه های نردبان عمر خود را را ضایع نکند.
دیدگاه
-
پاسخ : تبدیل فایل هگز
داخل دستورات فراخونی و پرش اگه دقت بکنی به جای برچسب از ادرس هگز معادل اونا استفاده کرده
مثلا برنامه به یه جائی می رسه و می خواد زیر برنامه ای رو فراخونی بکنه
مثلا اینجا
LCALL 1FB8H
LCALL 2613H
LCALL 313CH
LCALL 1FB8H
LCALL 313CH
LCALL 2613H
LCALL 313CH
LCALL 1FB8H
از دستور LCALL استفاده کرده ولی وقتی این برنامه از اسمبلی به هگز تبدیل میشه آدرس معادل محل پرش به جای اون قرار داده میشه
و وقتی این کد برعکس شده دیگه برچسب تغییر نمی کنه
فقط موقع خوندن این دوستورات ممکنه یه کم کوچولو براتون زحمت بشه
موفق باشی
دیدگاه
-
پاسخ : تبدیل فایل هگز
اینایی که فرمودین جواب سوال من نبود !!! یه سوال دیگه برامک ایجاد شد :
1- به نظر شما این برنامه اسمبلی رو حالا اگر دوباره به hex تبدیل کنم جواب میده ؟
2- این برنامه اسمبلی رو به زبان c میشه برگردوند؟؟؟
با تشکر و سپاس فراواندر آدمی عشقی و دردی هست که اگر صد هزار عالم ملک او شود آرام نگیرد. این خلق به تفضیل در هر پیشه ای تحصیل نجوم و طب و غیر ذالک می کنند و هیچ آرام نمی گیرند زیرا مقصود به دست نیامده است. آخر معشوق را دل آرام می گویند یعنی که دل به وی آرام گیرد پس به غیر، چون آرام و قرار گیرد؟ این جمله خوشی ها و مقصود ها چون نردبانی است و چون پایه های نردبان جای اقامت و باش نیست، از بهر گذشتن است. خنک او را که زود تر بیدار و واقف گردد تا راه دراز برو کوته شود و درین پایه های نردبان عمر خود را را ضایع نکند.
دیدگاه
-
پاسخ : تبدیل فایل هگز
از کجا باید بفهمیم که مثلاً آدرس 1FB8H که فراخوانی شده کجای برنامه اسمبلی هستش ؟در آدمی عشقی و دردی هست که اگر صد هزار عالم ملک او شود آرام نگیرد. این خلق به تفضیل در هر پیشه ای تحصیل نجوم و طب و غیر ذالک می کنند و هیچ آرام نمی گیرند زیرا مقصود به دست نیامده است. آخر معشوق را دل آرام می گویند یعنی که دل به وی آرام گیرد پس به غیر، چون آرام و قرار گیرد؟ این جمله خوشی ها و مقصود ها چون نردبانی است و چون پایه های نردبان جای اقامت و باش نیست، از بهر گذشتن است. خنک او را که زود تر بیدار و واقف گردد تا راه دراز برو کوته شود و درین پایه های نردبان عمر خود را را ضایع نکند.
دیدگاه
-
پاسخ : تبدیل فایل هگز
یعنی الان که 1FB8H گذاشته من باید توی برنامه دنبال همین 1FB8H بگردم یا این 1FB8H به یه جایی داره اشاره میکنه که توی برنامه اسمبلی نیست ؟؟
در آدمی عشقی و دردی هست که اگر صد هزار عالم ملک او شود آرام نگیرد. این خلق به تفضیل در هر پیشه ای تحصیل نجوم و طب و غیر ذالک می کنند و هیچ آرام نمی گیرند زیرا مقصود به دست نیامده است. آخر معشوق را دل آرام می گویند یعنی که دل به وی آرام گیرد پس به غیر، چون آرام و قرار گیرد؟ این جمله خوشی ها و مقصود ها چون نردبانی است و چون پایه های نردبان جای اقامت و باش نیست، از بهر گذشتن است. خنک او را که زود تر بیدار و واقف گردد تا راه دراز برو کوته شود و درین پایه های نردبان عمر خود را را ضایع نکند.
دیدگاه
-
پاسخ : تبدیل فایل هگز
نوشته اصلی توسط MOHANDES-HASANاینایی که فرمودین جواب سوال من نبود !!! یه سوال دیگه برامک ایجاد شد :
1- به نظر شما این برنامه اسمبلی رو حالا اگر دوباره به hex تبدیل کنم جواب میده ؟
2- این برنامه اسمبلی رو به زبان c میشه برگردوند؟؟؟
با تشکر و سپاس فراوان
1- بلی
2- خیر
دیدگاه
-
پاسخ : تبدیل فایل هگز
نوشته اصلی توسط MOHANDES-HASANاز کجا باید بفهمیم که مثلاً آدرس 1FB8H که فراخوانی شده کجای برنامه اسمبلی هستش ؟)
من یه Disassembler دیگه دارم که آدرس ها رو بصورت برچسب نشون میده . اینطوری خیلی راحت تره. اگه خواستی بگو واست بذارم.
در ضمن حرف دوستان رو که گفتن نمیشه کد اسمبلی رو به زبان C برگردوند تایید میکنم. (حالا انگار من کی ام که اگه تایید نکنم اعتبار نداره! :mrgreen
دیدگاه
-
پاسخ : تبدیل فایل هگز
سلام.
شما از چه برنامه ای برای تبدیل استفاده کردی؟
از برنامه من؟
یا یه چیز دیگه؟
منم یه دیس اسمبلر برای 8051 نوشتم و توی سایت گذاشته بودم.
اگه مال من باشه با کلمه ORG آدرس مورد نظر رو نشون داده.
ببین.
کلا.
هیچ موقع برنامه ای که نوشتی و کاپمایبل کردی دقیق مثل برنامه ای که با این دیس اسمبلر ها تولید میشه مطابقت نمیکنند.
مثلا این برنامه های دیس سامبلر نمیدونند کدی که نوشته شده دیتا هست یا کد.
شاید بجز دستور ORG , هیچ راهنمای کامپایلی هم نداشته باشند
مثل DB که برای قرار دادن دیتای تک بایتی توی فلش برنامه.
این تازه برای تبدیل هگز به اسمبلیه که خیلی راحته.
دیگه تبدیل اینها به فایل سی تقریبا غیر ممکنه.
چون معمولا کامپایلر ها بر اساس شرایط کدهای تولیدیشون هم عوض میشه.
حالا باز شما توی نت بگرد.
اما از نظر من فعلا شدنی نیست.
موفق باشید.
دیدگاه
دیدگاه