Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;;3_2
- .model small
- .stack 100h
- .386
- .data
- a db 3, 1, 1, 1
- db 2, 5, 2, 2
- db 2, 2, 4, 2
- db 1, 1, 1, 7
- .code
- start:
- mov ax, @data
- mov ds, ax
- xor ax, ax
- mov di, 0
- xor bx, bx
- mov cx, 4
- firststr:
- mov al, byte ptr a[bx][di]
- rol eax, 8
- add bx, 1
- loop firststr
- jmp pusd
- secondstr:
- mov al, byte ptr a[bx][di]
- rol eax, 8
- add bx, 1
- loop secondstr
- jmp pusd
- thirdstr:
- mov al, byte ptr a[bx][di]
- rol eax, 8
- add bx, 1
- loop thirdstr
- jmp pusd
- fourthstr:
- mov al, byte ptr a[bx][di]
- rol eax, 8
- add bx, 1
- loop fourthstr
- pusd:
- rol eax, 24
- push ax
- ror eax, 16
- push ax
- xor eax, eax
- xor bx, bx
- mov cx, 4
- add di, 4
- add dx, 1
- cmp dx, 1
- je secondstr
- cmp dx, 2
- je thirdstr
- cmp dx, 3
- je fourthstr
- xor bx, bx
- sort:
- pop ax
- rol eax, 16
- pop ax
- cmp bx, 0
- je fourth
- cmp bx, 1
- je third
- cmp bx, 2
- je second
- cmp bx, 3
- je first
- fourth:
- mov ebp, eax
- xor eax, eax
- xor ebx, ebx
- add bx, 1
- jmp sort
- third:
- mov edi, eax
- add bx, 1
- jmp sort
- second:
- mov esi, eax
- add bx, 1
- jmp sort
- first:
- mov edx, eax
- xor eax, eax
- xor bx, bx
- ; xor edx, edx
- xor ecx, ecx
- mov eax, edx
- push ax
- ror eax, 16
- push ax
- rol eax, 16
- mov eax, esi
- push ax
- ror eax, 16
- push ax
- rol eax, 16
- mov eax, edi
- push ax
- ror eax, 16
- push ax
- rol eax, 16
- mov eax, ebp
- push ax
- ror eax, 16
- push ax
- rol eax, 16 ;matrica v stacke
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;
- mov eax, edx
- push ax
- ror eax, 16
- push ax
- rol eax, 16 ;pervuy
- mov eax, ebp
- push ax
- ror eax, 16
- push ax
- rol eax, 16 ;chetvertay
- mov eax, esi
- push ax
- ror eax, 16
- push ax
- rol eax, 16 ;vtoru
- mov eax, edi
- push ax
- ror eax, 16
- push ax
- rol eax, 16 ;tretuy
- ;;;;;;;;sravnenye
- xor eax, eax
- xor ebx, ebx
- xor ecx, ecx
- ; xor edx, edx
- ; xor esi, esi
- ; xor edi, edi
- ; xor ebp, ebp
- pop ax
- rol ax, 8
- ror eax, 16
- pop ax
- and ax, 0000000011111111b
- ror eax, 16
- mov ecx, eax
- xor eax, eax
- pop ax
- and ax, 1111111100000000b
- rol eax, 8
- pop ax
- cmp eax, ecx
- je spawn
- jmp next
- spawn:
- add bx, 1
- next:
- xor eax, eax
- xor ecx, ecx
- pop ax
- rol ax, 8
- ror eax, 16
- pop ax
- and ax, 1111111100000000b
- ror ax, 8
- rol eax, 16
- mov ecx, eax
- xor eax, eax
- pop ax
- and ax, 0000000011111111b
- rol eax, 16
- pop ax
- cmp eax, ecx
- je swap2
- jmp finish
- swap2:
- add bx, 2
- finish:
- cmp bx, 1
- je ret23
- cmp bx, 2
- je ret14
- cmp bx, 3
- je ret2314
- jmp funish
- ret23:
- xchg esi, edi
- jmp funish
- ret14:
- xchg edx, ebp
- jmp funish
- ret2314:
- xchg esi, edi
- xchg edx, ebp
- funish:
- mov ax, 4c00h
- int 21h
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement