با سلام و تشكر از لطف جنابعالي
اگه ميشه لطف كنيد وكد برنامه تعيين زوج و فرد بودن يك عدد را بذارين
با تشكر
با سلام و تشكر از لطف جنابعالي
اگه ميشه لطف كنيد وكد برنامه تعيين زوج و فرد بودن يك عدد را بذارين
با تشكر
برنامه زوج و فرد
.MODEL SMALL
.STACK 64
.DATA
STR1 DB "ZOJ$"
STR2 DB "FARD$"
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
;-----
MOV AX,4 ;ADADE MOREDE NAZAR / BL-> IF MOD IS 0 = EVEN
MOV BL,2
DIV BL
CMP AH,0
JNE LF
MOV AH,09H
LEA DX,STR1
INT 21H
JMP EXIT
LF:
MOV AH,09H
LEA DX,STR2
INT 21H
EXIT:
;----
MOV AH,00H
INT 16H
;----
MOV AX,4C00H
INT 21H
MAIN ENDP
END MAIN
با عرض سلام و تشكر از دوست گرامي!
خواستم اگه ميشه لطف كنيد و مرا راهنمايي فرماييد كه چگونه مي توان در يك برنامه آرايه اي از كاراكترها را تعريف نمود به گونه اي كه كاراكترها بصورت يك در ميان چاپ گردند؟
با تشكر
برای تعریف آرایه تو اسمبلی از DB استفاده میکنیم که میاد اعداد یا کاراکتر ها رو تو خونه های یک بایت ای پشت سر هم قرار میده
STR DB "MEHRDAD$" STR[0]=M,STR[1]=E
و به همین صورت ادامه....
از سرویس 02 اینتراپت 21 استفاده میکنیم به این صورت که یک شمارنده میزاریم که اولش از 0 باشه و اگه کاراکتری که اندیس داره بهش شاره میکنه غیر از دالر بود و یا یکی قبلش دالر نبود بیاد چاپ کنه و بعدش شمارنده 2 بار اضافه بشه که یک درمیان چاپ بشه
چون 2بار اضافه میشه ممکن بود از دالر رد بشه و هرچی کاراکتر تو حافظه بود و چاپ میکرد واسه همین شرط یکی قبلش بررسی شد
امیدوارم مستقیم نری سر کد من و کپی کنی...اگه اشکال داشت بفرمایید
.MODEL SMALL
.STACK
.DATA
STR DB "ABCDEFGH$"
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV ES,AX
;----
MOV BX,0
L1:
MOV AL,STR[BX]
CMP AL,'$'
JE EXIT
MOV AL,STR[BX-1]
CMP AL,'$'
JE EXIT
MOV AH,02H
MOV DL,STR[BX]
INT 21H
INC BX
INC BX
JMP L1
;----
EXIT:
MOV AH,00H
INT 16H
MOV AX,4C00H
INT 21H
MAIN ENDP
END MAIN
با سلام خدمت دوست گرامی و با تشکر از راهنماییهای جنابعالی
می خواستم ببینم در مورد برنامه زیر از چه کدی باید استفاده نمود تا از کاربر تایید گرفت :
برنامه ای که تعدادی عدد از کاربر دریافت کرده و کوچکترین و بزرگترین عدد ورودی را نمایش دهد ، پس از ورود هر عدد از کاربرسؤال می شود که اگر پاسخ صحیح داد(y)
عدد دیگری دریافت شده و در غیر اینصورت بزرگترین و کوچکترین اعداد ورودی نمایش داده شوند .
با تشكر
سلام به دوستای گلم
خوب اینو آموزش میدم که جنبه حل تمرین نباشه
خوب قالب اصلی برنامه نویسی اسمبلی و که همه بلدیم اینجوریه
.MODEL SMALL
.STACK 64
.DATA
.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV ES,AX
;------------------------------------------------------------------
EXIT:
;-----------------------PAUS-------------------------------------
MOV AH,00H
INT 16H
;----------------------------------------------------------------
MOV AX,4C00H
INT 21H
MAIN ENDP
END MAIN
اینم قسمت داده ها
.DATA
;----------------------DATA-------------
MAX_NUM DB 0
MIN_NUM DB 0
STR DB "CONTINUE ? $"
MAXSTR DB "MAX IS : $"
ENDL DB 0AH,0DH,'$'
MINSTR DB " MIN IS : $"
S DB "ENTER NUM : $"
;---------------------------------------
در شروع برنامه هم ماکز و هم مین صفر درنزر گرفته میشه
و منتق برنامه اینه که اگه عددی که کاربر وارد میکنه از ماکزیمم بیشتر ماکز بشه اون عدد و بعدش شرط مین هم چک میشه
MOV AH,09H
LEA DX,S
INT 21H
MOV AH,01H
INT 21H
MOV MIN_NUM,AL
MOV MAX_NUM,AL
MOV AH,06H
MOV AL,0
MOV CX,0
MOV DH,24
MOV DL,79
MOV BH,00001001B
INT 10H
JMP L2
FOR:
MOV AH,06H
MOV AL,0
MOV CX,0
MOV DH,24
MOV DL,79
MOV BH,00001001B
INT 10H
MOV AH,02H
MOV BX,0
MOV DX,0
INT 10H
MOV AH,09H
LEA DX,S
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
CMP MAX_NUM,AL
JNA L4
ADD AL,30H
MOV MAX_NUM,AL
L4:
CMP AL,30H
JB L5
CMP AL,39H
JA L5
CMP MIN_NUM,AL
JNB L2
ADD AL,30H
MOV MIN_NUM,AL
JMP L2
L5:
SUB AL,30H
CMP MIN_NUM,AL
JNB L2
ADD AL,30H
MOV MIN_NUM,AL
;---------
L2:
;SOAL
;CLEAR SCREAN
MOV AH,06H
MOV AL,0
MOV CX,0
MOV DH,24
MOV DL,79
MOV BH,00001001B
INT 10H
;------MOV X,Y
MOV AH,02H
MOV BX,0
MOV DX,0
INT 10H
;------
MOV AH,09H
LEA DX,STR
INT 21H
MOV AH,01H
INT 21H
CMP AL,'Y'
JE FOR
MOV AH,06H
MOV AL,0
MOV CX,0
MOV DH,24
MOV DL,79
MOV BH,00001001B
INT 10H
MOV AH,09H
LEA DX,ENDL
INT 21H
MOV AH,09H
LEA DX,MAXSTR
INT 21H
MOV AH,02H
MOV DL,MAX_NUM
INT 21H
MOV AH,09H
LEA DX,ENDL
INT 21H
MOV AH,09H
LEA DX,MINSTR
INT 21H
MOV AH,02H
MOV DL,MIN_NUM
INT 21H
اول برنامه یک عدد گرفته میشه و هم ماکز و هم مین برابر اون عدد میشه
و بعد تا وقتی کاربر در جواب اینکه ادامه میدید بگه Y (حرف بزرگ) که اونم میتونید OR بنویسید عدد گرفتن ادامه پیدا میکنه
و بعدش اگه گفت نه میاد بزرگ و کوچیک و چاپ میکنه
(بازم شرمنده باید برم جایی اونجور که باید توضیح ندادم)
امیدوارم استفاده کنید
آخرین ویرایش به وسیله $ M 3 H R D A D $ : دوشنبه 05 بهمن 1388 در 20:42 عصر
کسی هست که بدونه چه جوری دو تا عدد 4 بایتی ( 32 بیتی ) رو تو اسمبلی باهم تقسیم کرد؟
البته کدش اینه اما منظورم برنامه کاملشه که با پوش و پاپ نوشته میشه
کد:
xor edx, edx
mov edx, 100
mov ebx, 10
div ebx
با عرض سلام و تشكر خدمت دوست گرامي !
من تمامي مراحلي كه فرموده بوديد رو انجام دادم و در هر قسمت كد مربوطه را نوشتم اما
وقتي برنامه را اجرا مي كنم ابتدا "Enter num " ظاهر مي شود و من يك عدد مثلا 8 را وارد
مي كنم ، سپس عبارت Continue را از من سوال مي كند و من عدد 5 را وارد كردم
اما هم ماكزيمم و هم مينيمم را عدد 8 اعلام مي كند ، ميشه لطف كنيد علت آن را بيان كنيد و يا لطف كنيد كد كامل برنامه را بنويسيد . ممنون ميشم اگه اين لطف را كنيد !!
با تشكر
دمت گرم
pouya_20666@yahoo.com
فقط Subject رو بنویس مقاله تا بدونم کدومه
سلام دوست گرامي
اگه ميشه لطف كنيد برنامه اي كه بين چند عدد متمايز، ماكزيمم و مينيمم آنها را در خروجي بنويسد را بذاريد
ممنون ميشم
کی برنامه محاسبه مساحت مستطیل رو داره؟
موضوع بی ربط هست با این تاپیک اگر خواستید تاپیک جدید بزنید در خدمتم.
من فکر میکنم مدیران نسبت به بخش اسمبلی یه خورده کم لطف هستن توی بخشهای دیگه وضعیت خیلی بهتره و سوالات بی ربط به چند ساعت نمیکشه که پاک میشن اما اینجا این پست:
الان نزدیک سه ماه هست که اینجاس حالا چه ربطی اصلا به بحث داره الله اعلم.سلام دوست گرامي
اگه ميشه لطف كنيد برنامه اي كه بين چند عدد متمايز، ماكزيمم و مينيمم آنها را در خروجي بنويسد را بذاريد
ممنون ميشم
بعدشم اومدن یه سوال دیگه تو ادامه همین تاپیک پرسیدن و ....
اگه بلدی یه برنامه بنویس که سری اعداد فیبوناچی تا 20 رقم اول رو در یک آرایه بریزه .بعد به صورت باینری چاپشون کنه
bebakhshid man daneshjoe computer hastam va shadidan ba darse zaban mashin moshkel peida kardam age mishe barname miangin 20 adade be forme binery va namayeshe jamo miangineshono bezarid
mamnoon misham
خیلی جالب بودن. ممنون
با سلام
من سه تا برنامه میخوام
1. نمایشتمامی کدهای اسکی روی صفحه نمایش
2. برنامه جدول ضرب
3. مثلث خیام پاسکال
ممنون میشم اگر کمکم کنید.
میشه این برنامه رو برام بنویسین و برام بفرستین؟
با استفاده از برنامه نویسی زبان ماشین 6 عدد 16 بیتی را با هم جمع کنید (که حاصل جمع آن از 16 بیت بیشتر نشود ) و اگر حاصل آن از 7FFF بیشتر شد در حافظه به نام negative ذخیره شود و در غیر این صورت در حافظه ای به نام posetive ذخیره میشود.
سلام
کسی میتونه تو نوشتن یه اسکرین سیور ساده به زبان اسمبلی به من کمک کنه؟؟؟؟؟؟؟؟
خیلی لازم دارم ، ا از اینترنت چند تا گرفتم ولی نمی دونم کدوم بهتره ......
ممنوم میشم
سلام دوست عزیز
خواهش میکنم اگه امکان داره یه برنامه اسکرین سیور یا دفترچه تلفن بزارید خیلی احتیاج دارم ممنوووون
سلام دوستان
کدهایی که شما از اونها استفاده می کنید خیلی تفاوت داره با کدهایی که به ما یاد دادن!
مثلا جمع دو عددی که خودم نوشتم تو اسمبلی این میشه :
تفاوت در چیه؟.386
.MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
INCLUDE io.h
.data
prompt1 BYTE "Enter n1: ",0
prompt2 BYTE "Enter n2: ",0
temp DWORD ?
string BYTE 11 DUP (?)
label1 BYTE "sum= "
sum BYTE 32 DUP(?)
.CODE
_start:
output prompt1
input string,11
atod string
mov temp, eax
output prompt2
input string, 11
atod string
add eax, temp
dtoa sum, eax
output label1
INVOKE ExitProcess, 0 ; exit with return code 0
PUBLIC _start ; make entry point public
END