Директивалар
Директивалардвң (псевдокомандалардың) көмегімен сегменттер мен пройедураларды анықтауға, командалар мен мәліметтер элементтеріне ат беруге, жадтың жұмысшы аумақтарын анықтауға және т.с.с. әрекеттерді орындауға болады. Директивалардвң жазылу түрлері:
Жиі кездесетін директивалардың түрлері :
SEGMENT ENDS – негізгі прграмманы сегменттерге бөледі, сегменттің басын және аяғын білдіреді. Сегмент түрлерін анықтау үшін ASSUME директивасы қолданылады. Оның жазылу түрі: Мұндағы, сегмент_регистрі – DS, CS, SS, ES сегмент регистрінің аты, : сегмент_аты – SEGMENT ДИРЕКТИВАСЫНДА КӨРСЕТІЛГЕН АТ.
PROC ENDP процедураның басын және соңын білдіреді. Процедура дегеніміз – программаның әр жерінде орындалатын командалардың тізбегі.
Ассемблер тілінде кездесетін тұрақтылардың түрлері:
екілік сандық жүйесіндегі тұрақтылар: 0 және 1-ден тұратын сандар тізбегі. Тізбектің соңында В әрпі жазылады. Мысалы: 1011011В.
орындық сандық жүйесіндегі тұрақтылар: 0+9 аралығында сандар. D әрпімен аяқталуы мүмкін. Мысалы: 927 не 927D.
16-лық сандық жүйесіндегі тұрақтылар: 0+9 аралығында сандар, А+Ғ латын әріптері. Н әрпімен аяқталады. Алғашқы символ сан болуы тиіс. Мысалы: 1Е23Н.
символдардың тұрақтылар – тырнақшаға алынып жазылған әріп, сан не символдар тізбегі.
Теріс сандарды енгізу үшін келесі тәсілдер қолданылады: егер сан ондық жүйеде болса, алдына минус белгісі қойылады, егер сан 2-лік не 16-лық жүйеде болса, оны толықтырғыш кодқа ауыстыру керек.
Мәліметтерді анықтау директивалары
Директивы определения данных
Название директивы : Формат директивы: Примеры :
DB (Define Byteопределить байт) имя DB выражение [, …] VOL DB 56
DW (определить слово) имя DW выражение [, …] TIME DB 120
DD (определить двойное слово) имя DD выражение [, …] SPEED DW 560
Директивы DB и DW можно использовать для создания в памяти таблиц, перечисляя через запятую начальные значения переменных, образующих таблицу.
Например:
B_TABL DB 0,0,0,0,8,-13
DB 100, 0, 55, 63, 63, 63
или B_TABL DB 4 DUP(0), 8,-13, 100, 0, 55, 3 DUP(63)
W_TABL DW 1025, 370, 0, -32768, 5, 130
DW 11, 210, 176, 542, 3, 711
При определении переменной без присваивания ей начального значения, ставится знак ?
Например, резервируем байт и слово в памяти, но значения не заносим:
ROST DB ?
VES DW ?
Резервирование памяти для таблицы: RES_NABL DW 31 DUP(?) – 31 СЛОВО ПАМЯТИ
Пример: SOOB DB ‘Введенное число не может быть обработано’
DB ‘Введите , пожалуйста, снова’
Достарыңызбен бөлісу: |