DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

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

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

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

Про що ця робота

Звіт до лабораторної роботи містить приклади створення виконуваного коду асемблерної програми з використанням переривань DOS. У роботі наведено лістинги програм для виведення рядка та реверсування символів введеного рядка.

У роботі розглядаються

  • Системне програмування
  • Мова асемблера
  • Переривання DOS
  • Робота зі стеком
  • Обробка рядків
  • Регістри процесора
  • Виконуваний код

Зміст і розділи

  1. Текст програми 1
  2. Текст програми 2
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають системне програмування.
Викладачі:Не вказано

Ключові поняття

сегмент данихстекперериванняфункція DOSрядоксимволцикл

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет "Львівська політехніка" Кафедра "Інформаційні системи та мережі"    Звіт до лабораторної роботи № 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 ; кінець програми 
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!