Абай атындағы



Pdf көрінісі
бет4/30
Дата31.03.2017
өлшемі5,32 Mb.
#10853
1   2   3   4   5   6   7   8   9   ...   30

X
Y
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
Frame 001
⏐ 30 Aug 2010 
Y
X
Z

 
 
24
использованием которого находятся 
1
,
+
n
j
i
s

1
,
+
n
j
i
c

1
,
+
n
j
i
T
. Затем вычисления повторяются в 
той  же  последовательности.  Для  проверки  точности  результатов  контролируется 
совпадение  дебитов  добывающей  и  нагнетательной  скважин,  совпадения  изменения 
средней  водонасыщенности  с  величиной  отношения  объема  добытой  нефти  к  объему 
элемента  симметрии;  сравниваются  количество  закаченного  полимера  и  количество 
добытого  и  находящегося  в  пласте  (в  растворе  и  поглощенного  пористым  скелетом) 
полимера. 
Запишем  разностный  вид  уравнения  для  давления  из  системы (3) для  шага 
сетки 
i
h
 
,
)
/
2
.
0
ln(
)
(
2
,
1
1
1
1
1
0
1
1
1
1
2
/
1
2
/
1
0
2
/
1
2
2
/
1
1
1
1
1
2
/
1
2
/
1
0
2
/
1
2
2
/
1
1
1
1
1
2
/
1
2
/
1
0
2
/
1
1
2
/
1
2
1
1
1
2
/
1
2
/
1
0
2
/
1
1
2
/
1
2
2
1
c
i
ск
l
ij
ij
ск
it
l
ij
l
ij
j
i
ск
l
ij
l
ji
ij
ij
ij
ij
l
ij
l
ij
ij
j
i
ij
ij
l
j
i
l
ij
j
i
j
i
j
i
j
i
l
ij
l
j
i
j
i
j
i
j
i
j
i
ij
ij
r
x
p
p
K
q
p
p
y
x
q
h
p
p
H
K
H
H
h
p
p
H
K
H
H
h
h
p
p
H
K
H
H
h
p
p
H
K
H
H
h
H
H
Δ

=

+
Δ
Δ
=
=




⎪⎪







⎪⎪














+











+
+
+

+




+
+
+
+
+
+
+
+

+




+
+
+
+
+
+
+
π
τ
(10) 
где  коэффициенты  при  разностных  аналогах  производных  рассчитываются  на 
n
 
временном  слое,  здесь 
l
 – индекс  итерации, 
it
τ
 – параметр  итерации.  Давление 
находится  методом  установления;  используется  метод  переменных    направлений
Итерации  заканчиваются  при  выполнении  условия 
...,
2
,
1
,
0
,
1
=


+
l
p
p
l
ij
l
ij
ε
где 
значение  давления  просчитывается  в  промежутке  с  начальной  итерации 
0
=
l
  до 
некоторого 
*
l
l
= ,  для  которого  выполняется  данное  условие,  тогда  для  решения  в 
уравнение насыщенности подставляется значение давления при 
*
 слое итерации. Тем 
самым,  численное  решение  получается  решением  уравнения,  которые  линейно  на 
каждом  итерационном  слое 
1
+
l
.  Аналогично  выписываются  разностные  аналоги  для 
уравнения для насыщенности, температуры и концентрации.  
Общий  алгоритм  нахождения  параметров  задачи  воздействия  на  пласт  для 
системы уравнений имеет вид 
(
)
(
)
(
)
(
)
,
1
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
*
*
*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

=
+
=
+
=
+
=
+
=
n
ij
n
ij
n
ij
n
ij
n
ij
l
ij
n
ij
s
h
n
ij
n
ij
n
ij
n
ij
l
ij
n
ij
n
ij
h
n
ij
n
ij
n
ij
n
ij
n
ij
l
ij
n
ij
h
n
ij
n
ij
n
ij
n
ij
n
ij
k
ij
n
ij
p
h
it
k
ij
k
ij
s
s
c
v
p
s
L
s
s
s
v
p
c
L
c
c
c
s
v
p
L
c
v
p
s
L
p
p
θ
τ
θ
τ
θ
τ
θ
θ
θ
τ
θ
θ
 
      
 
 (11) 
которая решается неявным итерационным методом.  
Кроме  последнего  уравнения  в  системе (11) являются  трехдиоганальными  и 
можно  их  решать  методом  прогонки  каждую  по  отдельности,  которые  являются 
линейными  на 
1
+
n
  временном  слое.  Устойчивость  и  соответственно  сходимость  для 
неявной разностной схемы проверялся путем сравнения с тестовыми данными решений 
при заданной суммарной скорости.  
Численный расчет производился в среде FORTRAN и общий анализ поведения 
решения при сгущении сетки показал выгодность использования неравномерной сетки 
для решения системы (11) с управляющей метрикой (7), которая обусловлена наиболее 
точным  и  адекватным  соответствием  полученных  результатов  с  физикой 

 
 
25
Y
X
Z
X
Y
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
X
Y
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
рассматриваемых  процессов.  Результаты  расчетов  приведенные  на  рисунках 1 и 2 
получены в случае, когда коэффициенты и основные зависимости взяты, как в [3,4], т.е.   
,
2
1
l
a
l
s
f
+
=
 
(
)
2
2
s
f

=

l
a
l
s
f
+





⎛ −
=
3
1
8
,
0
2
,
0

3
2
6
,
0
8
,
0







=
s
f
,    
 (12) 
( )
( )
(
)
2
7
4
1
1
10
25
,
0
10
158
,
0
1
0
c
c
l

+

+
=
μ
μ
const
=
2
μ
,  
c
Ac
a
β
α
+
=
1

изотерма Ленгмюра, 
Гс
a
=
  - изотерма Генри.  
 
Проведенные  расчеты  показывают,  что,  несмотря  на  имеющиеся  недостатки,  к 
которым  следует  отнести,  в  первую  очередь,  большое  время  расчета  и  традиционное 
для явного уголка размазывание фронтов концентрации и температуры, предложенная 
методика применима при исследовании процесса неизотермического вытеснения нефти 
раствором водорастворимого полимера. Эта же методика пригодна для решения задач 
вытеснения нефти – водой с закачкой оторочки полимерного раствора на любой стадии 
разработки. Также легко можно определить технологические показатели (интегральные 
характеристики  процесса):  среднюю  водонасыщенность,  нефтеотдачу,  обводненность 
продукции,  долю  нефти  в  добываемой  продукции,  количество  полимера  в  пласте  (в 
растворе  и  сорбированного),  общее  количество  за  время t добытой  нефти,  добытого 
полимера, закаченной воды и закачанного полимера.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Рисунок 1 – График распределения давления и насыщенности 
 
 
 
 
 
 
 
 
 
 
 
 
 
Рисунок 2 – График распределения концентрации и температуры  
 
Результаты  расчетов,  особенно  соответствующие  фазовым  проницаемостям (12), 
подтверждают  известные  факты,  что  слабо  сорбирующаяся  примесь  затягивает 
X
Y
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8

 
 
26
безводный  период  эксплуатации  и  снижает  обводненность  продукции  на  начальной 
стадии разработки, а также повышает нефтеотдачу по сравнению с вытеснением чистой 
водой.  Как  видно  из  графиков,  для  сильно  сорбирующегося  полимера  безводный 
период  эксплу-атации  сокращается  и  близок  к  безводному  периоду  при  вытеснении 
нефти  водой.  Сильно  сорбирующаяся  примесь  несколько  замедляет  рост 
обводненности  продукции  на  промежуточной  стадии    и  увеличивает  полноту 
вытеснения нефти на заключительной стадии.  
Теперь 
модифицируем 
вычислительный 
алгоритм 
вводя 
элементы 
распараллелива-ния.  Анализ  построенных  численных  алгоритмов  математических 
моделей  фильтрации  позволяет  выделить  в  них  общие  подходы  и  свойства,  т.е.  в 
использовании  метода  скалярной  прогонки  и  общего  итерационного  цикла,  а  также 
большая  разреженность  матриц  системы  линейных  алгебраических  уравнений  и 
простота  шаблона  разностной  схемы  полученных  при  аппроксимации  исходных 
дифференциальных  уравнений  с  возможностью  их  расщепления  на  отдельные  этапы 
физических  процессов  и  дискре-тизации  области  решения  задач.  Известно,  что 
указанные  свойства  наиболее  часто  учитываются  при  построении  эффективных 
алгоритмов  распараллеливания [1,2]. Учет  свойств  конкретной  задачи,  конкретной 
системы  линейных  алгебраических  уравнений  позволяет  найти  наилучший  вариант 
распараллеливания  алгоритма.  В  связи  с  этим  при  количестве  процессоров -  
предлагается распараллеливание алгоритма в следующей цепочке: 
1  параллелизация  на  уровне  расщепления  на  отдельные  этапы  физических 
процессов  в    общем  итерационном  цикле  для  систем  уравнений (1)-(4) (до 4 
процессоров); 
2  параллелизация  на  уровне  дискретизации  области  решения  задач  на  участки 
]
,
0
[
]
,
[
1
L
x
x
k
k

+
 (до 
2
/
p
 процессоров);   
3  параллелизация  на  уровне  метода  прогонки    для  решения    каждого  из 
уравнений  в системе уравнений (11). 
Естественно,  что  данный  подход  обеспечит  максимальную  эффективность  при 
правильном  распределении/пересылки  пакетов  данных  между  процессорами  и 
рациональном использовании ресурсов памяти.   
Реализации первого уровня позволит производить расчет систем уравнений (1)-(4) 
отдельно  по  процессам  распределения  поля  давления,  температуры,  концентрации  и 
нефтенасыщенности  при  переходах  между  временными  слоями.  Реализации  второго 
уровня  позволит  существенно  увеличить  количество  расчетных  точек,  что  повысит 
точность решений задач. Для третьего уровня использованы результаты работы [1], где 
экспериментально  была  исследована  эффективность  распараллеливания  прогонки. 
Очевидно,  явные  схемы  для  нее  легко  распараллеливаются.  Вычисления  на  каждом 
шаге  по  времени  на  процессорах  выполняются  независимо  друг  от  друга,  обмен 
граничными значениями между соседними процессорами выполняется в конце каждого 
шага.  А  неявная  схема  требует  использования  прогонки,  количество  арифметических 
операций,  приходящихся  на  каждый  узел,  больше,  чем  в  явной  схеме.  Но  она 
абсолютно  устойчива,  позволяет  считать  с  существенно  большим  временным  шагом, 
чем  явная  схема,  и  поэтому  количество  пересылаемой  между  процессорами 
информации  существенно  меньше.  При  разработке  программы  использованы 
гибридной технологии Open MP и MPI, представляющий собой объединение всех трех 
уровней. 
Результаты  анализа  эффективности  расчетов  распараллеливания  приведены  в 
таблице 1 где  ряд1  сооответсвует  для 50х50  точек,  а  ряд2 – 100х100  точек. 
Распределение ускорения  показано на рисунке 2  

 
 
27
Таким образом, описываемый в статье подход удобно экстраполируется, как на 
случаи многих переменных, так при рассмотрении тепло и массообменных процессов в 
пористой  среде,  что  позволяет  управлять  структурой  распределения  насыщенности 
рассматриваемой области и ее значения эффективно находится численно. 
 
 
 
 
 
 
 
 
Таблица 1 – Расчеты распараллеливания 
0,00
1,00
2,00
3,00
4,00
5,00
6,00
7,00
8,00
9,00
0
5
10
15
20
Кол-во процессоров
У
с
коре
н
и
е
Ряд1
Ряд2
 
Рисунок 2 – Распределение ускорения   
 
 
1  Яненко  Н.Н.,  Коновалов  А.Н.,  Бугров  А.Н.,  Шустов  Г.В.  Об  организации 
параллельных  вычислений  и  «распараллеливании  прогонки» //Численные  методы 
механики сплошной среды. – 1978. – № 7. – С. 136-139. 
2  Вшивков  В.А.,  Тарнавский  Г.А.,  Неупокоев  Е.В.  Параллелизация  алгоритмов 
прогонки: многоцелевые вычислительные эксперименты // Автометрия. – 2002. – Т.4. 
– С. 11-17. 
3   Данаев Н.Т.,  Корсакова  Н.К.,  Пеньковский  В.И.  Массоперенос  в  прискважинной 
зоне  и  электромагнитный  каротаж  пластов. – Алматы:  Қазақ  университетi, 2005. – 
180 с. 
4   Баренблатт  Г.И.,  Ентов  В.М.,  Рыжик  В.М.  Теория  нестационарной  фильтрации 
жидкостей и газа. – Москва: Недра, 1972. – 288 с. 
5   Mukhambetzhanov S.T., Akhmed-Zaki D.Zh. Modeling of a problem of phase transitions 
at not isothermal filtration and qualitative properties of the decision // Wiertnictwo Nafta 
gaz – Zakopane, Poland, 2008. - Vol. 25/2. - P. 541-550. 
6   Akhmed-Zaki D. Mathematical modeling of a non isothermal filtration process. Abstracts.  
The Third Congress of the World Mathematical Society of Turkic Countries. CTWM’09, 
Almaty, Republic of Kazakhstan. June 30 – July 4, 2009. – Volume 2. – P. 109. 
7   Liseikin V.D. Grid generation methods. –Berlin: Springer, 1999  
Кол-во 
процессоров 
N = 500 
N = 1000 
1 1,00 1,00 
4 1,31 1,19 
8 3,10 2,59 
12 5,72  4,47 
16 7,90  6,10 

 
 
28
ƏОЖ 378.016.02:004.45(574) 
А.М. Ахметова, А.Н. Байсунова 
 
ЖҮЙЕЛІК ПРОГРАММАЛАУ ПƏНІНДЕ АССЕМБЛЕР ТІЛІН 
ОҚЫТУДЫҢ ЕРЕКШЕЛІКТЕРІ  
 
(Алматы қ., Абай атындағы ҚазҰПУ) 
 
Статья  является  руководством  по  программированию  на  ассемблере  для 
микропроцессорных  систем  на  базе  і80х86  и  посвящена  практическому  применению 
этого  языка  на  примере  использования  ассемблера  а86.  А  также  в  работе  подробно 
описывается метод обучения языку ассемблер на системном программном уровне.  
В  статье  подробно  рассматриваются  дополнительные  возможности  языка 
ассемблер:  макрокоманды  и  связь  с  языками  высокого  уровня.  Приводится  обзор 
стилей языка ассемблер для разных вычислительных систем. В качестве иллюстрации 
применения 
ассемблеров 
рассмотрены 
различные 
вопросы, 
связанные 
с 
многозадачностью, - обработка  прерываний  и  резидентные  программы.  В  статье 
представлены  лабораторные  работы  по  обучению  языку  ассемблер,  результат  работы 
показан в виде иллюстрации.   
The Given article is a management on programming on the assembler for microprocessor 
systems on the basis of 80х86 also it is devoted to practical application of this language on an 
example with use of the assembler а86. And also in the given work the method of training of 
language of the assembler at a system program level is in detail described. 
In the diploma additional opportunities of language of the assembler are in detail 
considered: macros and communication with languages of a high level. The review of styles 
of language of the assembler for different computing systems is resulted. By way of 
illustration applications of assemblers are considered the various questions connected with 
many tasks, - processing of interruptions and resident programs. Laboratory work are 
presented in degree work on method of the learning the language of the assembler, and result 
of the work is shown in the manner of illustrations.   
 
Қазіргі  уақытта  компьютерлік  əлемде  бірнеше  прграммалау  тілдері  бар. 
Программалаушы  программаны  қай  тілде  жазатынын  таңдауы  өз  еркісінде,  бірақ  
жоғары  деңгейлі  тілді  программаның  жазбасын  бəрібір  мамандарға  ассемблерді  білу 
керек.  Сондықтан  да,  жоғары  деңгейлі  тілді  компиляторларының  көбісінде  ассемблер 
тіліндегі жеке бөлшектермен байланысу құралдары бар екені немесе программалаудың  
ассемблерін  қолдануы  бостан  бос  емес.  Ассемблер  тілі  - жүйелік  программалау  тілі. 
Жүйелік  программалау  қызметіне  жүйелік  программалық  қамтамасыз  ету  жұмысын 
атқаруы  жатады.  Жүйелік  программалық  қамтамасыз  ету – бұл  бірнеше 
программалардың  комплексі,  ол  есептеуіш  жүйелердің  компоненттерін  басқаруын 
атқарады,  оған  процессор,  оперативті  жады,  енгізу – шығару  каналдары  жатады. 
Жүйелік  программалаудың  қолданбалы  программалаудан  айырмашылығы - 
 
қолданбалы  программалауда  пайдаланушыға  белгілі  бір  қызмет  ететін  программалық 
жасау  шығады  (мысалы,  мəтіндік  процессор),  ал  жүйелік  программалауда 
программалық  жасаудың  əрекеттестігімен  аппараттық  жасау  (мысалы,  қатты  дисктің 
дефрагментациясы) шығады.   
1953  жылдары  программистер  программа  жазу  үшін  машиналық  тілдің  немесе 
рəміздік  аналогын  қолданған.  Оны  ассемблер  деп  атаймыз.  Ассемблер  (ағылшынның 
“assemble” сөзінен шыққан, яғни, жинау деген мағынаны береді). 
 Ассемблер  машиналық  тілдің  символикалық  көрсеткіші  болғандықтан  ол  осы 
шағын  процессордың  сəулетімен  тікелей  байланысты.  Ассемблер  тілі  сөздер 

 
 
29
жинағынан  тұрады.  Бұл  сөздер  жинағы  ЭЕМ-ға  қандай  əрекет  жасау  керектігін 
көрсетеді.  Машиналық  тіл  негізі 0 мен 1-дің  комбинациялар  тізбегінен  немесе 
жиынынан тұратын тіл.  
Ассемблер  тілінің  командалары  ЭЕМ-ның  буындарымен  тікелей  байланысты 
сондықтан  ассемблер  тілі – машинаға  тəуелді  жəне  машина  бағдарлау  тілі  деп 
саналады.  
Ассемблер тілінің тиімділігі: 
1.  Тез орындалады, өйткені процессорларды толығырақ басқарудың 
мүмкіндігі бар. 
2.  Компьютерге төмен деңгейде қатынас құруға болады. 
Ассеблер тілінің кемшіліктері:  
1.  Бір  машинадан  екіншісіне  тасымалдаудың  қиыншылығы,  өйткені  ассемблердің 
командалары тікелей машиналық кодта түрлендіріледі. Сондықтан олар тек қана 
локальді компьютерлерде орындалады. 
2.  Ішкі программалық кітапханасының жоқтығы. ЭЕМ архитектурасы пайдалануда 
машиналық ресурстардың өзара қарым-қатынасын анықтайды. 
 
мақсаты компьютердің ішкі жүйесін оқып үйрену, ассемблер тілінде программа 
құру,  микропроцессордың  жүйелік  программасын  жазған  кезде ASCII кодында 
программаның  кодталуы  жəне  ассемблер  тілін  оқыту  теориясы  мен  əдістемесі 
қарастырылған.  
  
міндеті – ассемблер  тілінің  негіздері  мен  принциптерін,  атқарылатын  жеке 
бөлшектерін, құру құралдарын, ассемблер тіліндегі дұрыс программаны рəсімдеу, оның 
синтаксистік құрылымын оқып қарастыру. Ассемблер командаларының жіктелуін жəне 
оның  жеке  командаларын  меңгеру,  макро  құралдарды  пайдалана  білу  сияқты 
мəселелерді қaрастыру. 
Ассемблер тілін не үшін оқыту керек? 
1)  Процесорлар  қолданыста  бар  болғанға  дейін,  ассемблер  тілі  қолданыста 
жүреді. 
2)  Ассемблердің  көмегімен    тұтас  жəне  жылдам  код  жасауға  болады.  Жоғарғы 
деңгейдегі  тілдердің  бір  де  бір  компиляторы  мұндай  нəтиже  бере  алмайды. 
Операциялық  жүйенің  көптеген  модульдері  немесе  тіпті  операциялық  жүйенің  өзі  де 
түгелімен ассемблер тілінде жазылған болатын 
3)  Ассемблер  тілінің  арқасында  операциялық  жүйе  үшін  драйверлер  жаза 
аламыз.  
4)  Ассемблерді  біле  отырып,  программа  кодын  талдап  жəне  түзетуге  болады. 
Операциялық жүйенің жəне компилятордың жұмысын терең ұғынуға болады.   
Ассемблер  не  үшін  керек? – деген  сұрақ  туындайды,  ассемблер  процессордың 
тілі болғандықтан, процессорлар қолданыста болғанға дейін бұл тіл бізге керек болады. 
Ассемблер программаның кодын оңтайландыру үшін, драйверлерді, трансляторды жазу 
үшін,  кейбір  сыртқы  құрылғыларды  программалау  жəне  т.б.  үшін  керек.  Ассемблерді 
MS-DOS  операциялық  жүйесіне  қарағанда, Windows операциялық  жүйесінде  жазған 
ыңғайлы. 
Ассемблер тілінің негіздері жəне мүмкіндіктері.  
Ассемблер  немесе  ЖДТ  (жоғары  деңгейлі  тілде)  жазылған  программаларды 
машиналық  тілге  аудару  үшін  аударғыш  транслятор  деп  аталатын  программалар 
қолданылады. Олардың ішінде Ассемблер тілінде жазылған программалық аударғышы 
солай  ассемблер  деп  аталады.  Ал,  жоғары  деңгейлі  тілде  жазылған  программалардың 
аударғышы  программа  аударғыш,  яғни,  компилятор  деп  аталады.  Орындалатын 
программаны немесе басқа алдын-ала аудармаланған ішкі программаларды біріктіретін 

 
 
