Last active
March 28, 2023 15:15
-
-
Save amostyaev/d9852881321959a0b710cb7d34ee7f45 to your computer and use it in GitHub Desktop.
Семинар от 28 марта
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
INCLUDE settings.inc | |
INCLUDE io2020.inc | |
.STACK 4096 | |
.DATA | |
FStr DB 'The program starts working.',0 | |
LStr DB 'The program has ended.',0 | |
;N = 5 | |
; X dd N dup (?) | |
; Y DB 'not symmetrical', 0 | |
; Q DB 'symmetrical', 0 | |
m = 3 | |
n = 2 | |
T DD m DUP (n DUP (?)) | |
.CODE | |
start: OUTSTR offset FStr | |
NEWLINE | |
; 6.23a | |
; MOV ECX, N | |
; l: | |
; ININT X[ECX * type X - type X] | |
; LOOP l | |
; MOV EBX, 0 | |
; MOV EAX, N-1 | |
; S: | |
; MOV EDX, X[EBX*type X] | |
; CMP EDX, X[EAX*type X] | |
; JNE NUL | |
; ADD EBX, 1 | |
; SUB EAX, 1 | |
; CMP EBX, EAX | |
; JL S | |
; OUTSTR offset Q | |
; JMP V | |
; NUL: | |
; OUTSTR offset Y | |
; V: | |
; MOV ECX, N | |
; ou: | |
; OUTI X[ECX * type X - type X] | |
; LOOP ou | |
; 6.31a | |
MOV EDX, 0 ; количество отрицательных | |
MOV ECX, n*m | |
l: | |
ININT T[ECX * type T - type T] | |
LOOP l | |
MOV ECX, m | |
STARTLOOP: | |
MOV EBX, 0 | |
STARTLOOP2: | |
;MOV ESI, n* type T | |
CMP T[ECX * type T - type T][EBX * type T], 0 | |
JGE STEP | |
INC EDX | |
STEP: | |
INC EBX | |
CMP EBX, n | |
JNE STARTLOOP2 | |
LOOP STARTLOOP | |
OUTU EDX | |
; рабочее решение от 117 группы | |
MOV EDX, 0 | |
MOV EAX, 0 | |
L1: MOV EBX, 0 | |
L: OUTI X[EAX*8+EBX] | |
CMP X[EAX*8+EBX], 0 | |
JGE AA | |
INC EDX | |
AA: ADD EBX, type X | |
CMP EBX, N*type X | |
JNE L | |
INC EAX | |
CMP EAX, M | |
JNE L1 | |
OUTI EDX | |
OUTSTR offset LStr | |
NEWLINE | |
EXIT | |
END start | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment