Ассемблер тілі

Кіріспе
1.Ассемблер тіліне шолу
Тіркегіштер
Жалпы міндетті тіркегіштер
Басқару тіркегіштері
Стек
Сөздерді жазу және оқу
Есептің қойылымы
Есептің шешілуі
Есептің нәтижесі
Программа листингісі
Жоғарғы деңгейлі тілдерде есептеу және мәтіндермен жұмыс істейтін программалар жазу ыңғайлы. Бірақ олар жылдамдығы мен жадыда алатын орны жағынан алғанда онша тиімді болып шықпайды. Осының салдарынан жоғарғы деңгейде программалау тілдерінің бәрінде ассемблерде жазылған жазылған программалық жекебөлшектерін қолдану мүмкіндіктері ескерілген.
Есептеу машинасын керекті бағытта жұмыс істейтін – машиналық тіл. Ассемблер тілі – машиналық тілдің рәміздік көрсетімі. Ассемблер немесе жоғарғы деңгейлі тілде жазылған программаны машиналық тілге аудару үшін аударғыш деп аталатын бағдарламалар қолданылады. Ассемблер тілінде жазылған программаның аударғышы Ассемблер деп аталады.
Машинадағы барлық процестер ең төменгі, аппараттық деңгейде тек машиналық тілдің командалары арқылы жүзеге асырылады. Ассемблер тілі компьютердің әрбір түрі үшін әр түрлі болып келеді.
Кейде мәселен, программа ерекше, бейстандартты құрылғымен жұмыс істеуі немесе аппаратураға тікелей қатынасумен байланысты іс-әрекеттер жасауы керек болады. Бұл кезде программалаушы қандай білікті болмасын және өзінің программасын қандай да жоғарғыдеігейлі тамаша тілде жазбасын, бәрібір, оған ассемблер тілін білу керек болады. Сондықтан да, жоғарғы деңгейлі тілдердің компиляторларының көбісінде ассемблер тіліндегі жекебөлшектермен байланысу құралдары бар екені немесе программалаудың ассемберлік деңгейін қолдауы бостан бос емес.
        
        ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Қазақ Ұлттық Аграрлық Университеті
