322 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			322 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.data
 | 
						|
.globl x
 | 
						|
.align 4
 | 
						|
.type x,@object
 | 
						|
.size x,16
 | 
						|
x:
 | 
						|
.long 1
 | 
						|
.byte 2
 | 
						|
.space 3
 | 
						|
.byte 3
 | 
						|
.byte 64
 | 
						|
.space 2
 | 
						|
.byte 80
 | 
						|
.byte 6
 | 
						|
.space 2
 | 
						|
.globl i
 | 
						|
.align 4
 | 
						|
.type i,@object
 | 
						|
.size i,4
 | 
						|
i:
 | 
						|
.long 16
 | 
						|
.globl y
 | 
						|
.align 4
 | 
						|
.type y,@object
 | 
						|
.size y,8
 | 
						|
y:
 | 
						|
.byte 35
 | 
						|
.space 3
 | 
						|
.byte 9
 | 
						|
.byte 0
 | 
						|
.byte 0
 | 
						|
.byte 0
 | 
						|
.globl main
 | 
						|
.text
 | 
						|
.align 16
 | 
						|
.type main,@function
 | 
						|
main:
 | 
						|
pushl %ebp
 | 
						|
pushl %ebx
 | 
						|
pushl %esi
 | 
						|
pushl %edi
 | 
						|
movl %esp,%ebp
 | 
						|
movsbl x+13,%edi
 | 
						|
pushl %edi
 | 
						|
movl x+12,%edi
 | 
						|
sall $25,%edi
 | 
						|
sarl $29,%edi
 | 
						|
pushl %edi
 | 
						|
movl x+8,%edi
 | 
						|
sall $16,%edi
 | 
						|
sarl $28,%edi
 | 
						|
pushl %edi
 | 
						|
movl x+8,%edi
 | 
						|
sall $20,%edi
 | 
						|
sarl $20,%edi
 | 
						|
pushl %edi
 | 
						|
movsbl x+4,%edi
 | 
						|
pushl %edi
 | 
						|
pushl x
 | 
						|
pushl $.LC4
 | 
						|
call printf
 | 
						|
addl $28,%esp
 | 
						|
pushl y+4
 | 
						|
movl y,%edi
 | 
						|
movl %edi,%esi
 | 
						|
shrl $2,%esi
 | 
						|
andl $15,%esi
 | 
						|
pushl %esi
 | 
						|
andl $3,%edi
 | 
						|
pushl %edi
 | 
						|
pushl $.LC10
 | 
						|
call printf
 | 
						|
addl $16,%esp
 | 
						|
movl x+8,%edi
 | 
						|
andl $0xffff0fff,%edi
 | 
						|
movl i,%esi
 | 
						|
sall $28,%esi
 | 
						|
sarl $28,%esi
 | 
						|
shll $12,%esi
 | 
						|
andl $0xf000,%esi
 | 
						|
orl %esi,%edi
 | 
						|
movl %edi,x+8
 | 
						|
movl x+12,%edi
 | 
						|
andl $0xffffff8f,%edi
 | 
						|
movl %edi,x+12
 | 
						|
movsbl x+13,%edi
 | 
						|
pushl %edi
 | 
						|
movl x+12,%edi
 | 
						|
sall $25,%edi
 | 
						|
sarl $29,%edi
 | 
						|
pushl %edi
 | 
						|
movl x+8,%edi
 | 
						|
sall $16,%edi
 | 
						|
sarl $28,%edi
 | 
						|
pushl %edi
 | 
						|
movl x+8,%edi
 | 
						|
sall $20,%edi
 | 
						|
sarl $20,%edi
 | 
						|
pushl %edi
 | 
						|
movsbl x+4,%edi
 | 
						|
pushl %edi
 | 
						|
pushl x
 | 
						|
pushl $.LC4
 | 
						|
call printf
 | 
						|
addl $28,%esp
 | 
						|
movl y,%edi
 | 
						|
andl $0xfffffffc,%edi
 | 
						|
orl $2,%edi
 | 
						|
movl %edi,y
 | 
						|
movl i,%edi
 | 
						|
movl %edi,y+4
 | 
						|
pushl y+4
 | 
						|
movl y,%edi
 | 
						|
movl %edi,%esi
 | 
						|
shrl $2,%esi
 | 
						|
andl $15,%esi
 | 
						|
pushl %esi
 | 
						|
andl $3,%edi
 | 
						|
pushl %edi
 | 
						|
pushl $.LC10
 | 
						|
call printf
 | 
						|
addl $16,%esp
 | 
						|
pushl $x
 | 
						|
call f2
 | 
						|
addl $4,%esp
 | 
						|
mov $0,%eax
 | 
						|
.LC3:
 | 
						|
movl %ebp,%esp
 | 
						|
popl %edi
 | 
						|
popl %esi
 | 
						|
popl %ebx
 | 
						|
popl %ebp
 | 
						|
ret
 | 
						|
.Lf21:
 | 
						|
.size main,.Lf21-main
 | 
						|
.globl f1
 | 
						|
.align 16
 | 
						|
.type f1,@function
 | 
						|
f1:
 | 
						|
pushl %ebp
 | 
						|
pushl %ebx
 | 
						|
pushl %esi
 | 
						|
pushl %edi
 | 
						|
movl %esp,%ebp
 | 
						|
