امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
چاپ رشته (09h)
نویسنده پیام
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #1
چاپ رشته (09h)
سلام

کد php:
.386
.model flat,stdcall
option casemap
:none

.data 

MyStr db 
"test$"
.code
start
:

lea dx MyStr

mov ah 
09h

int 21h



mov ax 
4c00h

int 21h
end start 

میخوام با تابع 09 اون رشته رو چاپ کنم ! اما بعد از کامپایل و اجرای برنامه هیچ گونه خروجی بهم نشون داده نمیشه

مشکل از کد هست یا چیز دیگه ؟

از masm32 میخوام واسه کامپایل استفاده کنم (نمونه برنا مه ای هم که خودم کامپایل کردم؛ پیوست کردم )


فایل‌(های) پیوست شده
.zip   test.zip (اندازه: 353 bytes / تعداد دفعات دریافت: 88)
(آخرین ویرایش در این ارسال: ۰۲-آذر-۱۳۹۱, ۱۶:۱۶:۱۷، توسط babyy.)
۰۲-آذر-۱۳۹۱, ۱۶:۱۴:۱۲
وب سایت ارسال‌ها
پاسخ
megatron آفلاین
عضو افتخاری
****

ارسال‌ها: 228
موضوع‌ها: 48
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 94
( 171 تشکر در 91 ارسال )
ارسال: #2
RE: چاپ رشته (09h)
سلام.
عزیز با این برنامه که تو لینک گذاشتم هم می تونی کامپایل کنی و حتی خط به خط تریس کنی

http://www.iranled.com/forum/thread-23233.html
۰۲-آذر-۱۳۹۱, ۱۶:۲۱:۴۶
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, The.Ghost
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #3
RE: چاپ رشته (09h)
دستت درد نکنه
شبیه ساز نمیخوام ؛ اجراییش رو میخوام
۰۲-آذر-۱۳۹۱, ۱۶:۲۴:۳۷
وب سایت ارسال‌ها
پاسخ
megatron آفلاین
عضو افتخاری
****

ارسال‌ها: 228
موضوع‌ها: 48
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 94
( 171 تشکر در 91 ارسال )
ارسال: #4
RE: چاپ رشته (09h)
خوب عزیز من با همون برنامه هم می تونی فایلو بصورت exe بسازی برادر من.
۰۲-آذر-۱۳۹۱, ۲۳:۴۶:۰۶
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #5
RE: چاپ رشته (09h)
باشه.
۰۳-آذر-۱۳۹۱, ۰۰:۱۰:۱۲
وب سایت ارسال‌ها
پاسخ
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #6
RE: چاپ رشته (09h)
سلام
نمونه چاپ رشته قبلا نوشته شده بگردی پیدا می کنی.

Assembly Language 039

۰۳-آذر-۱۳۹۱, ۰۰:۲۷:۰۸
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #7
RE: چاپ رشته (09h)
نمونه نمیخواد
مگه کلا چند حالت میشه نوشت!!
کد برنامش واسه این حالت درسته
مشکل از جای دیگست
(آخرین ویرایش در این ارسال: ۰۳-آذر-۱۳۹۱, ۰۰:۵۰:۵۳، توسط babyy.)
۰۳-آذر-۱۳۹۱, ۰۰:۴۶:۲۰
وب سایت ارسال‌ها
پاسخ
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #8
RE: چاپ رشته (09h)
(۰۳-آذر-۱۳۹۱, ۰۰:۴۶:۲۰)babyy نوشته است: نمونه نمیخواد
مگه کلا چند حالت میشه نوشت!!
کد برنامش واسه این حالت درسته
مشکل از جای دیگست

به این صورت بنویس

کد:
چاپ يک رشته
X  DB  'GENERAL','$'   علامت دالل پايان رشته را نشان مي دهد

چاپ رشته تا رسيدن به دالل
MOV  AH,09H        معادل
MOV  DX,OFFSET X   =====  LEA  DX,X
INT 21H

Assembly Language 039

۰۳-آذر-۱۳۹۱, ۰۰:۵۶:۰۶
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #9
RE: چاپ رشته (09h)
مشکل از آدرس دهی نیست؛ توی دیباگر آدرس رشتمون درسته؛ وقفه هم اجرا میشه اما عمل نمیکنه
قبلا همینطور نوشته بودم که این اررور رو میداد و مجبور شدم از lea استفاده کنم
کد:
instruction operands must be the same size

الا شما رو سیستم خودن برنامه توی پست من رو با masm32 کامپایل میکنی بدون مشکل اجرا میشه ؟!
(آخرین ویرایش در این ارسال: ۰۳-آذر-۱۳۹۱, ۰۱:۰۹:۱۴، توسط babyy.)
۰۳-آذر-۱۳۹۱, ۰۱:۰۸:۱۱
وب سایت ارسال‌ها
پاسخ
The.Ghost غایب
مدیر بازنشسته
*****

ارسال‌ها: 461
موضوع‌ها: 201
تاریخ عضویت: مهر ۱۳۸۸

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #10
RE: چاپ رشته (09h)
آخر رشته ها همیشه باید $ بزاری.
اگه درست نشود باید روی یک کامپایل masm32 دیگه امتحان کنی.
البته در بعضی از کامپایل ها ترتیب خیلی مهم می باشد برای اجراء وقفه ها منظورم به ترتیب زیر است.
کد:
MOV  AH,09H        معادل
MOV  DX,OFFSET X   =====  LEA  DX,X
INT 21H

Assembly Language 039

۰۳-آذر-۱۳۹۱, ۱۶:۰۰:۲۷
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #11
RE: چاپ رشته (09h)
آقا خواهشا یک بار برنامه رو نگاه بنداز خب Biggrin ( منم آخرش رو به $ ختم کردم خب دیگه ! )
------------------------------
رعایت ترتیب مقدار دهی قبل وقفه هم جواب نداد؛البته قانونا هم نباید تاثیر گذار باشه؛ چون کامپایلر نباید برنامه نویس رو محدود کنه کجا به چه ثباتی مقدار بده! اگه چنین محدودیتی ایجاد کنه مسلما نا کارآمد میشه
--------------------------------
کسی تا الا تونسته از این وقفه و تابع روی ویندوز استفاده کنه ؟
(آخرین ویرایش در این ارسال: ۰۳-آذر-۱۳۹۱, ۱۷:۳۸:۱۸، توسط babyy.)
۰۳-آذر-۱۳۹۱, ۱۷:۳۱:۵۰
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question چاپ یک رشته The.Ghost 0 2,241 ۱۶-فروردین-۱۳۹۱, ۰۵:۵۵:۰۲
آخرین ارسال: The.Ghost
Question یک رشته دریافت کند به جای فضای خالی ستاره بگذارد The.Ghost 0 2,223 ۱۶-فروردین-۱۳۹۱, ۰۵:۳۰:۴۶
آخرین ارسال: The.Ghost

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS