Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ ПО АССЕМБЛЕРУ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
471.55 Кб
Скачать

Специальные

┌─────────┬────────────┬──────────────────────────────────────┐

│Переход │Флаги │ Примечания │

├─────────┼────────────┼──────────────────────────────────────┤

│ JS │ SF │переход по минусу │

├─────────┼────────────┼──────────────────────────────────────┤

│ JNS │ ┐SF │переход, если знак равен нулю │

├─────────┼────────────┼──────────────────────────────────────┤

│ JC │ CF │переход по переносу │

├─────────┼────────────┼──────────────────────────────────────┤

│ JNC │ ┐CF │переход по отсутствию переноса │

├─────────┼────────────┼──────────────────────────────────────┤

│ JO │ JF │переход по переполнению │

├─────────┼────────────┼──────────────────────────────────────┤

│ JNO │ ┐OF │переход по отсутствию переполнения │

├─────────┼────────────┼──────────────────────────────────────┤

│ JP │ PF │переход по паритету │

├─────────┼────────────┼──────────────────────────────────────┤

│ JNP │ ┐PF │переход по отсутствию паритета │

└─────────┴────────────┴──────────────────────────────────────┘

Команды условного перехода флаги не изменяют!

Пример лабораторной работы N2:

│(A^2)*B if A^2 - 5 > 0

y = { 100 if A^2 - 5 = 0

│(A^2)*(B^2) if A^2 - 5 < 0

A dw 7

B dw 8

y dw ?

mov ax,A

imul ax

mov cx,ax ;A^2

sub ax,5

jz m2

jl m3

mov ax,B ;

imul cx ; >0

jmp short kon ;

;--------------------------

m2: mov ax,100 ;

jmp short kon ; =0

;--------------------------

m3: mov ax,B ;

imul ax ;

neg ax ; <0

add ax,cx ;

;--------------------------

kon: mov y,ax

ret

Способы адресации

Первые ЭВМ имели прямой способ адресации:

КОП ОР1 ОР2 При прямой адресации все ко-

┌───────┐ ┌───────┐ ┌───────┐ манды имели бы длину 6 байтов.

│ KOП │ │Адр.op1│ │Адр.ор2│ Однако в IBM PC команды имеют

└───────┘ └───────┘ └───────┘ длину от 1 до 6 байтов. В мень-

7 0 19 0 19 0 шей степени используются длин-

\-------------V--------------/ ные команды. В этом и проявляется

6 байт

эффективность системы команд. Современные способы адресации имеют следующие цели: определить адреса в командах наименьшим числом бит, вычисление адреса команд, относительно базы а в командах перехода – относительно следующей команды, вычисление адреса операндов на основании выражений, элементы выражений в процессе вычислений изменяются, что позволяет эффективно обрабатывать структурированные типы данных. Большинство способов адресации реализуются с помощью постбайта.