movl 20(%ebp),%edi
 | 
						|
andl $0xffffffc3,(,%edi)
 | 
						|
movl 20(%ebp),%edi
 | 
						|
movl (,%edi),%esi
 | 
						|
andl $0xfffffffc,%esi
 | 
						|
mov $0,%ebx
 | 
						|
andl $3,%ebx
 | 
						|
andl $3,%ebx
 | 
						|
orl %ebx,%esi
 | 
						|
movl %esi,(,%edi)
 | 
						|
movl 20(%ebp),%edi
 | 
						|
movl (,%edi),%edi
 | 
						|
andl $60,%edi
 | 
						|
cmpl $0,%edi
 | 
						|
je .LC23
 | 
						|
pushl $.LC25
 | 
						|
call printf
 | 
						|
addl $4,%esp
 | 
						|
.LC23:
 | 
						|
movl 20(%ebp),%edi
 | 
						|
orl $3,(,%edi)
 | 
						|
movl 20(%ebp),%edi
 | 
						|
orl $60,(,%edi)
 | 
						|
movl 20(%ebp),%edi
 | 
						|
movl (,%edi),%edi
 | 
						|
movl %edi,%esi
 | 
						|
shrl $2,%esi
 | 
						|
andl $15,%esi
 | 
						|
pushl %esi
 | 
						|
andl $3,%edi
 | 
						|
pushl %edi
 | 
						|
pushl $.LC26
 | 
						|
call printf
 | 
						|
addl $12,%esp
 | 
						|
mov $0,%eax
 | 
						|
.LC22:
 | 
						|
movl %ebp,%esp
 | 
						|
popl %edi
 | 
						|
popl %esi
 | 
						|
popl %ebx
 | 
						|
popl %ebp
 | 
						|
ret
 | 
						|
.Lf27:
 | 
						|
.size f1,.Lf27-f1
 | 
						|
.globl f2
 | 
						|
.align 16
 | 
						|
.type f2,@function
 | 
						|
f2:
 | 
						|
pushl %ebp
 | 
						|
pushl %ebx
 | 
						|
pushl %esi
 | 
						|
pushl %edi
 | 
						|
movl %esp,%ebp
 | 
						|
subl $4,%esp
 | 
						|
cmpl $0,i
 | 
						|
jne .LC30
 | 
						|
movl $1,-4(%ebp)
 | 
						|
jmp .LC31
 | 
						|
.LC30:
 | 
						|
movl $0,-4(%ebp)
 | 
						|
.LC31:
 | 
						|
movl 20(%ebp),%edi
 | 
						|
movl (,%edi),%esi
 | 
						|
andl $0xfffffffc,%esi
 | 
						|
movl -4(%ebp),%ebx
 | 
						|
andl $3,%ebx
 | 
						|
andl $3,%ebx
 | 
						|
orl %ebx,%esi
 | 
						|
movl %esi,(,%edi)
 | 
						|
movl 20(%ebp),%edi
 | 
						|
pushl %edi
 | 
						|
call f1
 | 
						|
addl $4,%esp
 | 
						|
movl (,%edi),%esi
 | 
						|
andl $0xffffffc3,%esi
 | 
						|
mov $0,%ebx
 | 
						|
andl $15,%ebx
 | 
						|
leal (,%ebx,4),%ebx
 | 
						|
andl $60,%ebx
 | 
						|
orl %ebx,%esi
 | 
						|
movl %esi,(,%edi)
 | 
						|
mov $0,%eax
 | 
						|
.LC28:
 | 
						|
movl %ebp,%esp
 | 
						|
popl %edi
 | 
						|
popl %esi
 | 
						|
popl %ebx
 | 
						|
popl %ebp
 | 
						|
ret
 | 
						|
.Lf32:
 | 
						|
.size f2,.Lf32-f2
 | 
						|
.data
 | 
						|
.align 1
 | 
						|
.LC26:
 | 
						|
.byte 112
 | 
						|
.byte 45
 | 
						|
.byte 62
 | 
						|
.byte 97
 | 
						|
.byte 32
 | 
						|
.byte 61
 | 
						|
.byte 32
 | 
						|
.byte 48
 | 
						|
.byte 120
 | 
						|
.byte 37
 | 
						|
.byte 120
 | 
						|
.byte 44
 | 
						|
.byte 32
 | 
						|
.byte 112
 | 
						|
.byte 45
 | 
						|
.byte 62
 | 
						|
.byte 98
 | 
						|
.byte 32
 | 
						|
.byte 61
 | 
						|
.byte 32
 | 
						|
.byte 48
 | 
						|
.byte 120
 | 
						|
.byte 37
 | 
						|
.byte 120
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.LC25:
 | 
						|
.byte 112
 | 
						|
.byte 45
 | 
						|
.byte 62
 | 
						|
.byte 98
 | 
						|
.byte 32
 | 
						|
.byte 33
 | 
						|
.byte 61
 | 
						|
.byte 32
 | 
						|
.byte 48
 | 
						|
.byte 33
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.LC10:
 | 
						|
.byte 121
 | 
						|
.byte 32
 | 
						|
.byte 61
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.LC4:
 | 
						|
.byte 120
 | 
						|
.byte 32
 | 
						|
.byte 61
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.text
 | 
						|
.ident "LCC: 4.2"
 |