در اینجا میخواهم برنامه های مهم در اسمبلی را قرار دهم لطفا اگر برنامه خوب و آموزشی دارید در اینجا قرار دهید
Printable View
در اینجا میخواهم برنامه های مهم در اسمبلی را قرار دهم لطفا اگر برنامه خوب و آموزشی دارید در اینجا قرار دهید
برنامه فعال کردن موس بدون استفاده 33h
باز و بسته شدن درب سیدی رام
محیط برای زبان اسمبلی در win32
یک سیستم عامل کوچک و خوب برای آموزش
خوب فکرکنم برنامه ها رو کسی نمی خواد و به این قسمت هم کسی علاقه نداره پس بای
بهتر بود ادامه میدادی. تا اینجا که جالب بود. نمیشه انتظار داشت یه بخشی مثل اسمبلی که اکثر User هاش میان فقط پروژه دانشجویی شونو اینجا سفارش بدن رغبت به این برنامه ها نشون بدن ولی توجه داشته باشید که این مطالب تو سایت میمونه و بعدا هستن کسانی که بخوان از این مطالب استفاده کنن. مثل من که شاید 2 ماه نیست با اینجا آشنا شدم ولی حتی از مطالب و پست های 4 سال پیش این سایت هم خصوصا بخش اسمبلی و دلفی به خاطر علاقه ای که دارم یه چیزایی یاد گرفتم. بنابراین اگر هدفتون Share کردن اطلاعات بود فکر میکنم بهتره ادامه بدید.
یعنی ما برنامه نویس حرفه ای نداریم
اطلاعات موس را نمایش میدهد
یک سیدی پلیر با asm win32
Binary Clock 1.0
وضعیت پورتهای شبکه
نمایش ترافیک شبکه با گراف
Mail Checker POP3
Chat In TCP/IP
Shutdown,Logoff or Restart Window
KeyLogger
البته آنتی ویروس های فعلی این کد رو به عنوان ویروس شناسایی میکنند.
MP3 Player
Water Effect
HTML Color Mixer
RAS function
assembler for 8080, 8085 and Z80 microprocessors
ممنون از برنامه های خوبتون
سورسی راجع به برنامه ماشین حساب هم دارید.
در حدی که فقط نحوه کار رو بفهمیم کفایت می کنه.
ممنونم
با سلام
حدود 200 برنامه وجود داره نمیدونم کدومشون مورد نیاز است، کسی برنامه میخوائ اعلام کنه...
برنامه ماشین حساب با 4 عمل اصلی با این تفاوت که بتواند اعداد تا 40 رقم رو محاسبه کند! محدودیت ماشین حسابهای معمولی اسمبلی در اینه که حداکثر تا 8 رقم رو میشه باهاشون محاسبه کرد... از توجه اساتید این تالار متشکرم
سلام؛
واقعا دستتون درد نکنه. خیلی باحاله، از این به بعد من مشتری می شم.
سلام وخسته نباشید
من نیاز به MASM و LINK ورژن 6 به بالا دارم. کدها رو نوشتم اما عمل نمیکنه استاد میگه باید با masm بالاتر کمپایل بشه. نتونستم گیر بیارم . ممنون و سپاس فراوان
ادیتور متن
نقل قول:
نوشته شده توسط [B
سلام
شما که 200 برنامه داری می خوام ببینم برنامه محاسبه ماتریس معکوس 2*2 رو هم داری؟
سلام من به برنامه اعداد كامل احتياج دارم خيلي فوري اگه دارين ترخدا هر چه سريعتر برام بذارين ممنون
ممنون از همه فايل هل باز هم بذار
این فایلها منبع خوبی برای تازه کارا هستن.
لطفا ادامه بدید
(اینطور نیست که همه دنبال تمرینات حل شده باشن)
تشکر
damet garm hal dad
با سلام و تشكر از لطف جنابعالي
اگه ميشه لطف كنيد وكد برنامه تعيين زوج و فرد بودن يك عدد را بذارين
با تشكر
برنامه زوج و فرد
.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 بنویسید عدد گرفتن ادامه پیدا میکنه
و بعدش اگه گفت نه میاد بزرگ و کوچیک و چاپ میکنه
(بازم شرمنده باید برم جایی اونجور که باید توضیح ندادم)
امیدوارم استفاده کنید
کسی هست که بدونه چه جوری دو تا عدد 4 بایتی ( 32 بیتی ) رو تو اسمبلی باهم تقسیم کرد؟
البته کدش اینه اما منظورم برنامه کاملشه که با پوش و پاپ نوشته میشه
کد:
xor edx, edx
mov edx, 100
mov ebx, 10
div ebx
با عرض سلام و تشكر خدمت دوست گرامي !
من تمامي مراحلي كه فرموده بوديد رو انجام دادم و در هر قسمت كد مربوطه را نوشتم اما
وقتي برنامه را اجرا مي كنم ابتدا "Enter num " ظاهر مي شود و من يك عدد مثلا 8 را وارد
مي كنم ، سپس عبارت Continue را از من سوال مي كند و من عدد 5 را وارد كردم
اما هم ماكزيمم و هم مينيمم را عدد 8 اعلام مي كند ، ميشه لطف كنيد علت آن را بيان كنيد و يا لطف كنيد كد كامل برنامه را بنويسيد . ممنون ميشم اگه اين لطف را كنيد !!
با تشكر