O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Kafedra : ______________________________
Fan : Kompyuterni tashkil etilishi
AMALIY ISH № 3
Guruh: 122-19
Bajardi: Xidirboyev O’.
Tekshirdi: Jamolov X.
3-amaliy ish
7-variant
Assembler tili operatorlari bilan tanishish.
Ishdan maqsad: Assembler tilida Delphi dasturlash muhitida kod yozib, CPU da tahlil qilish.
Qisqacha Nazariy Malumotlar.
EHMlar endi yuzaga kelgan paytda programma tuzishda, faqat mashina tillarida, ya’ni sonlar yordamida EHM bajarishi kerak bo‘lgan amallarning kodlarida kiritilgan. Bu holda mashina uchun tushinarli sanoq, sistemasi sifatida 2 lik, 6 lik, 8 lik sanoq sistemalari bo‘lgan. Programma mazkur sanoq sistemasidagi sonlar vositasida kiritilgan.
Yuqori bosqichli programmalashda, mashina tillariga qaraganda mashinaga moslashgan (yo‘naltirilgan) belgili kodlardagi tillar hisoblanadi. Belgilar kodlashtirilgan tillarning asosiy tamoyillari shundaki, unda mashina kodlari ularga mos belgilar bilan belgilanadi, hamda xotirani avtomatik taqsimlash va xatolarni tashhis qilish kiritilgan. Bunday mashina moslashgan til - ASSEMBLER tili nomini oldi.
EHM faqat mashina tilini-buyruqlar, operand va sonlarning ikkilik sanok, sistemasidagi ko‘rinishini «tushinadi». Shu sababli, Assembler tilida yozilgan programmalar uchun ularni mashina tiliga o‘tkazuvchi «tarjimon» kerak bo‘ladi.
Assembler tilidagi programmani mashina tiliga o‘tkazuvchi maxsus programma translyator deyiladi, ayrim hollarda uni Assembler deb ham atashadi.
Dasturlashda 2 daraja bor.
1. Yuqori daraja
2. Quyi daraja
1. Yuqori daraja = Bu darajada manba kodi to'g'rirog'i "dasturlash tili" insonga(yani bizga yaqinroq til) yanayam to'g'rirog'i bu "Ingliz" tilida ekanligi. Qisqasi biz tushuna oladigan tilda dastur yoziladi.
1. Quyi daraja = bu, kompyuterga yaqinroq til.
Nega "Assembler" quyi daraja dasturlash tili hisoblanishini sababi bu dastur "0" va "1" simvollaridan foydalanadi ya'ni kompyuter faqat "0" bilan "1" tushunadi. Misolda tushuntaraman:
Assemblerda xamma procedura umuman kod mana "bit","byte","kbyte","mbyte","gbyte","tbyte" o'lchov(kompyuter o'lchov birligi) birliklaridan keng foydalaniladi.
masalan "bit":
Kampyuter "0" blan "1" tushunadi, misol uchun qanaqadir komputerni xotirasini olaylik:
----------------------------------------
0FD1:0000 mov ax,043 ...?o.!2dsc..dse..-
FD02:0001 mov bx,ax ?df..rd.se..2.fs..-
----------------------------------------
mana shu xotirani qaysidir joyi. Bu insonla tushunadigan ko'rinishi. Bu xotirani komputer mana:
10011110100100111000011100101001 shuaqa ko'radi.
Dastur kodi:
uses
SysUtils;
var a,b,c:Integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
read(a,b,c);
asm
mov eax, 2;
mul c;
mov c, eax;
mul b;
mov c, eax;
mul a;
mov c, eax;
sub eax, a;
mov c, eax;
end;
Writeln(c)
end.
Do'stlaringiz bilan baham: |