fix: Кодировка

This commit is contained in:
Mark Zheleznyakov
2024-09-10 22:24:24 +03:00
parent be2b9502d1
commit 67824a5297
19 changed files with 2159 additions and 2159 deletions

138
Labv3.cpp
View File

@ -1,69 +1,69 @@
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LAB3
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ᯮᮡ<E1AFAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <EFBFBD><EFBFBD>४⨢<EFBFBD> <20><EFBFBD><E0A5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E4A0A9><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>-権
// <EFBFBD><><E6A5AB><><EFBFBD><E9A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <><E2A8AF> <20>-権 <20> <20><> <20><><EFBFBD><EFBFBD><E3ACA5><EFBFBD><EFBFBD>
#include <dos.h>
#include <bios.h>
#include <stdio.h>
#include <conio.h>
// #pragma inline // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0AEA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
int iB=0x1234;
int A[90]={0,1,2,3,4,5,6,7,8,9};
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> - <20><EFBFBD><E3ADAA><EFBFBD>
// void - <EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>
void main(void)
{
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>
int iA=0x5678;
clrscr();
printf ("\n <EFBFBD>ணࠬ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> \n");
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><20><> <20><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
for (int i=0; i<10; i++)
{
// ??????? <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
printf (" \n %d ", A[i]);
}
getch();
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><20><> <20><><EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD>
asm mov si,0
e2:
asm {
lea bx,A
mov cx,10
mov ax,0
};
e1: asm mov [bx],ax // ???? <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯮᮡ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
asm add bx,2
asm loop e1
// ??? <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
asm add si,10 // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>
asm mov ax,100
asm cmp ax,si
asm ja e2
// ??? <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E3ACA5><EFBFBD><EFBFBD> <20><><EFBFBD>
for (i=0; i<20; i=i+4)
{ printf (" \n ");
for (int j=0; j<4; j++)
{ printf (" "); // ???? <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
getch();
}
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 1. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0ADAE> <20><><EFBFBD><EFBFBD> <20><> <20><> <20> <20><><EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>
// 2. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><><EFBFBD><E3ACA5><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>,
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD> ᯮᮡ<E1AFAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-ॣ<><E0A5A3><EFBFBD><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> ᯮᮡ<E1AFAE><E1AEA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
// 3. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><E1A5A3><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><EFBFBD>. TD
// 4. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E0A0A7><EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
// Работа LAB3
// Шаблон программы
// Массивы и способы адресации
// Директивы Препроцессора
// Включение файлов в которых описаны прототипы ф-ций
// с целью сообщения компилятору о типах ф-ций и их аргументах
#include <dos.h>
#include <bios.h>
#include <stdio.h>
#include <conio.h>
// #pragma inline // Подключение встроенного Ассемблера
// Объявление переменных
int iB=0x1234;
int A[90]={0,1,2,3,4,5,6,7,8,9};
// Основная программа - функция
// void - она не возвращ значений
void main(void)
{
// Объявление переменных
int iA=0x5678;
clrscr();
printf ("\n Программа заполнения массива \n");
// Заполняем массив на уровне команд Си
for (int i=0; i<10; i++)
{
// ??????? Вставте команды
printf (" \n %d ", A[i]);
}
getch();
// Заполняем массив из ассемблера
asm mov si,0
e2:
asm {
lea bx,A
mov cx,10
mov ax,0
};
e1: asm mov [bx],ax // ???? Выберите способ адресации
asm add bx,2
asm loop e1
// ??? Выведите одном массив
asm add si,10 // Задается шаг массива
asm mov ax,100
asm cmp ax,si
asm ja e2
// ??? Выведите двумерный массив
for (i=0; i<20; i=i+4)
{ printf (" \n ");
for (int j=0; j<4; j++)
{ printf (" "); // ???? Вставте команду
}
}
getch();
}
// Задания
// 1. Напишите две программы заполнения одномерного массива на Си и Асс
// выведите на экран значения элементов массива
// 2. Считайте массив двумерным. Заполните его четные строки любым числом,
// используя разные способы адресации
// - косвенно-регистровая адресация
// - базово-индексная адресация
// Сравните количество команд при двух способах адресации.
// 3. Определите место массива в сегменте данных с использов. TD
// 4. Напишите программу, которая дает разный результат в разных
// моделях памяти.