commit e03dbf4f9b1fd378c66b020f147cff9f6d6f12f2 Author: LeterZP Date: Sun Mar 22 20:28:08 2026 +0300 OPDLab3: pass diff --git a/add.asm b/add.asm new file mode 100644 index 0000000..304a3f3 --- /dev/null +++ b/add.asm @@ -0,0 +1,58 @@ +;поиск среднего арифметического положительных чисел массива +ORG 0x0000 +result: WORD ? ;результат +toresult: WORD ? ;числа, прибовляемые в результат +timecount: WORD ? ;временная сумма для вычитания +count: WORD ? ;кол-во сложенных чисел +arraystart: WORD 0x0032 ;начальный элемент массива +arraynow: WORD ? ;текущий элемент массива +i: WORD ? ;счетчик цикла +timeres: WORD ? ;временнный результат +START: CLA +ST timeres +LD #6 +ST i +ADD arraystart +ST arraynow +A: LD -(arraynow) +BMI B +BEQ B +ADD timeres +ST timeres +LD count +INC +ST count +B: LOOP i +JUMP A +CLA +ST result +E: LD count +ST timecount +LD timeres +CMP timecount +BMI F +LD #1 +ST toresult +C: LD timecount +ASL +CMP timeres +BHIS D +ST timecount +LD toresult +ASL +ST toresult +JUMP C +D: LD toresult +ADD result +ST result +LD timeres +SUB timecount +ST timeres +JUMP E +F: HLT +WORD 0 +WORD 22 +WORD 148 +WORD -21 +WORD -14 +WORD 12 \ No newline at end of file diff --git a/main.asm b/main.asm new file mode 100644 index 0000000..b0ae380 --- /dev/null +++ b/main.asm @@ -0,0 +1,23 @@ +ORG 0x0335 +arraystart: WORD 0x0346 +arraynow: WORD ? +i: WORD ? +result: WORD ? +START: CLA +ST result +LD #5 +ST i +ADD arraystart +ST arraynow +A: LD -(arraynow) +BPL B +ADD result +ST result +B: LOOP i +JUMP A +WORD 0xFFF7 +WORD 0x0009 +WORD 0xFFB4 +WORD 0x0000 +WORD 0xFFCA +WORD 0xFFFD \ No newline at end of file diff --git a/report.pdf b/report.pdf new file mode 100644 index 0000000..928b681 Binary files /dev/null and b/report.pdf differ