.file "hello.c" .text .Ltext0: .comm idt,2048,32 .comm idt_reg,6,4 .section .rodata .LC0: .string "Process " .align 4 .LC1: .string "has been entered. Hey there.\n" .text .globl start_ .type start_, @function start_: .LFB0: .file 1 "hello.c" .loc 1 18 0 .cfi_startproc pushl %ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 movl %esp, %ebp .cfi_def_cfa_register 5 subl $40, %esp .loc 1 19 0 movl $0, -12(%ebp) .loc 1 21 0 subl $12, %esp pushl $.LC0 call kprint addl $16, %esp .loc 1 22 0 subl $8, %esp leal -28(%ebp), %eax pushl %eax pushl -12(%ebp) call hex_to_ascii addl $16, %esp .loc 1 23 0 subl $12, %esp leal -28(%ebp), %eax pushl %eax call kprint addl $16, %esp .loc 1 24 0 subl $12, %esp pushl $.LC1 call kprint addl $16, %esp .loc 1 25 0 nop .loc 1 26 0 leave .cfi_restore 5 .cfi_def_cfa 4, 4 ret .cfi_endproc .LFE0: .size start_, .-start_ .section .rodata .LC2: .string "END" .LC3: .string "Stopping the CPU. Bye!\n" .LC4: .string "ADD" .LC5: .string "ADDED: " .LC6: .string " id: " .LC7: .string "ZOO" .LC8: .string "ZOO.\n" .LC9: .string "You said: " .LC10: .string "\n> " .text .globl user_input .type user_input, @function user_input: .LFB1: .loc 1 28 0 .cfi_startproc pushl %ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 movl %esp, %ebp .cfi_def_cfa_register 5 subl $40, %esp .loc 1 29 0 subl $8, %esp pushl $.LC2 pushl 8(%ebp) call strcmp addl $16, %esp testl %eax, %eax jne .L4 .loc 1 30 0 subl $12, %esp pushl $.LC3 call kprint addl $16, %esp .loc 1 31 0 #APP # 31 "hello.c" 1 hlt # 0 "" 2 #NO_APP jmp .L5 .L4: .loc 1 32 0 subl $8, %esp pushl $.LC4 pushl 8(%ebp) call strcmp addl $16, %esp testl %eax, %eax jne .L6 .LBB2: .loc 1 33 0 movl $16, -12(%ebp) addl $4, -12(%ebp) .loc 1 34 0 movl $0, -16(%ebp) .loc 1 35 0 subl $4, %esp leal -16(%ebp), %eax pushl %eax pushl $0 pushl $20 call kmalloc addl $16, %esp .loc 1 36 0 movl -16(%ebp), %edx movl global_id, %eax leal 1(%eax), %ecx movl %ecx, global_id movl %eax, (%edx) .loc 1 37 0 movl -16(%ebp), %eax movl global_id, %edx imull $100, %edx, %edx movl %edx, 4(%eax) .loc 1 38 0 movl -16(%ebp), %ecx movl global_id, %edx movl %edx, %eax sall $2, %eax addl %edx, %eax addl %eax, %eax movl %eax, 8(%ecx) .loc 1 39 0 movl -16(%ebp), %eax movl $0, 12(%eax) .loc 1 40 0 movl -16(%ebp), %eax movl $0, 16(%eax) .loc 1 41 0 subl $12, %esp pushl $.LC5 call kprint addl $16, %esp .loc 1 43 0 movl -16(%ebp), %eax movl %eax, %edx subl $8, %esp leal -32(%ebp), %eax pushl %eax pushl %edx call hex_to_ascii addl $16, %esp .loc 1 44 0 subl $12, %esp leal -32(%ebp), %eax pushl %eax call kprint addl $16, %esp .loc 1 45 0 subl $12, %esp pushl $.LC6 call kprint addl $16, %esp .loc 1 46 0 movl -16(%ebp), %eax movl (%eax), %eax movl %eax, %edx subl $8, %esp leal -32(%ebp), %eax pushl %eax pushl %edx call hex_to_ascii addl $16, %esp .loc 1 47 0 subl $12, %esp leal -32(%ebp), %eax pushl %eax call kprint addl $16, %esp .LBE2: jmp .L5 .L6: .loc 1 48 0 subl $8, %esp pushl $.LC7 pushl 8(%ebp) call strcmp addl $16, %esp testl %eax, %eax jne .L5 .loc 1 49 0 subl $12, %esp pushl $.LC8 call kprint addl $16, %esp .L5: .loc 1 52 0 subl $12, %esp pushl $.LC9 call kprint addl $16, %esp .loc 1 53 0 subl $12, %esp pushl 8(%ebp) call kprint addl $16, %esp .loc 1 54 0 subl $12, %esp pushl $.LC10 call kprint addl $16, %esp .loc 1 55 0 nop leave .cfi_restore 5 .cfi_def_cfa 4, 4 ret .cfi_endproc .LFE1: .size user_input, .-user_input .Letext0: .file 2 "./cpu/types.h" .file 3 "./cpu/idt.h" .file 4 "./libc/mem.h" .file 5 "./libc/globals.h" .section .debug_info,"",@progbits .Ldebug_info0: .long 0x22b .value 0x4 .long .Ldebug_abbrev0 .byte 0x4 .uleb128 0x1 .long .LASF22 .byte 0xc .long .LASF23 .long .LASF24 .long .Ltext0 .long .Letext0-.Ltext0 .long .Ldebug_line0 .uleb128 0x2 .string "u32" .byte 0x2 .byte 0x6 .long 0x30 .uleb128 0x3 .byte 0x4 .byte 0x7 .long .LASF0 .uleb128 0x4 .byte 0x4 .byte 0x5 .string "int" .uleb128 0x2 .string "u16" .byte 0x2 .byte 0x8 .long 0x49 .uleb128 0x3 .byte 0x2 .byte 0x7 .long .LASF1 .uleb128 0x3 .byte 0x2 .byte 0x5 .long .LASF2 .uleb128 0x2 .string "u8" .byte 0x2 .byte 0xa .long 0x61 .uleb128 0x3 .byte 0x1 .byte 0x8 .long .LASF3 .uleb128 0x3 .byte 0x1 .byte 0x6 .long .LASF4 .uleb128 0x5 .byte 0x8 .byte 0x3 .byte 0xa .long 0xb4 .uleb128 0x6 .long .LASF5 .byte 0x3 .byte 0xb .long 0x3e .byte 0 .uleb128 0x7 .string "sel" .byte 0x3 .byte 0xc .long 0x3e .byte 0x2 .uleb128 0x6 .long .LASF6 .byte 0x3 .byte 0xd .long 0x57 .byte 0x4 .uleb128 0x6 .long .LASF7 .byte 0x3 .byte 0x13 .long 0x57 .byte 0x5 .uleb128 0x6 .long .LASF8 .byte 0x3 .byte 0x14 .long 0x3e .byte 0x6 .byte 0 .uleb128 0x8 .long .LASF9 .byte 0x3 .byte 0x15 .long 0x6f .uleb128 0x5 .byte 0x6 .byte 0x3 .byte 0x19 .long 0xe0 .uleb128 0x6 .long .LASF10 .byte 0x3 .byte 0x1a .long 0x3e .byte 0 .uleb128 0x6 .long .LASF11 .byte 0x3 .byte 0x1b .long 0x25 .byte 0x2 .byte 0 .uleb128 0x8 .long .LASF12 .byte 0x3 .byte 0x1c .long 0xbf .uleb128 0x9 .long .LASF25 .byte 0x14 .byte 0x4 .byte 0x9 .long 0x133 .uleb128 0x7 .string "id" .byte 0x4 .byte 0xa .long 0x25 .byte 0 .uleb128 0x6 .long .LASF11 .byte 0x4 .byte 0xb .long 0x25 .byte 0x4 .uleb128 0x6 .long .LASF13 .byte 0x4 .byte 0xc .long 0x25 .byte 0x8 .uleb128 0x6 .long .LASF14 .byte 0x4 .byte 0xd .long 0x133 .byte 0xc .uleb128 0x6 .long .LASF15 .byte 0x4 .byte 0xe .long 0x133 .byte 0x10 .byte 0 .uleb128 0xa .byte 0x4 .long 0xeb .uleb128 0x8 .long .LASF16 .byte 0x4 .byte 0xf .long 0xeb .uleb128 0xb .long .LASF18 .byte 0x1 .byte 0x11 .long .LFB0 .long .LFE0-.LFB0 .uleb128 0x1 .byte 0x9c .long 0x174 .uleb128 0xc .string "pid" .byte 0x1 .byte 0x13 .long 0x37 .uleb128 0x2 .byte 0x91 .sleb128 -20 .uleb128 0xc .string "c" .byte 0x1 .byte 0x14 .long 0x174 .uleb128 0x2 .byte 0x91 .sleb128 -36 .byte 0 .uleb128 0xd .long 0x68 .long 0x184 .uleb128 0xe .long 0x184 .byte 0xf .byte 0 .uleb128 0x3 .byte 0x4 .byte 0x7 .long .LASF17 .uleb128 0xb .long .LASF19 .byte 0x1 .byte 0x1c .long .LFB1 .long .LFE1-.LFB1 .uleb128 0x1 .byte 0x9c .long 0x1df .uleb128 0xf .long .LASF26 .byte 0x1 .byte 0x1c .long 0x1df .uleb128 0x2 .byte 0x91 .sleb128 0 .uleb128 0x10 .long .LBB2 .long .LBE2-.LBB2 .uleb128 0xc .string "n0" .byte 0x1 .byte 0x21 .long 0x1e5 .uleb128 0x2 .byte 0x91 .sleb128 -20 .uleb128 0xc .string "n1" .byte 0x1 .byte 0x22 .long 0x1eb .uleb128 0x2 .byte 0x91 .sleb128 -24 .uleb128 0xc .string "c" .byte 0x1 .byte 0x2a .long 0x174 .uleb128 0x2 .byte 0x91 .sleb128 -40 .byte 0 .byte 0 .uleb128 0xa .byte 0x4 .long 0x68 .uleb128 0xa .byte 0x4 .long 0x25 .uleb128 0xa .byte 0x4 .long 0x139 .uleb128 0x11 .long .LASF20 .byte 0x5 .byte 0x6 .long 0x25 .uleb128 0xd .long 0xb4 .long 0x20c .uleb128 0xe .long 0x184 .byte 0xff .byte 0 .uleb128 0x12 .string "idt" .byte 0x3 .byte 0x1f .long 0x1fc .uleb128 0x5 .byte 0x3 .long idt .uleb128 0x13 .long .LASF21 .byte 0x3 .byte 0x20 .long 0xe0 .uleb128 0x5 .byte 0x3 .long idt_reg .byte 0 .section .debug_abbrev,"",@progbits .Ldebug_abbrev0: .uleb128 0x1 .uleb128 0x11 .byte 0x1 .uleb128 0x25 .uleb128 0xe .uleb128 0x13 .uleb128 0xb .uleb128 0x3 .uleb128 0xe .uleb128 0x1b .uleb128 0xe .uleb128 0x11 .uleb128 0x1 .uleb128 0x12 .uleb128 0x6 .uleb128 0x10 .uleb128 0x17 .byte 0 .byte 0 .uleb128 0x2 .uleb128 0x16 .byte 0 .uleb128 0x3 .uleb128 0x8 .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .byte 0 .byte 0 .uleb128 0x3 .uleb128 0x24 .byte 0 .uleb128 0xb .uleb128 0xb .uleb128 0x3e .uleb128 0xb .uleb128 0x3 .uleb128 0xe .byte 0 .byte 0 .uleb128 0x4 .uleb128 0x24 .byte 0 .uleb128 0xb .uleb128 0xb .uleb128 0x3e .uleb128 0xb .uleb128 0x3 .uleb128 0x8 .byte 0 .byte 0 .uleb128 0x5 .uleb128 0x13 .byte 0x1 .uleb128 0xb .uleb128 0xb .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x1 .uleb128 0x13 .byte 0 .byte 0 .uleb128 0x6 .uleb128 0xd .byte 0 .uleb128 0x3 .uleb128 0xe .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .uleb128 0x38 .uleb128 0xb .byte 0 .byte 0 .uleb128 0x7 .uleb128 0xd .byte 0 .uleb128 0x3 .uleb128 0x8 .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .uleb128 0x38 .uleb128 0xb .byte 0 .byte 0 .uleb128 0x8 .uleb128 0x16 .byte 0 .uleb128 0x3 .uleb128 0xe .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .byte 0 .byte 0 .uleb128 0x9 .uleb128 0x13 .byte 0x1 .uleb128 0x3 .uleb128 0xe .uleb128 0xb .uleb128 0xb .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x1 .uleb128 0x13 .byte 0 .byte 0 .uleb128 0xa .uleb128 0xf .byte 0 .uleb128 0xb .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .byte 0 .byte 0 .uleb128 0xb .uleb128 0x2e .byte 0x1 .uleb128 0x3f .uleb128 0x19 .uleb128 0x3 .uleb128 0xe .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x27 .uleb128 0x19 .uleb128 0x11 .uleb128 0x1 .uleb128 0x12 .uleb128 0x6 .uleb128 0x40 .uleb128 0x18 .uleb128 0x2116 .uleb128 0x19 .uleb128 0x1 .uleb128 0x13 .byte 0 .byte 0 .uleb128 0xc .uleb128 0x34 .byte 0 .uleb128 0x3 .uleb128 0x8 .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .uleb128 0x2 .uleb128 0x18 .byte 0 .byte 0 .uleb128 0xd .uleb128 0x1 .byte 0x1 .uleb128 0x49 .uleb128 0x13 .uleb128 0x1 .uleb128 0x13 .byte 0 .byte 0 .uleb128 0xe .uleb128 0x21 .byte 0 .uleb128 0x49 .uleb128 0x13 .uleb128 0x2f .uleb128 0xb .byte 0 .byte 0 .uleb128 0xf .uleb128 0x5 .byte 0 .uleb128 0x3 .uleb128 0xe .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .uleb128 0x2 .uleb128 0x18 .byte 0 .byte 0 .uleb128 0x10 .uleb128 0xb .byte 0x1 .uleb128 0x11 .uleb128 0x1 .uleb128 0x12 .uleb128 0x6 .byte 0 .byte 0 .uleb128 0x11 .uleb128 0x34 .byte 0 .uleb128 0x3 .uleb128 0xe .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .uleb128 0x3f .uleb128 0x19 .uleb128 0x3c .uleb128 0x19 .byte 0 .byte 0 .uleb128 0x12 .uleb128 0x34 .byte 0 .uleb128 0x3 .uleb128 0x8 .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .uleb128 0x3f .uleb128 0x19 .uleb128 0x2 .uleb128 0x18 .byte 0 .byte 0 .uleb128 0x13 .uleb128 0x34 .byte 0 .uleb128 0x3 .uleb128 0xe .uleb128 0x3a .uleb128 0xb .uleb128 0x3b .uleb128 0xb .uleb128 0x49 .uleb128 0x13 .uleb128 0x3f .uleb128 0x19 .uleb128 0x2 .uleb128 0x18 .byte 0 .byte 0 .byte 0 .section .debug_aranges,"",@progbits .long 0x1c .value 0x2 .long .Ldebug_info0 .byte 0x4 .byte 0 .value 0 .value 0 .long .Ltext0 .long .Letext0-.Ltext0 .long 0 .long 0 .section .debug_line,"",@progbits .Ldebug_line0: .section .debug_str,"MS",@progbits,1 .LASF5: .string "low_offset" .LASF9: .string "idt_gate_t" .LASF14: .string "next" .LASF23: .string "hello.c" .LASF21: .string "idt_reg" .LASF19: .string "user_input" .LASF15: .string "previous" .LASF3: .string "unsigned char" .LASF11: .string "base" .LASF1: .string "short unsigned int" .LASF25: .string "_node" .LASF6: .string "always0" .LASF0: .string "unsigned int" .LASF7: .string "flags" .LASF26: .string "input" .LASF4: .string "char" .LASF22: .string "GNU C11 5.4.0 20160609 -m32 -mtune=generic -march=i686 -g -fno-pie -ffreestanding -fno-builtin -fno-stack-protector" .LASF10: .string "limit" .LASF17: .string "sizetype" .LASF24: .string "/home/os/OS_Project/Part4/10_scheduler" .LASF20: .string "global_id" .LASF2: .string "short int" .LASF18: .string "start_" .LASF16: .string "node" .LASF8: .string "high_offset" .LASF12: .string "idt_register_t" .LASF13: .string "size" .ident "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609" .section .note.GNU-stack,"",@progbits