Ақпараттық жүйелер кафедрасы
Курстық жұмыс
Тақырыбы: Ассемблер ... ... ... 2006 ... ... ... ... Г.Д.
Тақырыбы: «Ассемблер тілі»
Жұмыс барысында қолданылатын бастапқы мәліметтер мазмұны,Ассемблер
программалау тілінде бағдарлама құру, әдістің баяндалуы, ... пен ... ... ... құралады. Программа
листингі берілген.
Сызба материалдар саны: 11 сурет
Жұмыс жетекшісі: Кенжалиева М.Д .
Кіріспе
Жоғарғы деңгейлі тілдерде есептеу және ... ... ... жазу ... ... олар ... мен ... алатын орны
жағынан алғанда онша тиімді болып шықпайды. Осының ... ... ... ... ... ассемблерде жазылған жазылған
программалық жекебөлшектерін қолдану мүмкіндіктері ... ... ... ... ... ...... тіл.
Ассемблер тілі – машиналық тілдің рәміздік ... ... ... ... тілде жазылған программаны машиналық тілге ... ... деп ... ... ... ... тілінде жазылған
программаның аударғышы Ассемблер деп аталады.
Машинадағы барлық ... ең ... ... ... ... ... ... арқылы жүзеге асырылады. Ассемблер тілі
компьютердің әрбір түрі үшін әр ... ... ... ... ... ерекше, бейстандартты құрылғымен жұмыс істеуі
немесе аппаратураға тікелей қатынасумен байланысты іс-әрекеттер ... ... Бұл ... ... ... ... ... және өзінің
программасын қандай да жоғарғыдеігейлі тамаша ... ... ... оған
ассемблер тілін білу керек болады. Сондықтан да, жоғарғы деңгейлі тілдердің
компиляторларының көбісінде ассемблер тіліндегі жекебөлшектермен ... бар ... ... ... ... деңгейін қолдауы
бостан бос емес.
1.Ассемблер тіліне шолу
Машиналық тіл – негізі 0 мен 1-дің киындасуларының жиынынан ... ... ... ... үшін ... ... ... аналогін қолданған. Оны ассемблер деп атаған
Ассемблер тілі ... ... ... Бұл сөздер жинағы электрондық
есептеу машинасына қандай өрекет жасау керектігін ... ... ... қарағанда ассемблер тілінің командалар жинағы ЭЕМ-нің
буындарымен тікелей байланысты. ... ... тілі ... машина-бағдарлы программалау тілі деп саналады.
Ассемблер тілінің тиімділігі:
• Тез ... ... ... толығырақ басқарудың
мүмкіндігі бар;
• Компьтерге төмен деңгейде қатынас құруға болады.
Орындалатын программаны және ... ... ... ... ... ... біріктіретін көмекші программа байланыстар
түзеткіші немесе программа құрастырғыш (LINKER) деп ... ... ... ... ... жүктемелеуіш (Loader) деп
аталады. Кейде байланыстарды түзету мен жүктемелеу жұмыстарын бір ... ... ... кез ... ... ... ... .asm кеңеймесі бар файл түрінде сақталады.
Сосын TASM.EXE аударғыш (оны ... ... деп те ... көмегімен бастапқы мәтіндік файлдан Name.obj ... ... ... ... ішкі ... арасындағы байланыстары
жөнге келтірілмеген) объектік кодасы бар файл ... ... ... (листинг) және Name.crf (ерсілі-қарсылы сілтемелер) файлдарын
қалыптастырады.
Осыдан кейін TLINK.EXE ... ... ... ... көмегімен объектік файлдан ( деп аталатын) орындалаиын
программа ... ... ... Name.map ... ... ... файлын), Name .def (анықтамалар файлын) және ... ... ... ...... тілдің символдық аналогы, сондықтан ... ... ... ерекшеліктерін бейнелеуге тиіс.
Олар жадыны ұйымдастыру, операндтарды адрестеу тәсілдері, ... ... ... тілінде жазылған программаны жадының сегмент деп аталатын
бөлшектер жинағы ретінде қарастыруға болады. Әрбір ... ... ... ... ... ... программаның кодасында бөлек бір жолдан
тұрады.
Ассемблер сөйлемдері 3 түрлі болады:
... ... ... ... бар және ... не ... ... екенін көрсетеді.
• Макрокомандалар. Макрокоманда- бсатапқы ... ... ... орнына жүретін символдық атау.
• Директивалар (жалғаноператорлар). Жалғаноператорлар Асссемблерге
деректермен және ... не ... ... ... ... ... олар ... емес,
аударғыштың жұмысын басқарады ж»не орындалатын EXE файлында бқл
жалғаноператоларға сәйкес машиналық кода болмайды.
Тіркегіштер
Шағын санашықтың ... ... ... ... ... ... ... жады мекендерін жазуға болады.Тіркегіштер
тікелей шағын санашықтың ішінде болғандықтан,ол өте жылдам .Егер
программада кейбір мәндерге жылдам қатынас құру қажет болса,онда оны
тіркегіште ... ... ... ... шағын
санашықтың тіркегіштер жиынтығы мынадай топтардан тұрады:
• жалпы міндетті тіркегіштер;
• мекендететін ... ... ... ... ... ... BL
CX—CH CL
DX—DH DL
Жалпы міндетті тіркегіштер
АХ-тіркегіші бұрынғы шағын санағыштың ... ... ... АХ ... ... ... кіші
көлемі прграмманы қысқартуға және оны орындалуын жылдамдатуға мүмкіншілігін
береді.
ВХ тіркегіші-мекендету тіркегіші және есептеу тіркегіші сияқты қолданылады.
СХ 8088 ... ... ... СХ ... санашық ретінде
қолданады.Онда айнымалының қайталау саны сақталынады.
DХ тіркегіші аккумулятордың ұлғайтқышы ретінде жоғарғы дәлдікті есептеуүшін
пайдаланады және ... ... ... ж\е ... қолданылады.
Мекендету тіркегіштері
8088 шағынсанашығында лперандтарды адрестеуге қатысатын 4,16 биттік
тіркегіш бар.Олардың біреуі бір уақытта жалпы ... ... ... ... ... ... ... және де одан басқа 3 тіркегіш бар.Олар
мыналар:
ВР бұл база ... бұл ... ... бұл ... ... тіркегіштері.8088 шағынсанашығында 3 16 биттік тіркегіштер
бар.Олар алдымен басқару операцияларында қолданылады.
SP стектің көрсеткіші;
IP команданың ... және ... ... ... ... )
CS программаны анықтау сегменттер регистрі
DS деректер құрылымымен жұмыс істейтін сегменттер регистрі
SS стекті ... ... ... ... ... ... ... қолданушы программалардыбасқа тілге
түрлендіретін программаларды транслятор деп атайды.Трансляторларды 2 топқа
бөлуге болады.Кіруші тіл сандық машиналық тілдің символдығы болса,ал кіруші
тіл ассемблер деп ... тілі әр бір ... ... әр бір ... командаға
сәйкес болатынтіл.Мұнда екілік,сегіздік әдіс,адрестердің орнына символдық
белгілер қолданылады.
SEGMENT -дерективасы жаңа сегментті бастайды;
ENDS -дерективасы оны аяқтайды;
ALIGN -дерективасы келесі ... ... ... ... ... ... кейбір өрнектерге символдық атаулар береді.
Стек
Стек және стек сегменті
Стек бұл сақтайтын жер,онымен жұмыс келесі принцип бойынша
жүргізіледі:Стекке соңғы болып ... ... ... ... ... ... ... кез-келген аймағын бөлуге
болады,бірақта оған екі талап қойылады:оның өлшемі ... ... ... оның ... ... 16 ретті болуы керек.Басқа сөзбен айтқанда,бұл
адрес зерде сегменті болуы тиіс.Оны стек сегменті деп атайды.Оның
басына,біз ... ... ... көрсетілуі тиіс:
SS( стек ... ... ... 1 ... ... вы не ... ещё!Приятного аппетита!')
end;
end.
9.Вычислить батырмасына,
procedure TForm2.Button5Click(Sender: TObject);
var ... ... ... ... ... ... ... TObject);
begin
form3:=Tform3.create(form2);
form3.showmodal;
end
11.Выход батырмасы үшін,ModalResult-mrCancel командаларын орындаймыз.
12.Очистка батырмасына,
procedure TForm2.Button6Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
end
13.Келесі ... ... ... 3 label,1 Button қоямыз.Оларды суреттегідей етіп өзгертеміз.
14.Ең соңғы формамыз бұл-Сообщение.Оған бір Button және 1label
Орналастырамызда, Button-ды ОК ... ... ... ModalResult-mrОК
командаларын орындаймыз.
15.Проектімізді сақтаймыз да,оны жүктейміз(запускаем)
Есептің нәтижесі:
1.
2.Меню батырмасын шерткенде,
3.Ескерту терезесінің шығуы:
4.Шартқа байланысты екінші терезенің шығуы:
5.Жалпы сумманың есептелінуі:
6.Тұтынушының ұсынған ... ... ... қайтару:
7.О программе терезесі:
Программа листингісі:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: ... ... ... ... ... Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: ... ... ... TForm1.Button1Click(Sender: TObject);
begin
form2:=tform2.create(form1);
form2.showmodal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, ... ... = ... ... ... TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: ... ... ... ... ... TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: ... ... ... ... ... ... ... Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit3;
{$R *.dfm}
procedure TForm2.Button4Click(Sender: TObject);
begin
form3:=Tform3.create(form2);
form3.showmodal;
end;
procedure ... ... ... TObject);
var a,b,c,d:integer;
s:integer;
begin
a:=strtoint(edit1.Text);a:=a*150;
b:=strtoint(edit2.Text);b:=b*140;
c:=strtoint(edit3.Text);c:=c*110;
d:=strtoint(edit4.Text);d:=d*90;
s:=a+b;
s:=a+c;
s:=a+d;
s:=b+c;
s:=b+d;
s:=c+d;
s:=a+b+c;
s:=a+b+d;
s:=b+c+d;
s:=d+c+a;
s:=a+b+c+d;
label11.Caption:=''+inttostr(s);
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
end;
procedure TForm2.Button1Click(Sender: TObject);
var n,n1,n2,n3,n4:integer;
k:string[20];
m:string[25];
begin
k:=string(edit1.Text);
m:=string(edit2.Text);
n1:=strtoint(edit1.Text);
n2:=strtoint(edit2.Text);
n3:=strtoint(edit3.Text);
n4:=strtoint(edit4.Text);
n:=n1+n2+n3+n4;
if n>2 then
ShowMessage('Извените,заказать больше 1 ... ... вы не ... ещё!Приятного аппетита!')
end;
end.

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 9 бет
Бұл жұмыстың бағасы: 700 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
«Ассемблер-күрделі машиналық тіл»27 бет
Ассемблер тілінің синтаксисі, алфавиті14 бет
Ассемблер тілінде бағдарламалау10 бет
Ассемблер тілінде программалау27 бет
Ассемблер тілінде программалау жайлы ақпарат5 бет
Ассемблер тілінде программалау туралы ақпарат25 бет
Ассемблер тілінде программалау туралы ақпарат жайлы5 бет
Ассемблер тілінде программалау туралы мәлімет8 бет
Ассемблерде бағдарламаны өңдеу этаптары22 бет
Ассемблермен жұмыс5 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь