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

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

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #1
شمارش
دوستان میخوام روش شمارش یاد بگیرم یه برنامه خیلی خیلی ساده نیاز دارم مثلا
از 1تا 10 جمع کنه نتیجه چاپ کنه 1+2+3+4+5+6+7+8+9+10


به این صورت نیاز دارم البته برنامه من اشتباه هسته درستشو نیاز دارم شرمنده سوالم ابتدایی
کد:
mov cl,10  
mov ch,0

l1:
add a,1
jcxz l2

dec cx


jmp l1


l2:

mov dx,a
mov ah,9h
int 21h

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

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: شمارش
نکته کنکوری:
استفاده از loop باعث میشه که هر بار که حلقه اجرا میشه یک واحد از cx کم بشه

نکته کنکوری ۲:
xor ax , ax یعنی ax رو 0 کن کلا؛ فرقی نداره که 0 رو mov کنی تو ax ؛ اما میگن سرعتش بیشتره. چون از یه گیت استفاده میشه؛ اما عدد بخواییم بدیم یکی یکی باید وارد بشه و ...

کد php:
org 100h

mov cx 
,10
xor axax
l1
:
add ax cx
loop l1
ret 
(آخرین ویرایش در این ارسال: ۰۲-اردیبهشت-۱۳۹۲, ۱۵:۴۰:۳۳، توسط babyy.)
۰۲-اردیبهشت-۱۳۹۲, ۱۵:۴۰:۱۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : behzady, hadikh73, aleas, The.Ghost, aKaReZa75
aleas آفلاین
کاربر با تجربه
****

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

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #3
RE: شمارش
سلام ممنون ولی شرمنده یه روش خیلی ساده تر دگه که فقط از
dec
add
jcxz
jmp
استفاده بشه میتونی بذاری فقط فقط از همین چهارتایی من گفتم استفاده بشه و روش چاپشم بنویس ممنون
میخوام یه عدد مثلا کاربر عددوارد کنه برنامه
1+2+3+4+5
با استفاده از این چهار تایی که خودم گفتم بدست بیاره و چاپ کنه

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

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: شمارش
(۰۲-اردیبهشت-۱۳۹۲, ۱۶:۰۹:۰۳)aleas نوشته است: سلام ممنون ولی شرمنده یه روش خیلی ساده تر دگه که فقط از
dec
add
jcxz
jmp
استفاده بشه میتونی بذاری فقط فقط از همین چهارتایی من گفتم استفاده بشه و روش چاپشم بنویس ممنون
میخوام یه عدد مثلا کاربر عددوارد کنه برنامه
1+2+3+4+5
با استفاده از این چهار تایی که خودم گفتم بدست بیاره و چاپ کنه

اونی که نوشتم ساده‌تره ها! BiggrinBiggrin
خب یهو بگو loop رو دستی پیاده سازی کن دیگه Biggrin



کد php:
org 100h

    mov cx 
10
    mov ax
0
l1
:
    
add ax cx
    jcxz l2
    dec cx
    jmp l1
l2
:
    ;
ETC
ret 
۰۲-اردیبهشت-۱۳۹۲, ۱۶:۲۸:۵۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, aleas, aKaReZa75
aleas آفلاین
کاربر با تجربه
****

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

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #5
RE: شمارش
اره دگه خوشم میاد خودت خوب میفهمی Biggrin
عزیز من این ترم درس اسمبلی دارم برای همین تازه واردم !!!

اگر امکان داره برنامه کامل بنویس اخه من اینجوری نوشتم ولی عمل نمیکنه

کد:
mov cx , 10
    mov ax, 0
l1:
    add ax , cx
    jcxz l2
    dec cx
    jmp l1
l2:
    ;ETC




mov dx,ax
mov ah,9h
int 21h



ضمنا" اینم مطمن باش این برنامه پروژه به هیچ عنوان نیسته فقط جهت یاد گیری هسته !!

میخوام یادم بگیرم با این دستوراتی گفتم حلقه رو خودم شبیه سازی کنم


میخوام برنامه یه عدد از ورودی بگیره مثلا
7
بعد
1+2+3+4+5+6+7
حساب کنه بعد نتیجه را چاپ کنه


بازم تاکید میکنم فقط فقط از
dec
add
jcxz
jmp
استفاده بشه

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

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: شمارش
مهندس رفتم تحقیقات؛ واسه چاپ اعداد که معادل هگزش توی خونه هست وقفه‌ای وجود نداره چاپش کنی
باید خودت بنویسی؛ البته یجا خوندم اعداد به دو روش ذخیره میشوند؛ یکی معمولی و یکی BCD و یه دستور بود بنام AAA که اعداد رو تبدیل میکرد و....

یه همچین چیزایی بود
در انتظار مدیر بخش میمانیم تا پاسخو باشد Biggrin
۰۶-اردیبهشت-۱۳۹۲, ۰۰:۲۷:۱۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : aleas, aKaReZa75
aleas آفلاین
کاربر با تجربه
****

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

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

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

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

تشکرها : 801
( 579 تشکر در 198 ارسال )
ارسال: #8
RE: شمارش
سلام الیاس
برای گرفتن ورودی به صورت عدد یا باید از توابع کتابخونه ای استفاده کنی یابیای خودت کاراکترهای عددی رو به عدد تبدیل کنی برای این کار باید هر کاراکتر عددی رو از مقدار 48 کم کنی چون کداسکی کاراکتر '0' برابر 48 هستش فقط یه مسئله میمونه اگه کاربر بخواد یه عدد دو رقمی به بالا رو وارد کنه باید توی حلقه تعریف کنی تا زمانی که enter وارد نکرده از اولین رقم باید به عدد تبدیل کنی و ضرب در 10 کنی با رقم بعد جمع کنی
۰۶-اردیبهشت-۱۳۹۲, ۱۹:۳۵:۲۷
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, aKaReZa75
aleas آفلاین
کاربر با تجربه
****

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

تشکرها : 2946
( 2592 تشکر در 1223 ارسال )
ارسال: #9
RE: شمارش
ممنون من الان مشکلم چاپ عدد هسته

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

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

تشکرها : 674
( 354 تشکر در 158 ارسال )
ارسال: #10
RE: شمارش
سلام.
برای چاپ هر نوع داده ای در emu8086 راه های بسیاری هست.
برای مثال شما جمع اعداد یک تا ده حساب می کنی بعد داخل یک متغییر میریزی که مقدار هگز است و بعد با استفاده از دکمه vars مقدار تمام متغییر ها را به شما نشان میدهد و می توانید به بقیه مبناها هم تبدیل کنید و ....
موفق باشید.

Assembly Language 039

۱۶-اردیبهشت-۱۳۹۲, ۱۹:۲۰:۳۳
ارسال‌ها
پاسخ
تشکر شده توسط : aKaReZa75, babyy


پرش به انجمن:


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

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