تور لحظه آخری
امروز : چهارشنبه ، 13 تیر 1403    احادیث و روایات:  امام علی (ع):باعلما همنشینی کن تا سعادتمند شوی
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

اتاق فرار

خرید ووچر پرفکت مانی

تریدینگ ویو

کاشت ابرو

لمینت دندان

ونداد کولر

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

رسانه حرف تو - مقایسه و اشتراک تجربه خرید

سرور اختصاصی ایران

تور دبی

دزدگیر منزل

تشریفات روناک

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

پیچ و مهره

طراحی کاتالوگ فوری

دانلود کتاب صوتی

تعمیرات مک بوک

Future Innovate Tech

آموزشگاه آرایشگری مردانه شفیع رسالت

پی جو مشاغل برتر شیراز

قیمت فرش

آموزش کیک پزی در تهران

لوله بازکنی تهران

میز جلو مبلی

هتل 5 ستاره شیراز

آراد برندینگ

رنگ استخری

سایبان ماشین

قالیشویی در تهران

مبل استیل

بهترین وکیل تهران

شرکت حسابداری

نظرسنجی انتخابات 1403

استعداد تحلیلی

کی شاپ

خرید دانه قهوه

دانلود رمان

وکیل کرج

آمپول بیوتین بپانتین

پرس برک

بهترین پکیج کنکور

خرید تیشرت مردانه

خرید نشادر

خرید یخچال خارجی

وکیل تبریز

اجاره سند

وام لوازم خانگی

نتایج انتخابات ریاست جمهوری

خرید سی پی ارزان

خرید ابزار دقیق

بهترین جراح بینی خانم

 






آمار وبسایت

 تعداد کل بازدیدها : 1803986468




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

چاپ مقادیر عددی توسط ماکرو در زبان اسمبلی -


واضح آرشیو وب فارسی:سایت ریسک: چاپ مقادیر عددی توسط ماکرو در زبان اسمبلی the_king 17 خرداد 1388, 03:13چاپ اعداد در زبان اسمبلی مشکل است، ماکروی زیر کمک می کند تا کار چاپ اعداد مثبت 16 بیتی ساده شوند : print MACRO number PUSH AX PUSH BX PUSH CX PUSH DX MOV AX, number MOV CX, 0 MOV BX, 10 loop_1: MOV DX, 0 DIV BX PUSH DX INC CX CMP AX, 0 JNE loop_1 MOV AH, 2 loop_2: POP DX ADD DL, "0" INT 21H LOOP loop_2 POP DX POP CX POP BX POP AX ENDM مثلا کد زیر عدد 12345 را چاپ می کند : print 12345 چون در داخل کد ماکرو از PUSH و POP برای نگهداری مقادیر رجیستر ها استفاده شده، مقادیر قبلی آنها بصورت تضمین شده حفظ می شوند. the_king 17 خرداد 1388, 03:26کد قبلی اعداد را بدون علامت و همواره مثبت در نظر می گیرد، به همین دلیل برای چاپ اعداد علامت دار منفی همانند 123- قابل استفاده نیست و آنرا بصورت یک عدد مثبت 65413 نمایش می دهد. اما ماکروی زیر اعداد منفی را پیش از چاپ آنها شناسایی کرده و بعد از نمایش کاراکتر - آنها را به معادل مثبت شان تبدیل کرده و سپس نمایش می دهد، به همین جهت اعداد منفی هم به درستی چاپ می شوند : print MACRO number PUSH AX PUSH BX PUSH CX PUSH DX MOV AX, number OR AX, AX JGE next_1 MOV AH, 2 MOV DL, "-" INT 21H MOV AX, number NEG AX next_1: MOV CX, 0 MOV BX, 10 loop_1: MOV DX, 0 DIV BX PUSH DX INC CX CMP AX, 0 JNE loop_1 MOV AH, 2 loop_2: POP DX ADD DL, "0" INT 21H LOOP loop_2 POP DX POP CX POP BX POP AX ENDM مثلا کد زیر عدد 123- را نمایش می دهد : print -123 محدوده اعداد علامت دار 16 بیتی از 32768- الی 32767 است.




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 314]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن