📄 time.lst
字号:
time.x: file format coff-go32
Disassembly of section .text:
40000000 <_code>:
40000000: 74 69 je 4000006b <_main+0x4b>
40000002: 6d insl (%dx),%es:(%edi)
40000003: 65 20 69 73 and %ch,%gs:0x73(%ecx)
40000007: 20 25 30 32 75 3a and %ah,0x3a753230
4000000d: 25 30 32 75 3a and $0x3a753230,%eax
40000012: 25 30 32 75 0a and $0xa753230,%eax
40000017: 00 89 88 88 88 ab add %cl,0xab888888(%ecx)
4000001d: aa stos %al,%es:(%edi)
4000001e: aa stos %al,%es:(%edi)
4000001f: aa stos %al,%es:(%edi)
40000020 <_main>:
_main():
time.c:17
{
unsigned char min, sec, hour;
time_t t;
while(1)
40000020: 55 push %ebp
40000021: 89 e5 mov %esp,%ebp
40000023: 83 ec 0c sub $0xc,%esp
40000026: 57 push %edi
40000027: 8b 3d 18 00 00 40 mov 0x40000018,%edi
4000002d: 56 push %esi
4000002e: 53 push %ebx
4000002f: 90 nop
time.c:20
{
/* get time */
t = time(NULL);
40000030: 83 c4 f4 add $0xfffffff4,%esp
40000033: 6a 00 push $0x0
40000035: e8 76 00 00 00 call 400000b0 <_time>
4000003a: 89 c3 mov %eax,%ebx
time.c:22
/* convert to HH:MM:SS */
sec = t % 60;
4000003c: f7 e7 mul %edi,%eax
4000003e: 89 d1 mov %edx,%ecx
40000040: c1 e9 05 shr $0x5,%ecx
40000043: 89 ca mov %ecx,%edx
40000045: c1 e2 04 shl $0x4,%edx
40000048: 29 ca sub %ecx,%edx
4000004a: 8d 04 95 00 00 00 00 lea 0x0(,%edx,4),%eax
40000051: 28 c3 sub %al,%bl
time.c:24
t /= 60;
min = t % 60;
40000053: 89 c8 mov %ecx,%eax
40000055: f7 e7 mul %edi,%eax
40000057: 89 d6 mov %edx,%esi
40000059: c1 ee 05 shr $0x5,%esi
4000005c: 89 f0 mov %esi,%eax
4000005e: c1 e0 04 shl $0x4,%eax
40000061: 29 f0 sub %esi,%eax
40000063: c1 e0 02 shl $0x2,%eax
40000066: 28 c1 sub %al,%cl
time.c:26
t /= 60;
hour = t % 24;
40000068: 89 f0 mov %esi,%eax
4000006a: f7 25 1c 00 00 40 mul 0x4000001c,%eax
40000070: c1 ea 04 shr $0x4,%edx
40000073: 8d 04 52 lea (%edx,%edx,2),%eax
40000076: c1 e0 03 shl $0x3,%eax
40000079: 89 f2 mov %esi,%edx
4000007b: 28 c2 sub %al,%dl
time.c:29
t /= 24;
/* print it */
printf("time is %02u:%02u:%02u\n", hour, min, sec);
4000007d: 31 c0 xor %eax,%eax
4000007f: 88 d8 mov %bl,%al
40000081: 50 push %eax
40000082: 31 c0 xor %eax,%eax
40000084: 88 c8 mov %cl,%al
40000086: 50 push %eax
40000087: 31 c0 xor %eax,%eax
40000089: 88 d0 mov %dl,%al
4000008b: 50 push %eax
4000008c: 68 00 00 00 40 push $0x40000000
40000091: e8 3a 00 00 00 call 400000d0 <_printf>
time.c:31
/* 1-second delay */
sleep(1000000);
40000096: 83 c4 20 add $0x20,%esp
40000099: 83 c4 f4 add $0xfffffff4,%esp
4000009c: 68 40 42 0f 00 push $0xf4240
400000a1: e8 4a 00 00 00 call 400000f0 <_sleep>
time.c:32
}
400000a6: 83 c4 10 add $0x10,%esp
400000a9: eb 85 jmp 40000030 <_main+0x10>
400000ab <.ef>:
time.c:34
return 0;
}
400000ab: 90 nop
400000ac: 8d 74 26 00 lea 0x0(%esi,1),%esi
400000b0 <_time>:
_time():
time.c:7
400000b0: 55 push %ebp
400000b1: 89 e5 mov %esp,%ebp
time.c:10
400000b3: b8 0a 00 00 00 mov $0xa,%eax
time.c:7
400000b8: 8b 55 08 mov 0x8(%ebp),%edx
time.c:10
400000bb: cd 30 int $0x30
time.c:13
400000bd: 85 d2 test %edx,%edx
400000bf: 74 02 je 400000c3 <_time+0x13>
time.c:14
400000c1: 89 02 mov %eax,(%edx)
time.c:15
400000c3: 89 ec mov %ebp,%esp
400000c5: 5d pop %ebp
400000c6: c3 ret
400000c7 <.ef>:
time.c:16
400000c7: 89 f6 mov %esi,%esi
400000c9: 8d bc 27 00 00 00 00 lea 0x0(%edi,1),%edi
400000d0 <_printf>:
_printf():
printf.c:9
400000d0: 55 push %ebp
400000d1: 89 e5 mov %esp,%ebp
400000d3: 83 ec 08 sub $0x8,%esp
400000d6: 8d 45 0c lea 0xc(%ebp),%eax
printf.c:10
400000d9: 83 c4 f8 add $0xfffffff8,%esp
400000dc: 50 push %eax
400000dd: 8b 45 08 mov 0x8(%ebp),%eax
400000e0: 50 push %eax
400000e1: e8 4a 00 00 00 call 40000130 <_vprintf>
printf.c:12
400000e6: 89 ec mov %ebp,%esp
400000e8: 5d pop %ebp
400000e9: c3 ret
400000ea <.ef>:
printf.c:13
400000ea: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
400000f0 <_sleep>:
_sleep():
sleep.c:5
400000f0: 55 push %ebp
400000f1: 89 e5 mov %esp,%ebp
400000f3: 53 push %ebx
sleep.c:6
400000f4: b8 0c 00 00 00 mov $0xc,%eax
sleep.c:5
400000f9: 8b 5d 08 mov 0x8(%ebp),%ebx
sleep.c:6
400000fc: cd 30 int $0x30
400000fe: 5b pop %ebx
400000ff: 89 ec mov %ebp,%esp
40000101: 5d pop %ebp
40000102: c3 ret
40000103 <.ef>:
40000103: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
40000109: 8d bc 27 00 00 00 00 lea 0x0(%edi,1),%edi
40000110 <_vprintf_help>:
_vprintf_help():
vprintf.c:8
40000110: 55 push %ebp
40000111: 89 e5 mov %esp,%ebp
40000113: 83 ec 08 sub $0x8,%esp
40000116: 83 c4 f8 add $0xfffffff8,%esp
40000119: 68 18 10 00 40 push $0x40001018
4000011e: 0f be 45 08 movsbl 0x8(%ebp),%eax
40000122: 50 push %eax
40000123: e8 28 00 00 00 call 40000150 <_fputc>
vprintf.c:9
40000128: 31 c0 xor %eax,%eax
4000012a: 89 ec mov %ebp,%esp
4000012c: 5d pop %ebp
4000012d: c3 ret
4000012e <.ef>:
4000012e: 89 f6 mov %esi,%esi
40000130 <_vprintf>:
_vprintf():
vprintf.c:14
40000130: 55 push %ebp
40000131: 89 e5 mov %esp,%ebp
40000133: 83 ec 08 sub $0x8,%esp
40000136: 8b 55 08 mov 0x8(%ebp),%edx
40000139: 8b 45 0c mov 0xc(%ebp),%eax
vprintf.c:15
4000013c: 6a 00 push $0x0
4000013e: 68 10 01 00 40 push $0x40000110
40000143: 50 push %eax
40000144: 52 push %edx
40000145: e8 a6 00 00 00 call 400001f0 <_do_printf>
4000014a: 89 ec mov %ebp,%esp
4000014c: 5d pop %ebp
4000014d: c3 ret
4000014e <.ef>:
4000014e: 89 f6 mov %esi,%esi
40000150 <_fputc>:
_fputc():
fputc.c:6
40000150: 55 push %ebp
40000151: 89 e5 mov %esp,%ebp
40000153: 83 ec 0c sub $0xc,%esp
40000156: 57 push %edi
40000157: 56 push %esi
40000158: 53 push %ebx
40000159: 8b 75 08 mov 0x8(%ebp),%esi
4000015c: 8b 5d 0c mov 0xc(%ebp),%ebx
fputc.c:10
4000015f: 89 f7 mov %esi,%edi
fputc.c:11
40000161: 83 7b 10 00 cmpl $0x0,0x10(%ebx)
40000165: 74 06 je 4000016d <_fputc+0x1d>
40000167: 83 7b 08 00 cmpl $0x0,0x8(%ebx)
4000016b: 75 23 jne 40000190 <_fputc+0x40>
fputc.c:13
4000016d: 89 f8 mov %edi,%eax
4000016f: 88 45 ff mov %al,0xffffffff(%ebp)
fputc.c:14
40000172: 83 c4 fc add $0xfffffffc,%esp
40000175: 6a 01 push $0x1
40000177: 8d 45 ff lea 0xffffffff(%ebp),%eax
4000017a: 50 push %eax
4000017b: 8b 43 14 mov 0x14(%ebx),%eax
4000017e: 50 push %eax
4000017f: e8 7c 04 00 00 call 40000600 <_write>
40000184: 83 f8 01 cmp $0x1,%eax
40000187: 74 51 je 400001da <_fputc+0x8a>
fputc.c:16
40000189: eb 4a jmp 400001d5 <_fputc+0x85>
4000018b: 90 nop
4000018c: 8d 74 26 00 lea 0x0(%esi,1),%esi
fputc.c:19
40000190: 83 7b 0c 00 cmpl $0x0,0xc(%ebx)
40000194: 75 1a jne 400001b0 <_fputc+0x60>
fputc.c:21
40000196: 83 c4 f4 add $0xfffffff4,%esp
40000199: 53 push %ebx
4000019a: e8 81 04 00 00 call 40000620 <_fflush>
4000019f: 83 c4 10 add $0x10,%esp
400001a2: 85 c0 test %eax,%eax
400001a4: 74 0a je 400001b0 <_fputc+0x60>
fputc.c:22
400001a6: b8 ff ff ff ff mov $0xffffffff,%eax
400001ab: eb 2f jmp 400001dc <_fputc+0x8c>
400001ad: 8d 76 00 lea 0x0(%esi),%esi
fputc.c:24
400001b0: 8b 43 04 mov 0x4(%ebx),%eax
400001b3: 89 f2 mov %esi,%edx
400001b5: 88 10 mov %dl,(%eax)
400001b7: ff 43 04 incl 0x4(%ebx)
fputc.c:25
400001ba: ff 4b 0c decl 0xc(%ebx)
fputc.c:26
400001bd: f6 43 10 02 testb $0x2,0x10(%ebx)
400001c1: 74 17 je 400001da <_fputc+0x8a>
400001c3: 83 fe 0a cmp $0xa,%esi
400001c6: 75 12 jne 400001da <_fputc+0x8a>
fputc.c:28
400001c8: 83 c4 f4 add $0xfffffff4,%esp
400001cb: 53 push %ebx
400001cc: e8 4f 04 00 00 call 40000620 <_fflush>
400001d1: 85 c0 test %eax,%eax
400001d3: 74 05 je 400001da <_fputc+0x8a>
fputc.c:29
400001d5: bf ff ff ff ff mov $0xffffffff,%edi
fputc.c:32
400001da: 89 f8 mov %edi,%eax
400001dc: 8d 65 e8 lea 0xffffffe8(%ebp),%esp
400001df: 5b pop %ebx
400001e0: 5e pop %esi
400001e1: 5f pop %edi
400001e2: 89 ec mov %ebp,%esp
400001e4: 5d pop %ebp
400001e5: c3 ret
400001e6 <.ef>:
fputc.c:33
400001e6: 8d 76 00 lea 0x0(%esi),%esi
400001e9: 8d bc 27 00 00 00 00 lea 0x0(%edi,1),%edi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -