Created
March 28, 2023 15:16
-
-
Save amostyaev/0191ff90c1a41da46ee86bb2b36af978 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 | |
M = 3 | |
N = 2 | |
X DD M DUP (N DUP (?)) | |
; Y DB 'SYM',0 | |
; NOO DB 'UNSYM',0 | |
.CODE | |
start: OUTSTR offset FStr | |
NEWLINE | |
MOV ECX, N*M | |
RPT: ININT X[ECX * type X - type X] | |
LOOP RPT | |
MOV ECX, N*M | |
RPT1: OUTI X[ECX * type X - type X] | |
LOOP RPT1 | |
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 | |
; ; 6.23a | |
; MOV ECX, N | |
; RPT: ININT X[ECX * type X - type X] | |
; LOOP RPT | |
; MOV EAX, 0 | |
; MOV ECX, N-1 | |
; L: MOV EBX, X[ECX * type X] | |
; CMP EBX, X[EAX * TYPE X] | |
; JNE NO | |
; INC EAX | |
; DEC ECX | |
; CMP EAX, ECX | |
; JB L | |
; OUTSTR OFFSET Y | |
; NEWLINE | |
; JMP FIN | |
; NO: OUTSTR OFFSET NOO | |
; NEWLINE | |
; FIN: MOV ECX, N | |
; RPT1: OUTI X[ECX * type X - type X] | |
; LOOP RPT1 | |
; NEWLINE | |
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