30
көмекші  программа  байланыстар  түзеткіш  немесе  құрастырғыш  (компановщик)  деп 
аталады. 
Орындалатын 
программаны 
жадыға 
орналастырушы 
программа 
жүктемелеуіш, (загрущик) деп аталады. 
Ассемблер  (ағылшынның “assemble” сөзінен  шыққан,  яғни,  жинау  деген 
мағынаны  береді).  Əрбір  процессордың  архитектурасына  жəне  əрбір  операциялық 
жүйенің өзіне тəн ассеблері бар. Сонымен қатар “кросс-ассемблер” бар. Архитектурасы 
бірдей  машиналарда  (немесе  бір операциялық  жүйеде)  программаларды  ассемблердеп 
жəне форматта орындалатын кодты алып, оны операциялық жүйенің сонарында жұмыс 
атқарады.  
Қазіргі кезде  кең таралған архитектура – x86 жəне Power PC. 
DOC-қа  арналған  ассемблер. DOC операциялық  жүйенің  əйгілі  ассемблерлері 
Borland Turbo Assembler (TASM) жəне Macro Assembler (MASM). Сонымен  қатар 
кезінде қарапайым A86 ассемблері де, əйгілі болатын. Алғашқыда олар тек 16-байттық 
командаларды  қолдады (Intel 80386 келгенінше  дейін).  Кейін  шыққан TASM жəне 
MASM  командалары 32-биттік  команданы,  сонымен  қатар  барлық  заманға  сай 
процессорларға  енгізілген  командалар  жүйесін,  жəне  нақтылы  архитектурасы  бар 
(сондай-ақ, мысалы  MMX, SSE, 3DNow! жəне т.б.) командаларды қолдады.  
Windows операциялық жүйенің келуімен TASM кеңейтілуі шықты, ол TASM 32 
атпен Windows ортасында  программаларды  құрып,  орындауға  арналған  болатын. 
Соңғы шыққан TASM бесінші болжамасы əртүрлі қосымшалары бар толықтырулардан 
тұрады.  Бірақ,  ресми  түрде  программаның  дамуы  толық  кідіртілген.  Ал MASM 
программасы  болса,  əлі  күнге  дейін  дамып,  соңғы  болжамалары DDK жиынтығына 
қосылған.  Бірақ, DOC-қа  арналған  программаның  болжамасы  дамымай  келуде. 
Windows-қа арналған ассемблерде программа құру үшін пакет пайда болды, оның аты  
MASM 32, авторы  Стивен  Хатчессон.  Нағыз  тілді  бағалағыштар FASM ассемблерін 
қолданады, оның авторы Томаз Грижтар. 
Басқа белгілі Linux операциялық жүйеде ассемблердің жағдайы басқаша. Оның 
құрамында gcc компиляторы бар. Ал, оның құрамына gas (GNU Assembler) кіреді. Осы 
компиляторда AT&T синтаксисі пайдаланылады. 
Көшірілетін  ассемблерлер.  Ассемблердің  ашық  жобасы  бар,  оның  болжамасы 
əртүрлі  операциялық  жүйелерде  қолайлы , жəне  осы  жүйелерде  объектілі  файлдар 
алуға  рұқсат  етеді.  Бұл  ассемблердің  атауы NASM( Netwide Assembler ). YASM бұл 
қайтадан жазылған NASM болжамасы BSD лицензиясы бойынша (кейбір шығарулары 
бар). 
FASM  жас,  бірақ  əрі  жылдам  дамитын  жəне  қолданысқа  тез  кірген  əйгілі 
ассемблер, негізгі кодпен таралады. KolibriOS, Linux жəне Windows болжамалары бар, 
олар Intel синтаксисін  қолданады.  Сонымен  қатар, fasm AMD64 нұсқауларды  тірек 
жасайды. Ерекшелігі, макротілдің мықты болуында, яғни, əр түрлі керекті файлдардың 
форматтары жəне бірнеше өзгертілімдері (жақсы жаққа, бірақ бірнеше «ескі мектепке» 
дағдылысыз) бар синтаксис. 
Деректер, атаулар, типтер 
Программа  құрылымы.  Берілген  программада  деректердің  орнын  алдын-ала 
көрсетеміз. Программаның құрылымы ассеблер а86 тілінде орындалатын com-форматы 
программасы келесідей: 
 
