русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Практическая работа на ПК


Дата добавления: 2014-11-27; просмотров: 732; Нарушение авторских прав


Здесь рассматривается практическая работа на ПК начиная с создания программы и заканчивая её отладкой в Turbo Debugger.

Например, пусть задание выглядит следующим образом: Написать программу, сравнивающую элементы двух массивов, каждый из 6 элементов. Если соответствующие элементы массивов равны, то вместо них в третий массив записать 0, если не равны, то поменять их местами.

В соответствии с заданием в любом текстовом редакторе, например, в Блокноте, создаём текст программы.

; Program Example, file_name prog1.asm

Das segment

mas1 db 7,?,7 dup(?),'$'

mas2 db 7,?,7 dup(?),'$'

string db 10,13,'$'

string1 db 'Input 6 member of mas1',10,13,'$'

string2 db 'Input 6 member of mas2',10,13,'$'

Das ends

Sta segment stack

Db 20 dup(?)

Sta ends

Cod segment

Assume cs:cod,ds:das,ss:sta

my proc

;инициализация регистра ds

Push ds

Mov ax,0

Push ax

Mov ax,das

mov ds,ax

;ввод строки чисел

Lea dx,string1

Mov ah,09h



Int 21h

Lea dx,mas1

Mov ah,0ah

Int 21h

Lea dx,string

Mov ah,09h



Int 21h

Lea dx,string2

Mov ah,09h



Int 21h

Lea dx,mas2

Mov ah,0ah

Int 21h

Lea dx,string

Mov ah,09h



int 21h

;ввод строк закончен

Mov cx,6

M1: mov bx,cx

mov al,mas1[bx+1]

cmp al,mas2[bx+1]

Jz m2

xchg mas2[bx+1],al

mov mas1[bx+1],al

Jmp m3

m2: mov mas1[bx+1],'0'

mov mas2[bx+1],'0'

M3: loop m1

lea dx,mas1[2]

Mov ah,09h

Int 21h

Lea dx,string

Mov ah,09h



Int 21h

Mov dx,0

lea dx,mas2[2]

Mov ah,09h

Int 21h

mov ax,4c00h ;завершение работы программы

Int 21h

My endp



<== предыдущая лекция | следующая лекция ==>
П.1.11. Редактирование программ. | Cod ends


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.453 сек.