درود
من این ترم اسمبلی گرفتم
اول می خواستم ببینم به نظرتون ارزش یادگیری داره؟ یا در حد جزوه استاد و نمره قبولی بخونم؟
بعدیش هم اینکه با دید کد نوشتن به زبان اسمبلی بخونم یا در حد یادگیری دستورات؟
ممنون از پاسختون
درود
من این ترم اسمبلی گرفتم
اول می خواستم ببینم به نظرتون ارزش یادگیری داره؟ یا در حد جزوه استاد و نمره قبولی بخونم؟
بعدیش هم اینکه با دید کد نوشتن به زبان اسمبلی بخونم یا در حد یادگیری دستورات؟
ممنون از پاسختون
یه بخشش اینه که بدونی کدی که به زبان سطح بالا می زنی بعدا به چی تبدیل می شه و کامپایلرت چطوری با کد ها برخورد می کنه و اینکه چطور می شه بهینش کرد و ازین حرفا
یه کاربردشم می تونه توی cpp باشه یه جا مثلا بخوای خودت مستقیما با register ها کار بکنی
اگر هم تو زمینه crack و یا قفل های نرم/سخت افزاری بخوای فعالیت کنی لازمه که assembly بلد باشی.
در کل اطلاعات پایه ای خیلی زیادی توی این درس یاد داده میشه به جز خود دستورات، ساختار cpu و تعامل نرم افزار با سخت افزار، نحوه ذخیره سازی اعداد انجام عملیات روی اعداد و رشته ها ساختار مموری و خیلی چیزای دیگه...
سلام.
Flat Assembler که هست... ضمنا چه طور ممکنه هنوز نشه ۶۴ بیت Assemble کرد ولی بشه کامپایل کرد؟ یکی از مراحل کامپایلر ها همین Assemble کردن هست... همچنین با Flat Assembler سیستم عامل ۳۲ بیتی و ۶۴ بیتی ساختن شبیه Windows... در مورد کاربراش هم واضحه که باید یه عده ی خاص باشن... شما اون Flat Assembler رو دانلود کن تو Example هاش برنامه ی ۶۴ بیتی هم نوشته...
ضمنا Assembly داستانش از زبان های برنامه نویسی دیگه جداست و کاربردهای خودش رو داره.
میشه یه اسمبلر معرفی کنید که بتونم این کد رو اجرا کنم؟ هر برنامه ای رو امتحان کردم نتونست اون فایل io.h رو بخونه
اگه امکان داره یه آموزش کوچیکم در موردش بدید
ممنونم از پاسختون
INCLUDE io.h ; header file for input/output
cr EQU 0dh ; carriage return character
Lf EQU 0ah ; linefeed character
stack SEGMENT STACK
DW 100h DUP(?)
stack ENDS
data SEGMENT
number1 DW ?
number2 DW ?
prompt1 DB "Enter first number: ", 0
prompt2 DB "Enter second number: ", 0
string DB 40 DUP (?)
label1 DB cr, Lf, "The sum is “
sum DB 6 DUP (?)
DB cr, Lf, 0
data ENDS
code SEGMENT
ASSUME cs:code, ds:data
start: mov ax, SEG data ;load data segment number
mov ds, ax
prompt: output prompt1 ;prompt for first number
inputs string, 40 ;read ASCII characters
atoi string ;convert to integer
mov number1, ax ;store in memory
output prompt2 ;prompt for second number
inputs string, 40 ;read ASCII characters
atoi string ;convert to integer
mov number2, ax ;store in memory
mov ax, number1 ;first number to AX
add ax, number2 ;add second number
itoa sum, ax ;convert to ASCII characters
output label1 ;output label and sum
quit: mov al, 0 ;return code 0
mov ah, 4ch ;DOS function to return
int 21h ;interupt for DOS services
code ENDS
END start
سلام:
ممنون دوست عزیز که لااقل قدری زبان اسمبلی را برای دوستان تشریح کردی . بالاخره نمردم و دیدم یکنفر از اسمبلر قدرتمند و استثنایی Fasm یا همون فلت اسمبلر تعریف کرد . ااما در مورد کاربردهای زبان اسمبلی خصوصا Fasm باید بگم که اسمبلی یک زبان همه منظوره هست و کاربردهایش هم خاص هست و هم عام . یعنی یک اچار فرانسه ی کامل برای برنامه نویسی .
اگر کسی از همون ترم اول اسمبلی را کاملا یاد بگیره و باهاش برنامه های بزرگ درحد سیستم عامل بسازه و باهاش تحت ویندوز و لینوکس برنامه نویسی حرفه ای انجام بده دیگه عمرا سمت زبانهای سطح بالا نمیره . مشکل از نظام اموزشی توی دانشگاههاست که اسمبلی را در ترمهای اخر قرار داده اند درحالیکه می بایست در ترم اول قرار بگیره .