امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
علامت اینتر
نویسنده پیام
aleas آفلاین
کاربر با تجربه
****

ارسال‌ها: 911
موضوع‌ها: 183
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #1
علامت اینتر
دوستان تو برنامه علامت پایان رشته
$
هسته حالا علامت اینتر چی میخوام جای علامت پایان رشته علامت اینتر قرار بدم

ما کرم درختان پر باریم در حسرت سیبی سرخ و چه بس دور است بین ما ، دستانمان را ميگويم و سيب سرخ حوا
۳۰-فروردین-۱۳۹۲, ۱۸:۱۴:۰۱
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: علامت اینتر
متوجه نشدم! یعنی چی؟ میخوایین تا جایی که اینتر هستش جاپ کنه؟ یا اینترو جاپ کنه ؟ و ....
یه مثال بزنین
۳۰-فروردین-۱۳۹۲, ۱۸:۲۳:۰۱
وب سایت ارسال‌ها
پاسخ
aleas آفلاین
کاربر با تجربه
****

ارسال‌ها: 911
موضوع‌ها: 183
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #3
RE: علامت اینتر
بله میخوام تا جایی که اینتر است چاپ کنه

به اینصورت تعریف میکنم

کد:
str label byte
max db 20
len db ?
buf db 20 dup('$')


به این صورت کاربر رشته را وارد میکنه اینتر میزنه

کد:
mov Dx,offset str
mov ah,0ah
int 21h


به اینصورت چاپ میکنه
کد:
mov dx,offset buf
mov ah,9h
int 21h

وقتی هم چاپ میکنه میدونین اینتری هم که کاربر وارد کرده چاپ میکنه حالا میخوام بدونم پایان رشته بجای '$' نمیشه اینتر گذاشت که تا اینتر فقط چاپ کنه یعنی خود اینتر چاپ نکنه؟

ما کرم درختان پر باریم در حسرت سیبی سرخ و چه بس دور است بین ما ، دستانمان را ميگويم و سيب سرخ حوا
(آخرین ویرایش در این ارسال: ۳۰-فروردین-۱۳۹۲, ۲۱:۱۵:۱۰، توسط aleas.)
۳۰-فروردین-۱۳۹۲, ۲۱:۱۳:۰۹
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: علامت اینتر
خب الا شما داری قضیه رو از دید سخت نگاه میکنی!

الا شما میخوایین که از کاربر ورودی بگیری و اونو چاپ کنی؛ اما اینترش چاپ نشه! درست؟
۳۰-فروردین-۱۳۹۲, ۲۲:۲۱:۲۴
وب سایت ارسال‌ها
پاسخ
aleas آفلاین
کاربر با تجربه
****

ارسال‌ها: 911
موضوع‌ها: 183
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #5
RE: علامت اینتر
بله همینطوره میخوام اینترش چاپ نشه

ما کرم درختان پر باریم در حسرت سیبی سرخ و چه بس دور است بین ما ، دستانمان را ميگويم و سيب سرخ حوا
۳۰-فروردین-۱۳۹۲, ۲۲:۴۹:۳۲
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: علامت اینتر
البته منت امتحان کردم؛ واسه من اینتر چاپ نمیشه ها! یعنی نمیره خط بعدی! ولی به هر حال:

شما وقتی رشته رو بگیری؛ طول رشته میره داخل len ؛ عددی که توی len هستش درواقع طول کل رشته + اون اینتر پایانی هست!

شما باید کاراکتر ها رو یکی با تایع 02 از وقفه 21 به اندازه len -۱ بار چاپ کنی! Biggrin
۳۱-فروردین-۱۳۹۲, ۱۱:۰۱:۰۱
وب سایت ارسال‌ها
پاسخ
aleas آفلاین
کاربر با تجربه
****

ارسال‌ها: 911
موضوع‌ها: 183
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #7
RE: علامت اینتر
خسته نباشید عزیز این راه های میانبر خودم بلدم ! کلا برای یادگیری میخواستم بدونم روش خیلی ساده هم برای اینکار وجود داره که که اصلا اینتر ذخیره نکنه که بعدا چاپ کنه
یا جای $ که علامت پایان رشته هسته اینتر گذاشت که تا اینتر چاپ کنه

ما کرم درختان پر باریم در حسرت سیبی سرخ و چه بس دور است بین ما ، دستانمان را ميگويم و سيب سرخ حوا
۳۱-فروردین-۱۳۹۲, ۱۳:۱۸:۵۰
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #8
RE: علامت اینتر
اون $ ثابتیه که برای وقفه ۲۱ و تابع ۰۹ درست شده! اگه میخوایین از این تابع استفاده کنید باید به قوانینش هم پایدار باشید

اگه نمیخوایین ازش استفاده کنید
باید کاراکتر ها رو یکی چاپ کنی و قبل از چاپ با کد هگز اینتر چکشون کنی؛ اگه مساوی هم نبودند چاپشون کن
۳۱-فروردین-۱۳۹۲, ۲۰:۲۲:۱۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : aleas, Ambassador
The.Ghost غایب
مدیر بازنشسته
*****

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

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #9
RE: علامت اینتر
سلام
با دستور تغییر مکان نما هر کاری که بخواهی میتونی انجام بدی.
در اسمبلی همیشه پایان رشته $ ختم میشه، نمیتونی در حالت عادی این قضیه تغییر بدی.
و کاراکتر $ هم اصلا نمیتونی چاپ کنی برای این که پایان رشته مشخص می کنه.
البته برای هر قضیه ای راهی هم وجود دارد.
موفق باشی.

Assembly Language 039

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

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #10
RE: علامت اینتر
(۱۶-اردیبهشت-۱۳۹۲, ۱۹:۱۰:۳۵)The.Ghost نوشته است: البته برای هر قضیه ای راهی هم وجود دارد.

در تایید حرف دوستمون

(۱۶-اردیبهشت-۱۳۹۲, ۱۹:۱۰:۳۵)The.Ghost نوشته است: و کاراکتر $ هم اصلا نمیتونی چاپ کنی برای این که پایان رشته مشخص می کنه.

با تابع ۰۲ از وقفه ۲۱ میشه؛ کد هگز 4 رو در al بزارید
۱۹-اردیبهشت-۱۳۹۲, ۱۹:۵۵:۰۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix


پرش به انجمن:


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

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