Created
May 2, 2023 15:03
-
-
Save amostyaev/3b8b47552d2e878ccc04ddbc96db2ed1 to your computer and use it in GitHub Desktop.
Семинар от 2 мая
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 | |
X DB 'HELLO WORLDDDDDD' | |
; N = 5 | |
; X DB N dup(?) | |
FStr DB 'The program starts working.',0 | |
LStr DB 'The program has ended.',0 | |
.CODE | |
;11.20 | |
OUTD PROC | |
; PUSH EBP | |
; MOV EBP, ESP | |
MOVZX EBX, BL | |
CMP EAX, EBX | |
JL L | |
MOV EDX, 0 | |
DIV EBX | |
PUSH EDX | |
CALL OUTD | |
POP EDX | |
OUTI EDX | |
JMP S | |
L: OUTI EAX | |
S: | |
; POP EBP | |
RET | |
OUTD ENDP | |
;11.19 | |
; MAXLET PROC | |
; PUSH EBP | |
; MOV EBP, ESP | |
; SUB ESP, 26 | |
; MOV ECX, 26 | |
; F: MOV byte ptr [ESP + ECX - 1], 0 | |
; LOOP F | |
; PUSH ECX | |
; PUSH ESI | |
; PUSH EDX | |
; PUSH EBX | |
; MOV ECX, [EBP] + 12 | |
; MOV ESI, [EBP] + 8 | |
; MOV EDX, 0 | |
; MOV BL, 0 | |
; L: cmp byte ptr [ESI + ECX - 1], 'A' | |
; JB L1 | |
; cmp byte ptr [ESI + ECX - 1], 'Z' | |
; JA L1 | |
; MOV DL, [ESI + ECX - 1] | |
; SUB DL, 'A' | |
; INC [EBP - 26 + EDX] | |
; cmp byte ptr [EBP - 26 + EDX], BL | |
; JBE L1 | |
; MOV BL, byte ptr [EBP - 26 + EDX] | |
; MOV AL, [ESI + ECX - 1] | |
; L1: LOOP L | |
; POP EBX | |
; POP EDX | |
; POP ESI | |
; POP ECX | |
; MOV ESP, EBP | |
; POP EBP | |
; RET 8 | |
; MAXLET ENDP | |
; ;11.15 | |
; F PROC | |
; PUSH EBP | |
; MOV EBP, ESP | |
; PUSH EDX | |
; PUSH ECX | |
; PUSH EBX | |
; MOV EBX, [EBP] + 8 | |
; MOV ECX, [EBP] + 12 | |
; MOV EDX, [EBP] + 16 | |
; MOV AL, 0 | |
; L: cmp [EBX + ECX - 1], DL | |
; jne L1 | |
; INC AL | |
; L1: LOOP L | |
; POP EBX | |
; POP ECX | |
; POP EDX | |
; POP EBP | |
; RET 12 | |
; F ENDP | |
start: OUTSTR offset FStr | |
NEWLINE | |
;11.15 | |
; MOV ECX, N | |
; MOV EAX, 0 | |
; L2: | |
; ININT EAX | |
; MOV X[ECX - 1], AL | |
; LOOP L2 | |
; PUSH 3 | |
; PUSH N | |
; PUSH offset X | |
; call F | |
; OUTI EAX | |
;11.19 | |
; PUSH 16 | |
; PUSH offset X | |
; call MAXLET | |
; OUTCHAR AL | |
MOV EAX, 1234 | |
MOV BL, 10 | |
CALL OUTD | |
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