Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Програми на асемблері

Реферат Програми на асемблері





p>

Так як вся програма міститься в одному сегменті, перед виконанням програми все сегментні регістри містять як значення адреса префікса програмного сегмента, блоку PSP

PSP - 256 байтний блок, який міститься як в exe-файлі, так і в com-файлі, і так як адресу першої виконуваної команди відстоїть на 256 байтів від адреси початку сегменту (100h), то відразу після директиви ASSUME використовується спеціальна директива

org 100h, що здійснює обхід префікса програмного сегмента.

Приклади програми, що задовольняє вимогам створення виконуваного com-файлу.

) З використанням стандартних директив сегментації:

Prim Сom-файл60, 85

СSeg Segment Para Сode SS: CSeg, DS: CSeg, CS: CSeg100h: JMP MainDB String1, 13, 10, $ DB String2, $ ProcAH, 9DX, St121hDX, St221hAH, 4CH21hendpends Start


2) З використанням точкових директив сегментації, дані розміщені перед програмою:


. Model tiny

. CodeMetDB String1, $: MOV AH, 09hDX, St121hAH, 4Ch21h Met

3) Частковий вихідного тексту програми для створення com-файлу, коли дані розміщені після програми:

ProcAH, 9DX, St121hAH, 4Ch21hendpDB String1, $ beg


Зауваження:

Не кожен вихідний файл задовольняє вимогам com-файлу.

Невеликі за обсягом програми рекомендується оформляти як com-файл.

Вихідний файл, написаний як com-файл, не може бути виконаний як EXE-файл

Арифметичні операції

Додавання (віднімання) беззнакових чисел виконується за правилами аналогічним складання (вирахування) по модулю 2 k, прийнятим в математиці. У математиці k +1 розряд втрачається, відкидається, а в інформатиці, якщо в результаті більш k розрядів, то прапор CF встановлюється в 1.

+ Y=(X + Y) mod 2 k=X + Y, CF=0, якщо X + Y <2 k + Y=(X + Y) mod 2 k=X + Y- 2 k, CF=1, інакше


Приклад: у байті

250 + 10=(250 +10) mod 2 серпні=260 mod 256=4

=100000100 2, CF=1, результат 00000100 2=4

X - Y=(XY) mod 2 k=XY, CF=0, якщо X> Y

X + Y=(X + Y) mod 2 k=X +2 k-Y, CF=1, інакше


Приклад: у байті


1 - 2=1 - 2 серпня - 2=275 - 2=255, CF=1


Додавання (віднімання) знакових чисел зводиться до додавання (віднімання) з використанням додаткового коду.

=10 n - | X |


У байті:


- 1=256 - 1=255=11111111 2

=256 - 3=253=11111101 2

3 + (- 1)=(3 + (- 1)) mod 256=258 mod 256=2

+ (- 3)=(1 + (- 3)) mod 256=256 - 254=11111110 2=- 2


13. Команди додавання і віднімання в Асемблері


В Асемблері команди складання:


1) ADD OP1, OP2; OP1 + OP2 ® OP1

2) ADC OP1, OP2; OP1 + OP2 + CF ® OP1

3) XADD OP1, OP2; для i486 і вище OP1" OP2 і потім OP1 + ...


Назад | сторінка 16 з 29 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Процес вивчення письмових прийомів додавання і віднімання в математиці
  • Реферат на тему: Можливості використання мимовільної пам'яті молодших школярів при форму ...
  • Реферат на тему: Створення програми додавання Користувачів в Linux
  • Реферат на тему: Створення програми з використанням програмного продукту Turbo Assembler
  • Реферат на тему: Спеціалізований арифметико-логічний Пристрій комп'ютера (АЛП) для Викон ...