PDA

View Full Version : کمک ( اشکال این برنامه در Emu80x86) چیه؟



امید خطیبی
جمعه 11 آذر 1390, 11:09 صبح
DATA1 DB 10H
DATA2 DB 5H
DIVCD DB ?
MULE DB ?
cmp DATA1,DATA2
ja MUL1
jb DIVC1
MUL1: mov al, DATA1
mov bl, DATA2
mul bl
mov MULE,ax
DIVC1:mov al, DATA1
mov bl, DATA2
add al,bl
mov DIVCD, al
ret

دوستان "cmp DATA1,DATA2" رو Error میگیره.
برنامه هم این هست که دو عدد از نوع حافظه ای میگیره و میریزه تو دیتاها و میاد چک می کنه اگر کوچکتر بود که ضرب می کنه وگرنه دو عدد را با هم جمع می کنه.
دوستان اگر خواسته باشیم این دو عدد را از کاربر دریافت کنیم و در آخر جواب را روی صفحه نمایش نشان بدیم چجوری باید این کار رو انجام بدیم.

xman_1365_x
دوشنبه 14 آذر 1390, 14:26 عصر
دوستان "cmp DATA1,DATA2" رو Error میگیره.
نمیتونید داده رو به طور مستقیم بین دو خونه از حافظه منتقل کنید از یک ثبات کمکی استفاده کنید

اگر خواسته باشیم این دو عدد را از کاربر دریافت کنیم و در آخر جواب را روی صفحه نمایش نشان بدیم چجوری باید این کار رو انجام بدیم.
با وقفه 21H تابع 1 دریافت میکنید و با تابع 2 نمایش میدین
باید اعداد رو به کاراکتر تبدیل کنید و کاراکتر هارو به عدد
موفق باشی

امید خطیبی
پنج شنبه 17 آذر 1390, 00:15 صبح
دوست عزیز مرسی از جوابتون ولی من یک مشکل کوچولو دیگه هم دارم اون هم اینه که من نمی دونم که کدوم شرط داره انجام میشه میشه این رو هم به من بگویید که من چه جوری بفهمم که کدام شرط برقرار بوده و داره انجام میشه کد برنامه را بالا گذاشتم با این که یک مشکل بنده حل شد ولی العان نمی فهمم کدوم شرط برقرار میشه آخه تو هر دو جامپ ها میره.

xman_1365_x
پنج شنبه 17 آذر 1390, 03:04 صبح
دوست عزیز مرسی از جوابتون ولی من یک مشکل کوچولو دیگه هم دارم اون هم اینه که من نمی دونم که کدوم شرط داره انجام میشه میشه این رو هم به من بگویید که من چه جوری بفهمم که کدام شرط برقرار بوده و داره انجام میشه کد برنامه را بالا گذاشتم با این که یک مشکل بنده حل شد ولی العان نمی فهمم کدوم شرط برقرار میشه آخه تو هر دو جامپ ها میره.
به کد دقت کنید متوجه میشین اشتباهاتون کجا بوده!


org 100h

jmp start

DATA1 DB 10H

DATA2 DB 5H

DIVCD DB ?

MULE DB ?

start:

mov al,data2
cmp DATA1,al

ja MUL1

jb DIVC1

MUL1:
mov al, DATA1

mov bl, DATA2

mul bl

mov MULE,al

jmp endDIVC1

DIVC1:
mov al, DATA1

mov bl, DATA2

add al,bl

mov DIVCD, al
endDIVC1:

ret
ضمنا برای سوال جدید تاپیک قدیمی رو تغییر ندین و پست جدید ایجاد کنید!
موفق باشی