Skip to content

Instantly share code, notes, and snippets.

@amostyaev
Last active March 28, 2023 15:15
Show Gist options
  • Save amostyaev/d9852881321959a0b710cb7d34ee7f45 to your computer and use it in GitHub Desktop.
Save amostyaev/d9852881321959a0b710cb7d34ee7f45 to your computer and use it in GitHub Desktop.
Семинар от 28 марта
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