Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Створення виконуваного коду асемблерної програми

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Інформаційні системи та мережі

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системне програмування та операційні системи
Група:
КН

Частина тексту файла

Міністерство освіти і науки України Національний університет "Львівська політехніка" Кафедра "Інформаційні системи та мережі"    Звіт до лабораторної роботи № 1 з предмету: Сиcтемне програмування та операційні системи на тему №1: Створення виконуваного коду асемблерної програми          ЛЬВІВ-2008  Текст програми 1: ; HELLO.ASM – Виведення повідомлення "Hello World" .MODEL small .STACK 100h .DATA HelloMessage DB 'Hello, world',13,10,'$' .CODE ENTPY: mov ax,@data mov ds,ax ;занести у DS сегментну частину адреси сегменту даних mov ah,9 ;функція DOS виведення рядка символів mov dx,OFFSET HelloMessage ; вказівник на рядок int 21h ; виведення рядка mov ah,4ch ;DOS terminate program function int 21h ;terminate the program END ENTPY ; кінець програми Текст програми 2: ; REVERSE.ASM – Виведення рядка у зворотньому порядку DOSSEG .MODEL SMALL .STACK 100h .DATA MAX_STR_LEN EQU 1000 String DB MAX_STR_LEN DUP(?) ReverseString DB MAX_STR_LEN DUP(?) .CODE ENTRY: mov ax,@data mov ds,ax ;set DS to point to the data segment mov ah,3fh ; номер функції DOS введення даних mov bx,0 ; дескриптор клавіатури mov cx,MAX_STR_LEN ; максимальна кількість символів mov dx,OFFSET String ; адреса рядка для введення int 21h ; ввести рядок and ax,ax ; чи введено будь-які символи? jz Done ; ні, перехід на кінець програми mov cx,ax ; записати кількість введених символів в регістр CX push cx ; запам’ятати регістр CX у стеку mov bx,OFFSET String ; занести у BX адресу введеного рядка mov si,OFFSET ReverseString ; занести у SI адресу рядка результату add si,cx dec si ; адреса кінця рядка результату m1: mov al,[bx] ; отримати наступний символ введеного рядка mov [si],al ; записати цей символ у рядок результату inc bx ; вказівник на наступний символ введеного рядка dec si ; вказівник на наступний символ рядка результату loop m1 ; виконати цикл pop cx ; отримати зі стеку довжину рядка mov ah,40h ; номер функції DOS для виведення даних mov bx,1 ; дескриптор дисплея mov dx,OFFSET ReverseString ; адреса рядка для виведення int 21h ; надрукувати рядок Done: mov ah,4ch ; номер функції DOS для завершення програми int 21h ; завершити програму та вийти у DOS END ENTRY ; кінець програми 
Антиботан аватар за замовчуванням

30.11.2012 00:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини