Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


LOOP метка




Количество повторений цикла задается значением в регистре СХ перед входом в последовательность команд, составляющих тело цикла

Алгоритм работы:выполняется декремент содержимого регистра CX, затем анализ регистра CX. Если CX=0, то управление передается следующей за LOOP команде, а если CX > 0, то – метке, которая указана в качестве операнда LOOP.

Выполнение команды не влияет на состояние флагов.

Команды безусловной передачи управления:

1. Команда безусловного перехода - JMP метка;

2. Вызов процедуры и возврата из процедуры - CALL имя_процедуры и RET;

3. Вызов программных прерываний - INT номер_прерывания,возврат из программных прерываний –IRETи команда INTO - прерывание, если переполнение.

Команды условной передачи управления:

1. Команды перехода по результату команды сравнения: CMP операнд1, операнд2

Алгоритм работы: выполняется вычитание (операнд1-операнд2), затем в зависимости от результата выставляются флаги, операнд1 и операнд2 не изменяются (то есть результат не запоминается).

  JE операнд1 = операнд2 JNE операнд1 <> операнд2
Без знака Со знаком Критерий условного перехода  
JB/JNAE JL/JNGE операнд1 < операнд2  
JBE/JNA JLE/JNG операнд1 <= операнд2  
JA/JNBE JG/JNLE операнд1 > операнд2  
JAE/JNB JGE/JNL операнд1 => операнд2  
               

2. Команды перехода по состоянию определенного флага

JC (JNC) метка_перехода
JP (JNP) метка_перехода
JZ (JNZ) метка_перехода
JS (JNS) метка_перехода
JO (JNO) метка_перехода

3. Команды перехода по содержимому регистра СХ

JCXZ метка_перехода

Порядок выполнения работы

Задана программа пересылки массива байтов А на место массива байтов В.

sseg segment  
  db 128 dup(?)
sseg ends  
dseg segment  
A db 1,2,3,4,5
B db 5 dup(?)
dseg ends  
cseg segment  
  assume ss:sseg, cs:cseg, ds:dseg
start:    
  mov ax,dseg
  mov ds,ax
  mov si,0
  mov cx,5
M1:    
  mov al, A[si]
  mov B[si],al
  inc si
  loop M1
  mov cx,5
  mov si,0
M2:    
    mov ah,2h
    mov dl,B[si]
    int 21h
    inc si
    loop M2
    mov ah,4ch
    int 21h
  cseg ends  
    end start
           

 

Основная литература – 2[12-20], 3[10-43]

Контрольные вопросы:

  1. Какие команды условного перехода используются при операциях над числами со знаком?
  2. Какие команды безусловного перехода используются для обхода группы команд?
  3. Какие команды используются для организации цикла?
  4. Какие команды используются для вызова программы обработки прерывания и возврата из нее?
  5. Какие команды используются для вызова процедуры (подпрограммы) и возврата из нее?

Лабораторная работа 4. Разработка программ с использованием различных групп команд процессора

 

Цель работы: изучить организацию работы с отдельными битами, изучить общие свойства цепочечных команд, команд двоично-десятичной арифметики


Поделиться:

Дата добавления: 2015-09-15; просмотров: 126; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты