ورود

View Full Version : سوال: توضیح در مورد دو دستور



Altech
چهارشنبه 30 دی 1388, 19:30 عصر
سلام . میشه لطفا در مورد عملکرد این دستورات یه توضیح مختصر بدین . البته این دو ربطی به هم ندارن الزاما .


MOV CX, DS:[38B0H]
INC BYTE PTR[1B0H]


مثلا این که بعد از DS دو تا دونقطه گذاشتیم و کروشه چی میگه . یا BYTE PTR چی هست کلا .

tdkhakpur
چهارشنبه 30 دی 1388, 21:38 عصر
گذاشتن کروشه به معنی این هست که شما قصد دارید محتوای یک ادرس را بگیرید مثلا


mov cx, [101]

که در این صورت محتوای آدرس 101 داخل cx قرار بگیرید ولی کد زیر را در نظر بگیرید


mov cl, byte ptr [101]

با کد فوق شما میگویید که یک بایت از ادرس 101 به داخل یک رجیستر یک بایتی قرار داده شود.
ولی پیشفرض مبدا شروع آدرس از ds شروع میشود که گذاشتن و نگذاشتن آن هیچ فرقی با هم ندارند

mov dx, ds:[101] مساوی است با mov dx, [101]
ولی اگر قطعه دیگری مانند es مد نظر شما باشد شما باید به صورت زیر عمل کنید.

mov dx, es:[101]
کد بالی یعنی حافظه 101 باید نقطه شروعش es باشد.