neon wrote:
Hi,
Code:
0x0010363b: 89 10 movl %edx, (%eax)
0x0010363d: 81 fb 00 00 00 08 cmpl $0x8000000, %ebx
0x00103643: 74 7e je 0x1036c3
Servicing hardware INT=0x20
----------------
IN:
0x00000000: 53 pushl %ebx
0x00000001: ff 00 incl (%eax)
0x00000003: f0 .byte 0xf0
Go ahead and post a similar output with what you did before. Keep hardware interrupts disabled. The code posted before triggered the timer irq right before so we want to keep that disabled. If hardware interrupts are disabled, you should be getting different output.
Hi,
here is the disassembly of kernel.bin after changing few stuff:
Code:
----------------
IN:
0x00103656: 83 c4 10 addl $0x10, %esp
0x00103659: 85 c0 testl %eax, %eax
0x0010365b: 75 c3 jne 0x103620
----------------
IN:
0x00103620: 8b 08 movl (%eax), %ecx
0x00103622: 89 da movl %ebx, %edx
0x00103624: 81 c3 00 10 00 00 addl $0x1000, %ebx
0x0010362a: 81 e2 00 f0 ff ff andl $0xfffff000, %edx
0x00103630: 83 ca 01 orl $1, %edx
0x00103633: 81 e1 f8 0f 00 00 andl $0xff8, %ecx
0x00103639: 09 ca orl %ecx, %edx
0x0010363b: 89 10 movl %edx, (%eax)
0x0010363d: 81 fb 00 00 00 08 cmpl $0x8000000, %ebx
0x00103643: 74 7e je 0x1036c3
----------------
IN:
0x00000000: 53 pushl %ebx
0x00000001: ff 00 incl (%eax)
0x00000003: f0 .byte 0xf0
0x00000004: 53 pushl %ebx
0x00000005: ff 00 incl (%eax)
0x00000007: f0 .byte 0xf0
0x00000008: c3 retl
----------------
IN:
0x00000001: ff 00 incl (%eax)
0x00000003: f0 .byte 0xf0
0x00000004: 53 pushl %ebx
0x00000005: ff 00 incl (%eax)
0x00000007: f0 .byte 0xf0
0x00000008: c3 retl