Online Assembler and Disassembler
by @Jonathan Salwan using Keystone and Capstone projects.
Disassembly
0x0000000000000000: 51 push cx
0x0000000000000001: 52 push dx
0x0000000000000002: 50 push ax
0x0000000000000003: BA 31 03 mov dx, 0x331
0x0000000000000006: B9 FF FF mov cx, 0xffff
0x0000000000000009: EC in al, dx
0x000000000000000a: A8 40 test al, 0x40
0x000000000000000c: 74 13 je 0x21
0x000000000000000e: D0 C0 rol al, 1
0x0000000000000010: 73 1A jae 0x2c
0x0000000000000012: EB EF jmp 3
0x0000000000000014: 49 dec cx
0x0000000000000015: 83 F9 01 cmp cx, 1
0x0000000000000018: 7D EF jge 9
0x000000000000001a: 58 pop ax
0x000000000000001b: B8 FF FF mov ax, 0xffff
0x000000000000001e: EB 09 jmp 0x29
0x0000000000000020: 90 nop
0x0000000000000021: BA 30 03 mov dx, 0x330
0x0000000000000024: 58 pop ax
0x0000000000000025: EE out dx, al
0x0000000000000026: B8 00 00 mov ax, 0
0x0000000000000029: 5A pop dx
0x000000000000002a: 59 pop cx
0x000000000000002b: C3 ret
0x000000000000002c: 56 push si
0x000000000000002d: 2E 8B 36 72 01 mov si, word ptr cs:[0x172]
0x0000000000000032: BA 30 03 mov dx, 0x330
0x0000000000000035: EC in al, dx
0x0000000000000036: 2E 88 84 4A 01 mov byte ptr cs:[si + 0x14a], al
0x000000000000003b: 46 inc si
0x000000000000003c: 83 FE 28 cmp si, 0x28
0x000000000000003f: 75 02 jne 0x43
0x0000000000000041: 33 F6 xor si, si
0x0000000000000043: 2E 89 36 72 01 mov word ptr cs:[0x172], si
0x0000000000000048: 5E pop si
0x0000000000000049: EB B8 jmp 3