jmp start            ;     алғаш орындалатын нұсқау 
;     деректер аймағының айналма жолы 
... 
...                       ;     деректер директивасын анықтау 

 
 
31
... 
start:                            ;     программа кодының басы 
... 
...                       ;      нұсқаулар 
... 
ret                      ;     нұсқаның аяқталуы   “подрограммадан 
;     қайтарылу”,    DOC-тан шығу 
                        
Əр жолда программа операторлардың жолын қуушысы болады.  
Оператор түрінде келесідей берілуі мүмкін: 
−  ассемблердің нұсқауы, яғни, символдық түрде машинаның нұсқауы; 
−  деректерді анықтау директивасы; 
−  ассемблер директивасы, яғни, трансляцияны басқаруға арналған команды. 
Қорыта келгенде, ассемблер тілі сөздер жинағынан тұрады. Сол сөздер жинағы 
электрондық  есептеуіш  машина  қандай  əрекет  жасайтынын  көрсетеді.  Ассемблер 
тілінің командалық жиынтығы электронды  есептеуіш машинамен тікелей байланысты 
болғандықтан,  ассемблер  тілі  машинаға  тəуелді  немесе  машинаға  бағытталған 
программалау  тілі  болып  есептелінеді.  Ұсынылған  мақалада  ассемблер  тілінің  толық 
қосымша  мүмкіндіктері  қарастырылады:  макрокомандалар  жəне  жоғарғы  деңгейдегі 
тілдермен  байланысы.  Сонымен  қатар  мақалада  жүйелік  программалау  пəнінде 
ассемблер  тілін  оқыту  əдістемесі  сипатталған.  түрлі  мысалдармен,  бақылау 
сұрақтарымен  жəне  тестермен  жабдықталған  жəне    ассемблер  тілін  оқытуға  арналған 
лабораториялық жұмыстар жасалып, тапсырмалардың нəтижелері иллюстрация түрінде 
көрсетіледі.  
Қорыта  келгенде,  атқарылатын  жеке  бөлшектердің  құру  құралдары,  ассемблер 
тіліндегі  дұрыс  программаны  рəсімдеу,  оның  синтаксистік  құрылымы  қарастырылды. 
Ассемблер  командаларының  жіктелуі  жəне  оның  жеке  командаларын  меңгеру,  макро 
құралдарды  пайдалана  білу  сияқты  мəселелері  қамтылды.  Сонымен  қатар  мақалада 
жүйелік  программалау  пəнінде  ассемблер  тілін  оқытудың  мазмұны  мен  құрылымы 
жасалынған. 
 
 
1.  Жуков А.В., Авдюхин А.А. Ассемблер. – СПб.: БХВ-Петербург, 2003. – 448 с. 
2.  Бредли Л. Программирование на персональных IBM PC.  – М.: Радио связь, 1988. 
3.  Абель П. Ассемблер и программирование для IBM PC. – М.: Высшая школа, 1992.  
4.  Юров К.,Хорошенко В. Ассемблер. – Санкт–Петербург: Питер, 1999.  
5.  Кудышева Г.О. Электрондық оқулық “Жүйелік программалау тілі” 
6.  Саданова  Б.М.  жəне  Кудышева  Г.О. "Жүйелік  программалық  қамтамасыз  ету"  курсы 
бойынша зерханалық жұмыстарды орындауға арналған əдістемелік нұсқаулар. 
7.  Қазақша-орысша,  орысша-қазақша  терминологиялық  сөздік:  Информатика  жəне 
есептеуіш  техника/Жалпы  редакциясын  басқарған  профессор  Асқарбек  Құсайынов. – 
Алматы: Республикалық мемлекеттік “Рауан” баспасы, 1999. – 304 бет.  
8.  Оқушыларға,  студенттерге  арналған  қазақша-орысша,  орысша-қазақша  сөздік. – 
Алматы: “Аруна” баспасы, 2002. 
 
 
 
 
 

 
 
32
УДК 378.016.02 

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   30




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет