Skip to content

Instantly share code, notes, and snippets.

@amostyaev
Last active April 25, 2023 15:18
Show Gist options
  • Save amostyaev/dede649be468f2e71ea6d8ce381185e0 to your computer and use it in GitHub Desktop.
Save amostyaev/dede649be468f2e71ea6d8ce381185e0 to your computer and use it in GitHub Desktop.
Семинар от 25 апреля
INCLUDE settings.inc
INCLUDE io2020.inc
.STACK 4096
.DATA
FStr DB 'The program starts working.',0
LStr DB 'The program has ended.',0
A DD 27
B DD 24
C DD 100
.CODE
MAXMIN PROC
PUSH EBP
MOV EBP, ESP
PUSH EAX
PUSH EBX
PUSH ECX
MOV EAX, [EBP+8]
MOV ECX, [EAX]
MOV EBX, [EBP+12]
CMP ECX, [EBX]
JGE L
XCHG ECX, [EBX]
MOV [EAX], ECX
L:
POP ECX
POP EBX
POP EAX
;MOV ESP, EBP
POP EBP
RET 8
MAXMIN ENDP
start: OUTSTR offset FStr
NEWLINE
; 11.10b
PUSH offset B
PUSH offset A
CALL MAXMIN
PUSH offset C
PUSH offset B
CALL MAXMIN
PUSH offset B
PUSH offset A
CALL MAXMIN
OUTI A
NEWLINE
OUTI B
NEWLINE
OUTI C
NEWLINE
; 10.4
; MOV EBP, ESP
; L:ININT EAX
; CMP EAX, 0
; JE OUTP
; JL FIN
; PUSH EAX
; JMP L
; OUTP: CMP ESP, EBP
; JE FIN
; POP EAX
; OUTI EAX
; NEWLINE
; JMP OUTP
; FIN: MOV ESP, EBP
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