Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример полной программы на АссемблереПрежде, чем написать нашу первую полную программу на Ассемблере, нам необходимо научиться выполнять операции ввода/вывода, без которых ни одна сколько-нибудь серьёзная программа обойтись не может. В самом языке машины, в отличие от языка нашей учебной машины УМ-3, нет команда ввода/вывода,[13] чтобы, например, ввести целое число, необходима достаточно большая программа на машинном языке. Для организации ввода/вывода мы в наших примерах будем использовать макрокоманды из учебника [5]. Вместо каждой макрокоманды Ассемблер будет подставлять соответствующий этой макрокоманде набор команд и констант (этот набор, как мы узнаем позже, называется макрорасширением для макрокоманды). Нам понадобятся следующие макрокоманды ввода/вывода. · Макрокоманда вывода символа на экран outch op1 где операнд op1 может быть в формате i8, r8 или m8. Значение операнда трактуется как код символа, этот символ выводится в текущую позицию экрана. Для задания кода символа удобно использовать символьную константу языка Ассемблер, например, ′A′. Такая константа преобразуется программой Ассемблера именно в код этого символа. Например, outch ′*′ выведет символ звёздочки на место курсора. · Макрокоманда ввода символа с клавиатуры inch op1 где операнд op1 может быть в формате r8 или m8. Код введённого символа записывается в место памяти, определяемое операндом. · Макрокоманды вывода на экран целого значения outint op1[,op2] outword op1[,op2] Здесь, как всегда, квадратные скобки говорят о том, что второй операнд может быть опущен. В качестве первого операнда op1 можно использовать i16, r16 или m16, а второго – i8, r8 или m8. Действие макрокоманды outint op1,op2 полностью эквивалентно процедуре вывода языка Паскаль write(op1:op2), а действие макрокоманды с именем outword отличается только тем, что первый операнд трактуется как беззнаковое (неотрицательное) число. · Макрокоманда ввода целого числа inint op1 где операнд op1 может иметь формат r16 или m16, производит ввод с клавиатуры на место первого операнда целого значения из диапазона –2 15.. +2 16. Особо отметим, что операнды форматов r8 и m8 недопустимы. · Макрокоманда без параметров
|