ايران ويج

نسخه‌ی کامل: چاپ رشته (09h)
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام

کد 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 میخوام واسه کامپایل استفاده کنم (نمونه برنا مه ای هم که خودم کامپایل کردم؛ پیوست کردم )
سلام.
عزیز با این برنامه که تو لینک گذاشتم هم می تونی کامپایل کنی و حتی خط به خط تریس کنی

http://www.iranled.com/forum/thread-23233.html
دستت درد نکنه
شبیه ساز نمیخوام ؛ اجراییش رو میخوام
خوب عزیز من با همون برنامه هم می تونی فایلو بصورت exe بسازی برادر من.
باشه.
سلام
نمونه چاپ رشته قبلا نوشته شده بگردی پیدا می کنی.
نمونه نمیخواد
مگه کلا چند حالت میشه نوشت!!
کد برنامش واسه این حالت درسته
مشکل از جای دیگست
(۰۳-آذر-۱۳۹۱, ۰۰:۴۶:۲۰)babyy نوشته است: [ -> ]نمونه نمیخواد
مگه کلا چند حالت میشه نوشت!!
کد برنامش واسه این حالت درسته
مشکل از جای دیگست

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

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

چاپ رشته تا رسيدن به دالل
MOV  AH,09H        معادل
MOV  DX,OFFSET X   =====  LEA  DX,X
INT 21H
مشکل از آدرس دهی نیست؛ توی دیباگر آدرس رشتمون درسته؛ وقفه هم اجرا میشه اما عمل نمیکنه
قبلا همینطور نوشته بودم که این اررور رو میداد و مجبور شدم از lea استفاده کنم
کد:
instruction operands must be the same size

الا شما رو سیستم خودن برنامه توی پست من رو با masm32 کامپایل میکنی بدون مشکل اجرا میشه ؟!
آخر رشته ها همیشه باید $ بزاری.
اگه درست نشود باید روی یک کامپایل masm32 دیگه امتحان کنی.
البته در بعضی از کامپایل ها ترتیب خیلی مهم می باشد برای اجراء وقفه ها منظورم به ترتیب زیر است.
کد:
MOV  AH,09H        معادل
MOV  DX,OFFSET X   =====  LEA  DX,X
INT 21H
آقا خواهشا یک بار برنامه رو نگاه بنداز خب Biggrin ( منم آخرش رو به $ ختم کردم خب دیگه ! )
------------------------------
رعایت ترتیب مقدار دهی قبل وقفه هم جواب نداد؛البته قانونا هم نباید تاثیر گذار باشه؛ چون کامپایلر نباید برنامه نویس رو محدود کنه کجا به چه ثباتی مقدار بده! اگه چنین محدودیتی ایجاد کنه مسلما نا کارآمد میشه
--------------------------------
کسی تا الا تونسته از این وقفه و تابع روی ویندوز استفاده کنه ؟
صفحه‌ها: 1 2