Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .586
- .MODEL flat , c
- .DATA
- ;A BYTE 'kakakakpkar',13,10,0
- B WORD 10 DUP (?)
- D WORD 3 DUP (?)
- m DWORD 3
- kol DWORD ?
- n SWORD 9
- x dword ?
- y dword ?
- z dword ?
- f dword ?
- Res DB 16 DUP (' '),13,10,0
- string DB 13,10,'Result = ' ; заголовок вывода
- resstr DB 16 dup (' '),0 ; выводимое число
- .CODE
- public ADD1
- externdef print:near
- ADD1 proc
- push EBP
- mov EBP,ESP
- cld
- mov ECX,3
- mov ESI,[EBP+12]
- lea EDI,B
- rep movsb
- mov x,EDI;запоминаем конец строки B
- mov ECX,[EBP+8]
- sub ECX,3
- mov EBX,3
- mov kol,2
- cycle :
- mov y,ECX
- dec ESI
- mov ECX,2
- lea EDI,D
- rep movsb; копируем в строку D 2 символа из A
- mov z,ESI;запоминаем положение в строке A
- sub EDI,2;встаём на начало D
- mov m,EDI;запоминаем начало D
- mov EAX,[EDI];заносим в EAX строку D
- mov EDI,x;встаём на строку B
- sub EDI,EBX
- mov ECX,9
- repne scasb;ищем строку D в B
- mov ESI,m;встаём на начало D
- inc ESI
- mov AL,[ESI]
- cmp AL,[EDI]
- je CONTINUE
- mov ESI,m;встаём на начало D(её копируем)
- inc ESI
- mov ECX,1
- mov EDI,x;втсаём на конец В(в неё копируем)
- rep movsb
- mov x,EDI
- inc EBX
- add kol,1
- jmp CONTINUE
- CONTINUE:
- mov ECX,y
- mov ESI,z
- mov EDI,x
- ;push EDI
- cmp ECX,1
- je EXIT
- dec ECX
- jmp cycle
- EXIT:
- mov EAX,[EBP+8]
- push EAX
- call print
- pop EAX
- mov EAX,kol
- pop EBP
- ret
- ADD1 endp
- End
Add Comment
Please, Sign In to add comment