Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по ассемблеру

  Все выпуски  

Уроки по ассемблеру


Информационный Канал Subscribe.Ru

Assembler. Уроки с сайта http://progs.biz

Рассылка №11

Assembler. Урок 19. Команда sub.
Assembler. Урок 20. Команда jmp.

Полные версии уроков (с картинками) можно найти по адресам:
Урок 19. Команда sub.
Урок 20. Команда jmp.

Д. Круглински и др. Программирование на Microsoft Visual C++ 6.0 для профессионалов
Д. Круглински, С. Уингоу, Дж. Шеферд. Программирование на Microsoft Visual C++ 6.0 для пофессионалов
Заказать на piter.com

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Уроки по Flash MX
Уроки по Flash MX с сайта http://progs.biz. От создания отдельных роликов до применения языка ActionScript.

Ассемблер. Урок 19. Команда sub

Команда sub предназначена для вычитания из своего первого операнда второго. Результат записывается в первый операнд. Вот синтаксис этой команды:

sub op1, op2

Первый операнд может быть при этом регистром (но не сегментным) или ячейкой памяти. Второй - тоже самое, плюс непосредственное значение.

Вот небольшой приммер на эту команду:

CSEG segment
org 100h
Begin:
    ;Ввод символа с эхом.
    mov ah, 1h
    int 21h

    ;Вычитаем 30h.
    sub al, 30h

    ;Завершение программы.
    mov ah, 04Ch
    int 21h
CSEG ends
end Begin

Данный пример для введенного пользователем числа записывает это число в регистр al. Для выполнения этой задачи нам пришлось немного исхитриться - а именно воспользоваться тем, что символы от '0' до '9' расположены в таблице ASCII кодов подряд и имеют коды от 48 до 57 (в двоичном виде от 30h до 39h). Это означает, что для получения самой цифры по ее коду мы должны вычесть 30h, что мы и делаем в строке

   
    ...
    sub al, 30h
    ...
    
Наверх

Ассемблер. Урок 20. Команда jmp

Команда jmp предназначена для безусловного перехода. Выполнение программы переходит при этом на метку, которая передается команде в качестве операнда.

Вот синтаксис этой команды:

   ...
    ;Переход на метку lab.
    jmp lab;
    ...
lab:
    ...

Переход на метку может осуществляться по коду как вперед, так и назад.

Наверх

Copyright Алексеев Игорь, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное