From 34d0c33e87ef02ffda2b78d77b68841044307bfd Mon Sep 17 00:00:00 2001 From: Miheev Egor Date: Tue, 10 Sep 2024 21:15:57 +0300 Subject: [PATCH] =?UTF-8?q?chore:=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD?= =?UTF-8?q?=20=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B5=D0=BD=20=D0=BD=D0=B0=20?= =?UTF-8?q?30%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Заменены все поломанные символы на нормальный текст, сделан проход форматером, заменен delay --- 01-asm-basics/Labv1.cpp | 59 ++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/01-asm-basics/Labv1.cpp b/01-asm-basics/Labv1.cpp index de3204b..7e59ea6 100644 --- a/01-asm-basics/Labv1.cpp +++ b/01-asm-basics/Labv1.cpp @@ -1,33 +1,36 @@ -#include -#include -#include #include +#include +#include #define PortCan0 0x40 void beep(unsigned iTone, unsigned iDlit); -int main(void) { +void delay(unsigned int ms) +{ + usleep(ms * 1000); +} +int main(void) { long int lCnt = 0; int iA = 0x1234; char *pT = (char *)0x46C; - printf("\n\n"); + printf("\nПечатаем 10 раз значение байта с известным адресом\n"); for (int i = 0; i < 10; i++) printf(" \n %d ", *pT); - printf("\n\n"); - getch(); + printf("\n Для продолжения нажмите любую клавишу \n"); + system("pause"); // Ждем нажатия клавиши - printf("\n ⠥ ᮤন ᮬ 40 㭪樨 \n"); - printf("\n 室 横 - \n"); + printf("\n Читаем содержимое порта с адресом 40 с помощью функции Си \n"); + printf("\n Для выхода из цикла - нажмите любую клавишу \n"); while (bioskey(1) == 0) { - printf(" \n 40 = %d ", inp(PortCan0)); + printf("\n Порт40 = %d", inp(PortCan0)); delay(500); } - getch(); - printf("\n ⠥ ᮤন ᮬ 40 ᥬ஬ \n"); + system("pause"); + printf("\n Читаем содержимое порта с адресом 40 ассемблером \n"); while (bioskey(1) == 0) { asm { @@ -35,27 +38,32 @@ int main(void) { in al,0x40 } unsigned char Tmm = _AL; - asm pop ax delay(500); - printf(" \n 40 = %d ", Tmm); + asm pop ax + delay(500); + printf("\n Порт40 = %d", Tmm); } - getch(); - printf("\n த - \n "); - getch(); + system("pause"); + printf("\n Для продолжения - нажмите любую клавишу \n"); + system("pause"); - long far *pTime = (long *)0x46C; + long *pTime = (long *)0x46C; while (bioskey(1) == 0) { printf("\n %ld", *pTime); delay(1000); } - getch(); + system("pause"); int Time; while (bioskey(1) == 0) { - asm push ds asm push si - - asm mov ax, - 40h asm mov ds, ax asm mov si, 0x6C asm mov ax, [ds : si] asm mov Time, - ax asm pop si asm pop ds + asm push ds + asm push si + asm mov ax, 40h + asm mov ds, ax + asm mov si, 0x6C + asm mov ax, [ds : si] + asm mov Time, ax + asm pop si + asm pop ds printf("\n %d", Time); delay(300); @@ -64,7 +72,8 @@ int main(void) { beep(400, 200); for (lCnt = 0; lCnt < 1000000; lCnt++) { a1: - asm { mov ax,iA + asm { + mov ax,iA mov ax,iA mov ax,iA mov ax,iA