.arch i8086,jumps .code16 .att_syntax prefix #NO_APP .text .type _ZN12_GLOBAL__N_14putcEh, @function _ZN12_GLOBAL__N_14putcEh: movw %sp, %bx movb 2(%bx), %al #APP ;# 21 "wozmon.cc" 1 mov %al, %al mov $0x0e, %ah int $0x10 ;# 0 "" 2 #NO_APP ret .size _ZN12_GLOBAL__N_14putcEh, .-_ZN12_GLOBAL__N_14putcEh .type _ZN12_GLOBAL__N_17ReadHexEPKc, @function _ZN12_GLOBAL__N_17ReadHexEPKc: pushw %si pushw %di pushw %bp movw %sp, %bp pushw %ds pushw %ds movw 8(%bp), %ax movw %ax, -2(%bp) .L5: movw -2(%bp), %bx cmpb $32, (%bx) jne .L4 incw -2(%bp) jmp .L5 .L4: xorw %di, %di movw %di, %ax movw %di, %dx movb $4, %ch .L9: movw %di, %bx movw -2(%bp), %si movb (%bx,%si), %cl cmpb $57, %cl ja .L6 addb $-48, %cl .L12: movb %cl, %bl cmpb $15, %cl ja .L3 movw %ax, %si movb $12, %cl shrw %cl, %si movb %ch, %cl shlw %cl, %dx orw %si, %dx shlw %cl, %ax movb %bl, -4(%bp) movb -4(%bp), %bl xorb %bh, %bh addw %bx, %ax movw $0, %bx adcw %bx, %dx incw %di cmpw $8, %di jne .L9 .L3: movw %bp, %sp popw %bp popw %di popw %si ret .L6: addb $-87, %cl jmp .L12 .size _ZN12_GLOBAL__N_17ReadHexEPKc, .-_ZN12_GLOBAL__N_17ReadHexEPKc .type _ZN12_GLOBAL__N_114WriteHexNibbleEh, @function _ZN12_GLOBAL__N_114WriteHexNibbleEh: pushw %bp movw %sp, %bp movb 4(%bp), %al movb %al, %dl xorb %dh, %dh cmpw $9, %dx jle .L14 addb $87, %al .L16: movb %al, 4(%bp) popw %bp jmp _ZN12_GLOBAL__N_14putcEh .L14: addb $48, %al jmp .L16 .size _ZN12_GLOBAL__N_114WriteHexNibbleEh, .-_ZN12_GLOBAL__N_114WriteHexNibbleEh .section .text.startup,"ax",@progbits .global main .type main, @function main: pushw %si pushw %di pushw %es pushw %bp movw %sp, %bp subw $76, %sp leaw -64(%bp), %di movw $64, %ax pushw %ax xorw %ax, %ax movw %ax, %es pushw %ax pushw %di call memset addw $6, %sp movw %es, %si movw %es, -70(%bp) .L18: #APP ;# 11 "wozmon.cc" 1 mov $0x00, %ah int $0x16 ;# 0 "" 2 #NO_APP pushw %ax movb %al, -71(%bp) call _ZN12_GLOBAL__N_14putcEh addw $2, %sp movb -71(%bp), %al cmpb $13, %al jne .L19 movb $0, (%di) leaw -64(%bp), %bx cmpw %bx, %di jne .L21 addw $4, %si adcw $0, -70(%bp) .L22: movw %si, %ax andw $-4, %ax movw %ax, %es movw -70(%bp), %di movw $8, %bx .L25: movw %ax, -76(%bp) movw %bx, -74(%bp) movb $12, %cl movb %cl, -71(%bp) pushw -68(%bp) call _ZN12_GLOBAL__N_114WriteHexNibbleEh movw -76(%bp), %ax movw %ax, %dx movb -71(%bp), %cl shrw %cl, %dx movb $4, %cl shlw %cl, %di shlw %cl, %ax orw %dx, %di addw $2, %sp movw -74(%bp), %bx decw %bx jne .L25 movb $58, %al pushw %ax call _ZN12_GLOBAL__N_14putcEh movw %es, %di leaw 4(%di), %cx addw $2, %sp .L26: movw %cx, -74(%bp) movb $32, %al pushw %ax call _ZN12_GLOBAL__N_14putcEh movb (%di), %dl movb %dl, %al movb %dl, -71(%bp) xorb %ah, %ah movb $4, %cl sarw %cl, %ax pushw %ax call _ZN12_GLOBAL__N_114WriteHexNibbleEh movb -71(%bp), %dl andb $15, %dl pushw %dx call _ZN12_GLOBAL__N_114WriteHexNibbleEh incw %di addw $6, %sp movw -74(%bp), %cx cmpw %di, %cx jne .L26 movb $13, %al pushw %ax call _ZN12_GLOBAL__N_14putcEh movb $10, %al pushw %ax call _ZN12_GLOBAL__N_14putcEh addw $4, %sp xorw %bx, %bx leaw -64(%bp), %di .L29: movb (%bx,%di), %al testb %al, %al je .L18 cmpb $58, %al je .L28 incw %bx jmp .L29 .L32: xchgw %ax, %di jmp .L18 .L21: movb (%bx), %al testb %al, %al je .L23 cmpb $114, %al je .L24 incw %bx jmp .L21 .L19: cmpb $127, %al jne .L30 decw %di leaw -64(%bp), %ax cmpw %ax, %di jc .L32 movb $8, %al pushw %ax movb %al, -71(%bp) call _ZN12_GLOBAL__N_14putcEh movb $32, %dl pushw %dx call _ZN12_GLOBAL__N_14putcEh movb -71(%bp), %al pushw %ax call _ZN12_GLOBAL__N_14putcEh addw $6, %sp jmp .L18 .L30: movb %al, (%di) incw %di jmp .L18 .L24: call *%si jmp .L22 .L23: leaw -64(%bp), %ax pushw %ax call _ZN12_GLOBAL__N_17ReadHexEPKc addw $2, %sp xchgw %ax, %si movw %dx, -70(%bp) movb $10, %al pushw %ax call _ZN12_GLOBAL__N_14putcEh addw $2, %sp jmp .L22 .L28: leaw 1(%bx,%di), %bx pushw %bx call _ZN12_GLOBAL__N_17ReadHexEPKc addw $2, %sp movw %ax, (%si) movw %dx, 2(%si) jmp .L18 .size main, .-main .ident "GCC: (GNU) 6.3.0"