Newer
Older
ubixos / Dump / hybos / src / objects / kernel.dis
@cwolsen cwolsen on 31 Oct 2018 500 KB Big Dump

../../boot/kernel.bin:     file format elf32-i386-freebsd

Disassembly of section .text:

00100000 <klog>:
#include "_krnl.h"
#include "bootlog.h"

void klog(char *proc, char *entry, KLOGRESULT result, console_t *vtty0)
{
  100000:	55                   	push   %ebp
  100001:	89 e5                	mov    %esp,%ebp
  100003:	57                   	push   %edi
  100004:	56                   	push   %esi
  100005:	53                   	push   %ebx
  100006:	83 ec 0c             	sub    $0xc,%esp
  100009:	8b 45 10             	mov    0x10(%ebp),%eax
  10000c:	8b 5d 14             	mov    0x14(%ebp),%ebx
	unsigned oldattrib;
	int i = 0;
  10000f:	31 f6                	xor    %esi,%esi
	int offset = 69; /* -4 for the "[  ]" part, -2 for the ": " part, -1 for space at end, and -4 for the status */
	char status[4];
	va_list args;

	args = args;
	status[0] = '\0';

	/**
	 * Save our old color attributes
	 */
	oldattrib = vtty0->attrib;
	
	if(result == K_KLOG_SUCCESS)
  100011:	85 c0                	test   %eax,%eax
  100013:	c7 45 f0 45 00 00 00 	movl   $0x45,0xfffffff0(%ebp)
  10001a:	8b 7b 18             	mov    0x18(%ebx),%edi
  10001d:	0f 84 d5 00 00 00    	je     1000f8 <LS_Phys+0xf8>
	{
		/**
		 * Successfull initialization of something.
		 * Write "..Ok" then leave
		 */
		vtty0->attrib = 8;
		printf("\b\b\b\b..");
		vtty0->attrib = 2;
		printf("Ok\n");
		vtty0->attrib = oldattrib;

		return;
	}
	else if(result == K_KLOG_FAILURE)
  100023:	83 f8 02             	cmp    $0x2,%eax
  100026:	0f 84 b8 00 00 00    	je     1000e4 <LS_Phys+0xe4>
	{
		/**
		 * Unsuccessfull initialization of something.
		 * Write "Fail" then leave
		 */
		vtty0->attrib = 4;
		printf("\b\b\b\bFail\n");
		vtty0->attrib = oldattrib;

		return;
	}

	/**
	 * FIXME
	 *
	 * Should "wrap" the line instead
	 */
	if(strlen(entry) + 8 > 80)
  10002c:	83 ec 0c             	sub    $0xc,%esp
  10002f:	ff 75 0c             	pushl  0xc(%ebp)
  100032:	e8 21 51 00 00       	call   105158 <strlen>
  100037:	83 c0 08             	add    $0x8,%eax
  10003a:	83 c4 10             	add    $0x10,%esp
  10003d:	83 f8 50             	cmp    $0x50,%eax
  100040:	76 0a                	jbe    10004c <LS_Phys+0x4c>
		return;

	vtty0->attrib = 8;
	printf("[ ");
	vtty0->attrib = 15;
	printf("%s: %s", proc, entry);
	vtty0->attrib = 8;	
	printf(" ]");

	offset -= strlen(proc);
	offset -= strlen(entry);

	for(i = 0; i < offset; i++)
		printf(".");

	vtty0->attrib = 8;
	printf("Wait");

	vtty0->attrib = oldattrib;
}
  100042:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  100045:	5b                   	pop    %ebx
  100046:	5e                   	pop    %esi
  100047:	5f                   	pop    %edi
  100048:	c9                   	leave  
  100049:	c3                   	ret    
  10004a:	89 f6                	mov    %esi,%esi
  10004c:	83 ec 0c             	sub    $0xc,%esp
  10004f:	c7 43 18 08 00 00 00 	movl   $0x8,0x18(%ebx)
  100056:	68 b6 51 10 00       	push   $0x1051b6
  10005b:	e8 74 50 00 00       	call   1050d4 <printf>
  100060:	83 c4 0c             	add    $0xc,%esp
  100063:	c7 43 18 0f 00 00 00 	movl   $0xf,0x18(%ebx)
  10006a:	ff 75 0c             	pushl  0xc(%ebp)
  10006d:	ff 75 08             	pushl  0x8(%ebp)
  100070:	68 b9 51 10 00       	push   $0x1051b9
  100075:	e8 5a 50 00 00       	call   1050d4 <printf>
  10007a:	c7 43 18 08 00 00 00 	movl   $0x8,0x18(%ebx)
  100081:	c7 04 24 c0 51 10 00 	movl   $0x1051c0,(%esp,1)
  100088:	e8 47 50 00 00       	call   1050d4 <printf>
  10008d:	5a                   	pop    %edx
  10008e:	ff 75 08             	pushl  0x8(%ebp)
  100091:	e8 c2 50 00 00       	call   105158 <strlen>
  100096:	29 45 f0             	sub    %eax,0xfffffff0(%ebp)
  100099:	58                   	pop    %eax
  10009a:	ff 75 0c             	pushl  0xc(%ebp)
  10009d:	e8 b6 50 00 00       	call   105158 <strlen>
  1000a2:	29 45 f0             	sub    %eax,0xfffffff0(%ebp)
  1000a5:	83 c4 10             	add    $0x10,%esp
  1000a8:	3b 75 f0             	cmp    0xfffffff0(%ebp),%esi
  1000ab:	7d 16                	jge    1000c3 <LS_Phys+0xc3>
  1000ad:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
  1000b0:	83 ec 0c             	sub    $0xc,%esp
  1000b3:	68 1a 63 10 00       	push   $0x10631a
  1000b8:	e8 17 50 00 00       	call   1050d4 <printf>
  1000bd:	83 c4 10             	add    $0x10,%esp
  1000c0:	4e                   	dec    %esi
  1000c1:	75 ed                	jne    1000b0 <LS_Phys+0xb0>
  1000c3:	83 ec 0c             	sub    $0xc,%esp
  1000c6:	c7 43 18 08 00 00 00 	movl   $0x8,0x18(%ebx)
  1000cd:	68 c3 51 10 00       	push   $0x1051c3
  1000d2:	89 f6                	mov    %esi,%esi
  1000d4:	e8 fb 4f 00 00       	call   1050d4 <printf>
  1000d9:	89 7b 18             	mov    %edi,0x18(%ebx)
  1000dc:	e9 61 ff ff ff       	jmp    100042 <LS_Phys+0x42>
  1000e1:	8d 76 00             	lea    0x0(%esi),%esi
  1000e4:	83 ec 0c             	sub    $0xc,%esp
  1000e7:	c7 43 18 04 00 00 00 	movl   $0x4,0x18(%ebx)
  1000ee:	68 c8 51 10 00       	push   $0x1051c8
  1000f3:	eb df                	jmp    1000d4 <LS_Phys+0xd4>
  1000f5:	8d 76 00             	lea    0x0(%esi),%esi
  1000f8:	83 ec 0c             	sub    $0xc,%esp
  1000fb:	c7 43 18 08 00 00 00 	movl   $0x8,0x18(%ebx)
  100102:	68 d2 51 10 00       	push   $0x1051d2
  100107:	e8 c8 4f 00 00       	call   1050d4 <printf>
  10010c:	c7 43 18 02 00 00 00 	movl   $0x2,0x18(%ebx)
  100113:	c7 04 24 d9 51 10 00 	movl   $0x1051d9,(%esp,1)
  10011a:	eb b8                	jmp    1000d4 <LS_Phys+0xd4>

0010011c <dump>:
*****************************************************************************/
#define BPERL		16	/* byte/line for dump */

void dump(unsigned char *data, unsigned count)
{
  10011c:	55                   	push   %ebp
  10011d:	89 e5                	mov    %esp,%ebp
  10011f:	57                   	push   %edi
  100120:	56                   	push   %esi
  100121:	53                   	push   %ebx
  100122:	83 ec 0c             	sub    $0xc,%esp
  100125:	8b 75 0c             	mov    0xc(%ebp),%esi
	unsigned char byte1, byte2;

	while(count != 0)
  100128:	85 f6                	test   %esi,%esi
  10012a:	0f 84 86 00 00 00    	je     1001b6 <dump+0x9a>
	{
		for(byte1 = 0; byte1 < BPERL; byte1++)
  100130:	31 ff                	xor    %edi,%edi
  100132:	8b 5d 08             	mov    0x8(%ebp),%ebx
  100135:	8d 76 00             	lea    0x0(%esi),%esi
		{
			if(count == 0)
  100138:	85 f6                	test   %esi,%esi
  10013a:	74 1d                	je     100159 <dump+0x3d>
				break;
			printf("%02X ", data[byte1]);
  10013c:	83 ec 08             	sub    $0x8,%esp
  10013f:	0f b6 03             	movzbl (%ebx),%eax
  100142:	50                   	push   %eax
  100143:	68 dd 51 10 00       	push   $0x1051dd
  100148:	47                   	inc    %edi
  100149:	e8 86 4f 00 00       	call   1050d4 <printf>
  10014e:	89 f8                	mov    %edi,%eax
			count--;
  100150:	4e                   	dec    %esi
  100151:	83 c4 10             	add    $0x10,%esp
  100154:	43                   	inc    %ebx
  100155:	3c 0f                	cmp    $0xf,%al
  100157:	76 df                	jbe    100138 <dump+0x1c>
		}
		printf("\t");
  100159:	83 ec 0c             	sub    $0xc,%esp
  10015c:	68 e3 51 10 00       	push   $0x1051e3
  100161:	e8 6e 4f 00 00       	call   1050d4 <printf>
		for(byte2 = 0; byte2 < byte1; byte2++)
  100166:	31 db                	xor    %ebx,%ebx
  100168:	89 fa                	mov    %edi,%edx
  10016a:	83 c4 10             	add    $0x10,%esp
  10016d:	38 d3                	cmp    %dl,%bl
  10016f:	73 29                	jae    10019a <dump+0x7e>
  100171:	8d 76 00             	lea    0x0(%esi),%esi
		{
			if(data[byte2] < ' ')
  100174:	0f b6 c3             	movzbl %bl,%eax
  100177:	8b 55 08             	mov    0x8(%ebp),%edx
  10017a:	8a 04 10             	mov    (%eax,%edx,1),%al
  10017d:	3c 1f                	cmp    $0x1f,%al
  10017f:	77 3f                	ja     1001c0 <dump+0xa4>
				printf("%c", '.');
  100181:	83 ec 08             	sub    $0x8,%esp
  100184:	6a 2e                	push   $0x2e
  100186:	68 e5 51 10 00       	push   $0x1051e5
  10018b:	e8 44 4f 00 00       	call   1050d4 <printf>
  100190:	43                   	inc    %ebx
  100191:	89 f8                	mov    %edi,%eax
			else
				printf("%c", data[byte2]);
  100193:	83 c4 10             	add    $0x10,%esp
  100196:	38 c3                	cmp    %al,%bl
  100198:	72 da                	jb     100174 <dump+0x58>
		}
		printf("\n");
  10019a:	83 ec 0c             	sub    $0xc,%esp
  10019d:	68 f8 5a 10 00       	push   $0x105af8
  1001a2:	e8 2d 4f 00 00       	call   1050d4 <printf>
		data += BPERL;
  1001a7:	83 45 08 10          	addl   $0x10,0x8(%ebp)
  1001ab:	83 c4 10             	add    $0x10,%esp
  1001ae:	85 f6                	test   %esi,%esi
  1001b0:	0f 85 7a ff ff ff    	jne    100130 <dump+0x14>
	}
}
  1001b6:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  1001b9:	5b                   	pop    %ebx
  1001ba:	5e                   	pop    %esi
  1001bb:	5f                   	pop    %edi
  1001bc:	c9                   	leave  
  1001bd:	c3                   	ret    
  1001be:	89 f6                	mov    %esi,%esi
  1001c0:	83 ec 08             	sub    $0x8,%esp
  1001c3:	0f b6 c0             	movzbl %al,%eax
  1001c6:	50                   	push   %eax
  1001c7:	eb bd                	jmp    100186 <dump+0x6a>
  1001c9:	8d 76 00             	lea    0x0(%esi),%esi

001001cc <dump_regs>:
/*****************************************************************************
*****************************************************************************/
void dump_regs(regs_t *regs)
{
  1001cc:	55                   	push   %ebp
  1001cd:	89 e5                	mov    %esp,%ebp
  1001cf:	53                   	push   %ebx
  1001d0:	83 ec 10             	sub    $0x10,%esp
  1001d3:	8b 5d 08             	mov    0x8(%ebp),%ebx
	printf("EDI=%08X ESI=%08X EBP=%08X ESP=%08X\n",
  1001d6:	ff 73 0c             	pushl  0xc(%ebx)
  1001d9:	ff 73 08             	pushl  0x8(%ebx)
  1001dc:	ff 73 04             	pushl  0x4(%ebx)
  1001df:	ff 33                	pushl  (%ebx)
  1001e1:	68 00 52 10 00       	push   $0x105200
  1001e6:	e8 e9 4e 00 00       	call   1050d4 <printf>
		regs->edi, regs->esi, regs->ebp, regs->esp);
	printf("EBX=%08X EDX=%08X ECX=%08X EAX=%08X\n",
  1001eb:	83 c4 14             	add    $0x14,%esp
  1001ee:	ff 73 1c             	pushl  0x1c(%ebx)
  1001f1:	ff 73 18             	pushl  0x18(%ebx)
  1001f4:	ff 73 14             	pushl  0x14(%ebx)
  1001f7:	ff 73 10             	pushl  0x10(%ebx)
  1001fa:	68 40 52 10 00       	push   $0x105240
  1001ff:	e8 d0 4e 00 00       	call   1050d4 <printf>
		regs->ebx, regs->edx, regs->ecx, regs->eax);
	printf(" DS=%08X  ES=%08X  FS=%08X  GS=%08X\n",
  100204:	83 c4 14             	add    $0x14,%esp
  100207:	ff 73 2c             	pushl  0x2c(%ebx)
  10020a:	ff 73 28             	pushl  0x28(%ebx)
  10020d:	ff 73 24             	pushl  0x24(%ebx)
  100210:	ff 73 20             	pushl  0x20(%ebx)
  100213:	68 80 52 10 00       	push   $0x105280
  100218:	e8 b7 4e 00 00       	call   1050d4 <printf>
		regs->ds, regs->es, regs->fs, regs->gs);
	printf("int=%08X err=%08X EIP=%08X  CS=%08X\n",
  10021d:	83 c4 14             	add    $0x14,%esp
  100220:	ff 73 3c             	pushl  0x3c(%ebx)
  100223:	ff 73 38             	pushl  0x38(%ebx)
  100226:	ff 73 34             	pushl  0x34(%ebx)
  100229:	ff 73 30             	pushl  0x30(%ebx)
  10022c:	68 c0 52 10 00       	push   $0x1052c0
  100231:	e8 9e 4e 00 00       	call   1050d4 <printf>
		regs->which_int, regs->err_code, regs->eip, regs->cs);
	printf("uSP=%08X uSS=%08X\n", regs->user_esp, regs->user_ss);
  100236:	83 c4 1c             	add    $0x1c,%esp
  100239:	ff 73 48             	pushl  0x48(%ebx)
  10023c:	ff 73 44             	pushl  0x44(%ebx)
  10023f:	68 e8 51 10 00       	push   $0x1051e8
  100244:	e8 8b 4e 00 00       	call   1050d4 <printf>
}
  100249:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  10024c:	c9                   	leave  
  10024d:	c3                   	ret    
	...

00100250 <keyDown>:
 *
 * @return	void
 */
void keyDown(unsigned key)
{
  100250:	55                   	push   %ebp
  100251:	89 e5                	mov    %esp,%ebp
	key = key; /* to shut gcc up */
}
  100253:	c9                   	leave  
  100254:	c3                   	ret    
  100255:	8d 76 00             	lea    0x0(%esi),%esi

00100258 <keyUp>:

/**
 * keyUp()
 *
 * This function is called when a key is released.
 *
 * @param	unsigned		Which key was released. See keyboard.h
 *
 * @return	void
 */
void keyUp(unsigned key)
{
  100258:	55                   	push   %ebp
  100259:	89 e5                	mov    %esp,%ebp
	key = key; /* to shut gcc up */
}
  10025b:	c9                   	leave  
  10025c:	c3                   	ret    
  10025d:	8d 76 00             	lea    0x0(%esi),%esi

00100260 <initCommands>:

void initCommands(void)
{
  100260:	55                   	push   %ebp
  100261:	89 e5                	mov    %esp,%ebp
  100263:	83 ec 10             	sub    $0x10,%esp
	eshCommands[0].minparams = 0;
	eshCommands[0].maxparams = 0;
	strcpy(eshCommands[0].command, "dumpheap\0");
  100266:	68 00 53 10 00       	push   $0x105300
  10026b:	68 48 3a 18 00       	push   $0x183a48
  100270:	c7 05 40 3a 18 00 00 	movl   $0x0,0x183a40
  100277:	00 00 00 
  10027a:	c7 05 44 3a 18 00 00 	movl   $0x0,0x183a44
  100281:	00 00 00 
  100284:	e8 b3 4e 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[0].params[0], "-h\0");
  100289:	58                   	pop    %eax
  10028a:	5a                   	pop    %edx
  10028b:	68 0a 53 10 00       	push   $0x10530a
  100290:	68 48 3c 18 00       	push   $0x183c48
  100295:	e8 a2 4e 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[0].description, "Print listing of heap usage and status.\0");
  10029a:	59                   	pop    %ecx
  10029b:	58                   	pop    %eax
  10029c:	68 20 53 10 00       	push   $0x105320
  1002a1:	68 48 64 18 00       	push   $0x186448
  1002a6:	e8 91 4e 00 00       	call   10513c <strcpy>

	eshCommands[1].minparams = 1;
	eshCommands[1].maxparams = MAX_PARAMS;
	strcpy(eshCommands[1].params[0], "-h\0");
  1002ab:	58                   	pop    %eax
  1002ac:	5a                   	pop    %edx
  1002ad:	68 0a 53 10 00       	push   $0x10530a
  1002b2:	68 50 68 18 00       	push   $0x186850
  1002b7:	c7 05 48 66 18 00 01 	movl   $0x1,0x186648
  1002be:	00 00 00 
  1002c1:	c7 05 4c 66 18 00 14 	movl   $0x14,0x18664c
  1002c8:	00 00 00 
  1002cb:	e8 6c 4e 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[1].command, "echo\0");
  1002d0:	59                   	pop    %ecx
  1002d1:	58                   	pop    %eax
  1002d2:	68 49 53 10 00       	push   $0x105349
  1002d7:	68 50 66 18 00       	push   $0x186650
  1002dc:	e8 5b 4e 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[1].description, "Echo a line of text to the terminal.\0");
  1002e1:	58                   	pop    %eax
  1002e2:	5a                   	pop    %edx
  1002e3:	68 60 53 10 00       	push   $0x105360
  1002e8:	68 50 90 18 00       	push   $0x189050
  1002ed:	e8 4a 4e 00 00       	call   10513c <strcpy>

	/*this will be called with either "help" or "help command" */
	eshCommands[2].minparams = 0;
	eshCommands[2].maxparams = 1;
	strcpy(eshCommands[2].params[0], "-h\0");
  1002f2:	59                   	pop    %ecx
  1002f3:	58                   	pop    %eax
  1002f4:	68 0a 53 10 00       	push   $0x10530a
  1002f9:	68 58 94 18 00       	push   $0x189458
  1002fe:	c7 05 50 92 18 00 00 	movl   $0x0,0x189250
  100305:	00 00 00 
  100308:	c7 05 54 92 18 00 01 	movl   $0x1,0x189254
  10030f:	00 00 00 
  100312:	e8 25 4e 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[2].command, "help\0");
  100317:	58                   	pop    %eax
  100318:	5a                   	pop    %edx
  100319:	68 86 53 10 00       	push   $0x105386
  10031e:	68 58 92 18 00       	push   $0x189258
  100323:	e8 14 4e 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[2].description, "Displays general help menu or help on specific command.\0");
  100328:	59                   	pop    %ecx
  100329:	58                   	pop    %eax
  10032a:	68 a0 53 10 00       	push   $0x1053a0
  10032f:	68 58 bc 18 00       	push   $0x18bc58
  100334:	e8 03 4e 00 00       	call   10513c <strcpy>

	/* -r|-h [time] */
	eshCommands[3].minparams = 1;
	eshCommands[3].maxparams = 2;
	strcpy(eshCommands[3].command, "shutdown\0");
  100339:	58                   	pop    %eax
  10033a:	5a                   	pop    %edx
  10033b:	68 d9 53 10 00       	push   $0x1053d9
  100340:	68 60 be 18 00       	push   $0x18be60
  100345:	c7 05 58 be 18 00 01 	movl   $0x1,0x18be58
  10034c:	00 00 00 
  10034f:	c7 05 5c be 18 00 02 	movl   $0x2,0x18be5c
  100356:	00 00 00 
  100359:	e8 de 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[3].params[0], "-r\0");
  10035e:	59                   	pop    %ecx
  10035f:	58                   	pop    %eax
  100360:	68 e3 53 10 00       	push   $0x1053e3
  100365:	68 60 c0 18 00       	push   $0x18c060
  10036a:	e8 cd 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[3].params[1], "-h\0");
  10036f:	58                   	pop    %eax
  100370:	5a                   	pop    %edx
  100371:	68 0a 53 10 00       	push   $0x10530a
  100376:	68 60 c2 18 00       	push   $0x18c260
  10037b:	e8 bc 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[3].params[2], "NOW\0");
  100380:	59                   	pop    %ecx
  100381:	58                   	pop    %eax
  100382:	68 e7 53 10 00       	push   $0x1053e7
  100387:	68 60 c4 18 00       	push   $0x18c460
  10038c:	e8 ab 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[3].description, "Halt or restart the system.\0");
  100391:	58                   	pop    %eax
  100392:	5a                   	pop    %edx
  100393:	68 ec 53 10 00       	push   $0x1053ec
  100398:	68 60 e8 18 00       	push   $0x18e860
  10039d:	e8 9a 4d 00 00       	call   10513c <strcpy>

	/* clear screen */
	eshCommands[4].minparams = 0;
	eshCommands[4].maxparams = 0;
	strcpy(eshCommands[4].params[0], "-h\0");
  1003a2:	59                   	pop    %ecx
  1003a3:	58                   	pop    %eax
  1003a4:	68 0a 53 10 00       	push   $0x10530a
  1003a9:	68 68 ec 18 00       	push   $0x18ec68
  1003ae:	c7 05 60 ea 18 00 00 	movl   $0x0,0x18ea60
  1003b5:	00 00 00 
  1003b8:	c7 05 64 ea 18 00 00 	movl   $0x0,0x18ea64
  1003bf:	00 00 00 
  1003c2:	e8 75 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[4].command, "cls\0");
  1003c7:	58                   	pop    %eax
  1003c8:	5a                   	pop    %edx
  1003c9:	68 09 54 10 00       	push   $0x105409
  1003ce:	68 68 ea 18 00       	push   $0x18ea68
  1003d3:	e8 64 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[4].description, "Clears the terminal of all output.\0");
  1003d8:	59                   	pop    %ecx
  1003d9:	58                   	pop    %eax
  1003da:	68 20 54 10 00       	push   $0x105420
  1003df:	68 68 14 19 00       	push   $0x191468
  1003e4:	e8 53 4d 00 00       	call   10513c <strcpy>

	/* print working directory */
	eshCommands[5].minparams = 0;
	eshCommands[5].maxparams = 0;
	strcpy(eshCommands[5].params[0], "-h\0");
  1003e9:	58                   	pop    %eax
  1003ea:	5a                   	pop    %edx
  1003eb:	68 0a 53 10 00       	push   $0x10530a
  1003f0:	68 70 18 19 00       	push   $0x191870
  1003f5:	c7 05 68 16 19 00 00 	movl   $0x0,0x191668
  1003fc:	00 00 00 
  1003ff:	c7 05 6c 16 19 00 00 	movl   $0x0,0x19166c
  100406:	00 00 00 
  100409:	e8 2e 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[5].command, "pwd\0");
  10040e:	59                   	pop    %ecx
  10040f:	58                   	pop    %eax
  100410:	68 44 54 10 00       	push   $0x105444
  100415:	68 70 16 19 00       	push   $0x191670
  10041a:	e8 1d 4d 00 00       	call   10513c <strcpy>
	strcpy(eshCommands[5].description, "Prints the current working directory.\0");
  10041f:	58                   	pop    %eax
  100420:	5a                   	pop    %edx
  100421:	68 60 54 10 00       	push   $0x105460
  100426:	68 70 40 19 00       	push   $0x194070
  10042b:	e8 0c 4d 00 00       	call   10513c <strcpy>
}
  100430:	c9                   	leave  
  100431:	c3                   	ret    
  100432:	89 f6                	mov    %esi,%esi

00100434 <mapCommand>:

/**
 * mapCommand()
 *
 * Used internally by esh to map a command to it's zero-based
 * index of commands.
 *
 * @param	char *	the entire line of the command
 *
 * @return	int		index of command entry if found, otherwise -1
 */
int mapCommand(char *cmd)
{
  100434:	55                   	push   %ebp
  100435:	89 e5                	mov    %esp,%ebp
  100437:	57                   	push   %edi
  100438:	56                   	push   %esi
  100439:	53                   	push   %ebx
  10043a:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
  100440:	8b 75 08             	mov    0x8(%ebp),%esi
	int i;						/* for our loops */
	int params;					/* number of parameters found for the command */
	int previdx;				/* previous index */
	char cmdName[MAX_LEN];	/* name of the command */

	i = 0;
  100443:	31 db                	xor    %ebx,%ebx
  100445:	8d 76 00             	lea    0x0(%esi),%esi
	previdx = 0;
	params = 0;

	/**
	 * Loop while cmd[i] is not a space
	 */
	i = 0;
	for(i = 0; i < (int)strlen(cmd); i++)
  100448:	83 ec 0c             	sub    $0xc,%esp
  10044b:	56                   	push   %esi
  10044c:	e8 07 4d 00 00       	call   105158 <strlen>
  100451:	83 c4 10             	add    $0x10,%esp
  100454:	39 c3                	cmp    %eax,%ebx
  100456:	7d 09                	jge    100461 <mapCommand+0x2d>
	{
		if(cmd[i] == ' ')
  100458:	80 3c 33 20          	cmpb   $0x20,(%ebx,%esi,1)
  10045c:	74 03                	je     100461 <mapCommand+0x2d>
  10045e:	43                   	inc    %ebx
  10045f:	eb e7                	jmp    100448 <mapCommand+0x14>
			break;
	}

	strncpy(cmdName, cmd, i);
  100461:	51                   	push   %ecx
  100462:	53                   	push   %ebx
  100463:	56                   	push   %esi
  100464:	8d bd e8 fd ff ff    	lea    0xfffffde8(%ebp),%edi
  10046a:	57                   	push   %edi
  10046b:	e8 04 4d 00 00       	call   105174 <strncpy>
	cmdName[i] = '\0';

	for(i = 0; i < COMMAND_COUNT; i++)
  100470:	be 48 3a 18 00       	mov    $0x183a48,%esi
  100475:	c6 84 2b e8 fd ff ff 	movb   $0x0,0xfffffde8(%ebx,%ebp,1)
  10047c:	00 
  10047d:	83 c4 10             	add    $0x10,%esp
  100480:	31 db                	xor    %ebx,%ebx
  100482:	89 f6                	mov    %esi,%esi
	{
		if(!strcmp(eshCommands[i].command, cmdName))
  100484:	83 ec 08             	sub    $0x8,%esp
  100487:	57                   	push   %edi
  100488:	56                   	push   %esi
  100489:	e8 62 4c 00 00       	call   1050f0 <strcmp>
  10048e:	83 c4 10             	add    $0x10,%esp
  100491:	85 c0                	test   %eax,%eax
  100493:	89 da                	mov    %ebx,%edx
  100495:	74 11                	je     1004a8 <mapCommand+0x74>
  100497:	43                   	inc    %ebx
  100498:	81 c6 08 2c 00 00    	add    $0x2c08,%esi
  10049e:	83 fb 05             	cmp    $0x5,%ebx
  1004a1:	7e e1                	jle    100484 <mapCommand+0x50>
			return i;
	}

	return -1;
  1004a3:	ba ff ff ff ff       	mov    $0xffffffff,%edx
}
  1004a8:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  1004ab:	5b                   	pop    %ebx
  1004ac:	5e                   	pop    %esi
  1004ad:	89 d0                	mov    %edx,%eax
  1004af:	5f                   	pop    %edi
  1004b0:	c9                   	leave  
  1004b1:	c3                   	ret    
  1004b2:	89 f6                	mov    %esi,%esi

001004b4 <isParam>:

/**
 * isParam()
 *
 * Determines if the supplied parameter is valid for the
 * given command.
 *
 * @param	int		index of command
 * @param	char *	command string
 *
 * @return	bool		true if parameter is valid, false otherwise
 */
bool isParam(int argc, char *argv)
{
  1004b4:	55                   	push   %ebp
  1004b5:	89 e5                	mov    %esp,%ebp
  1004b7:	57                   	push   %edi
  1004b8:	56                   	push   %esi
  1004b9:	53                   	push   %ebx
  1004ba:	83 ec 0c             	sub    $0xc,%esp
  1004bd:	8b 55 08             	mov    0x8(%ebp),%edx
	int i;

	for(i = 0; i < MAX_PARAMS; i++)
  1004c0:	8d 04 92             	lea    (%edx,%edx,4),%eax
  1004c3:	8d 04 42             	lea    (%edx,%eax,2),%eax
  1004c6:	c1 e0 07             	shl    $0x7,%eax
  1004c9:	01 d0                	add    %edx,%eax
  1004cb:	8b 7d 0c             	mov    0xc(%ebp),%edi
  1004ce:	31 f6                	xor    %esi,%esi
  1004d0:	8d 1c c5 48 3c 18 00 	lea    0x183c48(,%eax,8),%ebx
  1004d7:	90                   	nop    
	{
		if(!strcmp(eshCommands[argc].params[i], argv))
  1004d8:	83 ec 08             	sub    $0x8,%esp
  1004db:	57                   	push   %edi
  1004dc:	53                   	push   %ebx
  1004dd:	e8 0e 4c 00 00       	call   1050f0 <strcmp>
  1004e2:	83 c4 10             	add    $0x10,%esp
  1004e5:	85 c0                	test   %eax,%eax
  1004e7:	ba 01 00 00 00       	mov    $0x1,%edx
  1004ec:	74 0e                	je     1004fc <isParam+0x48>
  1004ee:	46                   	inc    %esi
  1004ef:	81 c3 00 02 00 00    	add    $0x200,%ebx
  1004f5:	83 fe 13             	cmp    $0x13,%esi
  1004f8:	7e de                	jle    1004d8 <isParam+0x24>
			return true;
	}

	return false;
  1004fa:	31 d2                	xor    %edx,%edx
}
  1004fc:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  1004ff:	5b                   	pop    %ebx
  100500:	5e                   	pop    %esi
  100501:	89 d0                	mov    %edx,%eax
  100503:	5f                   	pop    %edi
  100504:	c9                   	leave  
  100505:	c3                   	ret    
  100506:	89 f6                	mov    %esi,%esi

00100508 <mapParams>:

/**
 * mapParams()
 *
 * Maps each parameter to the pars struct
 *
 * @param	char *	Buffer from the command line
 * @param	struct	Parameter structure
 *
 * @return	int		Number of command line parameters (arguments) parsed
 */
int mapParams(char *buf, ESHCURRCOMMAND *pars)
{
  100508:	55                   	push   %ebp
  100509:	89 e5                	mov    %esp,%ebp
  10050b:	57                   	push   %edi
  10050c:	56                   	push   %esi
  10050d:	53                   	push   %ebx
  10050e:	83 ec 18             	sub    $0x18,%esp
  100511:	8b 7d 08             	mov    0x8(%ebp),%edi
	int i;						/* for our loops */
	int previdx;				/* previous index */
	int idx;						/* current index */
	int j;						/* loops */

	i = 0;
	j = 0;
	previdx = 0;
	pars->count = 0;
  100514:	8b 45 0c             	mov    0xc(%ebp),%eax
  100517:	c7 00 00 00 00 00    	movl   $0x0,(%eax)

	previdx = mapCommand(buf);
  10051d:	57                   	push   %edi
  10051e:	e8 11 ff ff ff       	call   100434 <mapCommand>
  100523:	89 c2                	mov    %eax,%edx
  100525:	31 f6                	xor    %esi,%esi

	if(previdx == -1)
  100527:	83 c4 10             	add    $0x10,%esp
  10052a:	31 c0                	xor    %eax,%eax
  10052c:	83 fa ff             	cmp    $0xffffffff,%edx
  10052f:	0f 84 0d 01 00 00    	je     100642 <mapParams+0x13a>
		return 0;

	strcpy(pars->param[0], eshCommands[previdx].command);
  100535:	8d 04 92             	lea    (%edx,%edx,4),%eax
  100538:	8d 04 42             	lea    (%edx,%eax,2),%eax
  10053b:	c1 e0 07             	shl    $0x7,%eax
  10053e:	01 d0                	add    %edx,%eax
  100540:	83 ec 08             	sub    $0x8,%esp
  100543:	8d 04 c5 48 3a 18 00 	lea    0x183a48(,%eax,8),%eax
  10054a:	50                   	push   %eax
  10054b:	8b 45 0c             	mov    0xc(%ebp),%eax
  10054e:	83 c0 04             	add    $0x4,%eax
  100551:	50                   	push   %eax
  100552:	e8 e5 4b 00 00       	call   10513c <strcpy>
	j++;
	pars->count++;
  100557:	8b 55 0c             	mov    0xc(%ebp),%edx
  10055a:	ff 02                	incl   (%edx)

	i = 0;
	idx = 0;

	for(i = 0; i < (int)strlen(buf); i++)
  10055c:	83 c4 10             	add    $0x10,%esp
  10055f:	81 c2 00 02 00 00    	add    $0x200,%edx
  100565:	c7 45 ec 01 00 00 00 	movl   $0x1,0xffffffec(%ebp)
  10056c:	89 55 e8             	mov    %edx,0xffffffe8(%ebp)
  10056f:	90                   	nop    
  100570:	83 ec 0c             	sub    $0xc,%esp
  100573:	57                   	push   %edi
  100574:	e8 df 4b 00 00       	call   105158 <strlen>
  100579:	83 c4 10             	add    $0x10,%esp
  10057c:	39 c6                	cmp    %eax,%esi
  10057e:	0f 8d b9 00 00 00    	jge    10063d <mapParams+0x135>
	{
		/* we have encountered a seperator */
		if(buf[i] == ' ')
  100584:	80 3c 3e 20          	cmpb   $0x20,(%esi,%edi,1)
  100588:	74 06                	je     100590 <mapParams+0x88>
  10058a:	46                   	inc    %esi
  10058b:	eb e3                	jmp    100570 <mapParams+0x68>
  10058d:	8d 76 00             	lea    0x0(%esi),%esi
		{
			if(j > MAX_PARAMS)
  100590:	83 7d ec 14          	cmpl   $0x14,0xffffffec(%ebp)
  100594:	0f 8f a3 00 00 00    	jg     10063d <mapParams+0x135>
				break;
			
			i++; /* skip one space */
  10059a:	46                   	inc    %esi

			idx = i;
  10059b:	89 75 f0             	mov    %esi,0xfffffff0(%ebp)

			if(buf[i] == '"')
  10059e:	8a 04 3e             	mov    (%esi,%edi,1),%al
  1005a1:	3c 22                	cmp    $0x22,%al
  1005a3:	74 57                	je     1005fc <mapParams+0xf4>
  1005a5:	8d 76 00             	lea    0x0(%esi),%esi
  1005a8:	3c 20                	cmp    $0x20,%al
  1005aa:	74 16                	je     1005c2 <mapParams+0xba>
  1005ac:	83 ec 0c             	sub    $0xc,%esp
  1005af:	57                   	push   %edi
  1005b0:	e8 a3 4b 00 00       	call   105158 <strlen>
  1005b5:	83 c4 10             	add    $0x10,%esp
  1005b8:	39 c6                	cmp    %eax,%esi
  1005ba:	74 06                	je     1005c2 <mapParams+0xba>
			{
				i++;
				idx++;

				while(buf[i] != '"' && i != (int)strlen(buf))
					i++;

				strncpy(pars->param[j], &buf[idx], (i - idx));
				pars->param[j][i - idx] = '\0';

				idx = i;
				j++;
				pars->count++;
			}
			else
			{
				while(buf[i] != ' ' && i != (int)strlen(buf))
					i++;
  1005bc:	46                   	inc    %esi
  1005bd:	8a 04 3e             	mov    (%esi,%edi,1),%al
  1005c0:	eb e6                	jmp    1005a8 <mapParams+0xa0>
			
				strncpy(pars->param[j], &buf[idx], i - idx);
  1005c2:	53                   	push   %ebx
  1005c3:	89 f3                	mov    %esi,%ebx
  1005c5:	2b 5d f0             	sub    0xfffffff0(%ebp),%ebx
  1005c8:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  1005cb:	53                   	push   %ebx
  1005cc:	8d 04 3a             	lea    (%edx,%edi,1),%eax
  1005cf:	50                   	push   %eax
  1005d0:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  1005d3:	83 c0 04             	add    $0x4,%eax
  1005d6:	50                   	push   %eax
  1005d7:	e8 98 4b 00 00       	call   105174 <strncpy>
				pars->param[j][i - idx] = '\0';
  1005dc:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  1005df:	c6 44 03 04 00       	movb   $0x0,0x4(%ebx,%eax,1)
				i = idx;
  1005e4:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
				j++;
  1005e7:	05 00 02 00 00       	add    $0x200,%eax
				pars->count++;
  1005ec:	8b 55 0c             	mov    0xc(%ebp),%edx
  1005ef:	ff 45 ec             	incl   0xffffffec(%ebp)
  1005f2:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
  1005f5:	ff 02                	incl   (%edx)
  1005f7:	83 c4 10             	add    $0x10,%esp
  1005fa:	eb 8e                	jmp    10058a <mapParams+0x82>
  1005fc:	46                   	inc    %esi
  1005fd:	ff 45 f0             	incl   0xfffffff0(%ebp)
  100600:	80 3c 3e 22          	cmpb   $0x22,(%esi,%edi,1)
  100604:	74 13                	je     100619 <mapParams+0x111>
  100606:	83 ec 0c             	sub    $0xc,%esp
  100609:	57                   	push   %edi
  10060a:	e8 49 4b 00 00       	call   105158 <strlen>
  10060f:	83 c4 10             	add    $0x10,%esp
  100612:	39 c6                	cmp    %eax,%esi
  100614:	74 03                	je     100619 <mapParams+0x111>
  100616:	46                   	inc    %esi
  100617:	eb e7                	jmp    100600 <mapParams+0xf8>
  100619:	89 f3                	mov    %esi,%ebx
  10061b:	2b 5d f0             	sub    0xfffffff0(%ebp),%ebx
  10061e:	8b 55 f0             	mov    0xfffffff0(%ebp),%edx
  100621:	50                   	push   %eax
  100622:	53                   	push   %ebx
  100623:	8d 04 3a             	lea    (%edx,%edi,1),%eax
  100626:	50                   	push   %eax
  100627:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  10062a:	83 c0 04             	add    $0x4,%eax
  10062d:	50                   	push   %eax
  10062e:	e8 41 4b 00 00       	call   105174 <strncpy>
  100633:	8b 45 e8             	mov    0xffffffe8(%ebp),%eax
  100636:	c6 44 03 04 00       	movb   $0x0,0x4(%ebx,%eax,1)
  10063b:	eb aa                	jmp    1005e7 <mapParams+0xdf>
			}
		}
	}
	
	return pars->count;
  10063d:	8b 55 0c             	mov    0xc(%ebp),%edx
  100640:	8b 02                	mov    (%edx),%eax
}
  100642:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  100645:	5b                   	pop    %ebx
  100646:	5e                   	pop    %esi
  100647:	5f                   	pop    %edi
  100648:	c9                   	leave  
  100649:	c3                   	ret    
  10064a:	89 f6                	mov    %esi,%esi

0010064c <processCommand>:

/**
 * processCommand()
 *
 * This function is called when the user has pressed
 * the ENTER key.
 *
 * @param	char *	The contents of the current buffer or NULL if empty
 * @param	int		Size of the buffer (number of characters)
 *
 * @return	void
 */
void processCommand(char *line, int count)
{
  10064c:	55                   	push   %ebp
  10064d:	89 e5                	mov    %esp,%ebp
  10064f:	57                   	push   %edi
  100650:	56                   	push   %esi
  100651:	53                   	push   %ebx
  100652:	81 ec 1c 50 00 00    	sub    $0x501c,%esp
  100658:	8b 75 08             	mov    0x8(%ebp),%esi
	int i;
	int cmd;		/* stores the numeric index of the command */
	ESHCURRCOMMAND params;

	count = count; /* to shut gcc up */

	/*for(i = 0; i < MAX_PARAMS; i++)
		params.param[i][0] = '\0';*/
	params.param[0][0] = '\0';
  10065b:	c6 85 dc af ff ff 00 	movb   $0x0,0xffffafdc(%ebp)
	
	initCommands();
  100662:	e8 f9 fb ff ff       	call   100260 <initCommands>

	cmd = mapCommand(line);
  100667:	83 ec 0c             	sub    $0xc,%esp
  10066a:	56                   	push   %esi
  10066b:	e8 c4 fd ff ff       	call   100434 <mapCommand>
	mapParams(line, &params);
  100670:	5f                   	pop    %edi
  100671:	89 c3                	mov    %eax,%ebx
  100673:	8d bd d8 af ff ff    	lea    0xffffafd8(%ebp),%edi
  100679:	58                   	pop    %eax
  10067a:	57                   	push   %edi
  10067b:	56                   	push   %esi
  10067c:	e8 87 fe ff ff       	call   100508 <mapParams>

	switch(cmd)
  100681:	83 c4 10             	add    $0x10,%esp
  100684:	83 fb 01             	cmp    $0x1,%ebx
  100687:	0f 84 13 01 00 00    	je     1007a0 <processCommand+0x154>
  10068d:	83 fb 01             	cmp    $0x1,%ebx
  100690:	0f 8e f6 00 00 00    	jle    10078c <processCommand+0x140>
  100696:	83 fb 02             	cmp    $0x2,%ebx
  100699:	74 4a                	je     1006e5 <processCommand+0x99>
	{
		case 0:	/* dumpheap */
			dumpheapk();
			//testheap();
			break;
		case 1:	/* echo */
			for(i = 1; i < params.count; i++)
				printf("%s", params.param[i]);

			printf("\n");
			break;
		case 2:	/* help */
			if(params.count == 1)
			{
				printf("HybOS EShell Commands:\n");
				for(i = 0; i < COMMAND_COUNT; i++)
					if(strlen(eshCommands[i].command) > 0)
						printf("%10s %-s\n", eshCommands[i].command, eshCommands[i].description);
			}
			else
			{
				cmd = mapCommand(params.param[0]);
				mapParams(params.param[1], &params);
				
				//if(isParam(cmd, params.param[1]))
				if(cmd != -1)
				{
					printf("Usage: %s %s\n", params.param[0], eshCommands[cmd].params[1]);
				}
				else
					printf("esh: '%s' not found.\n", params.param[1]);
			}
			break;
		default:
			if(strlen(params.param[0]) > 0 && strcmp(params.param[0], "help"))
  10069b:	83 ec 0c             	sub    $0xc,%esp
  10069e:	8d 9d dc af ff ff    	lea    0xffffafdc(%ebp),%ebx
  1006a4:	53                   	push   %ebx
  1006a5:	e8 ae 4a 00 00       	call   105158 <strlen>
  1006aa:	83 c4 10             	add    $0x10,%esp
  1006ad:	85 c0                	test   %eax,%eax
  1006af:	74 15                	je     1006c6 <processCommand+0x7a>
  1006b1:	83 ec 08             	sub    $0x8,%esp
  1006b4:	68 87 54 10 00       	push   $0x105487
  1006b9:	53                   	push   %ebx
  1006ba:	e8 31 4a 00 00       	call   1050f0 <strcmp>
  1006bf:	83 c4 10             	add    $0x10,%esp
  1006c2:	85 c0                	test   %eax,%eax
  1006c4:	75 19                	jne    1006df <processCommand+0x93>
				printf("esh: '%s' not found.\n", params.param[0]);
			else
				printf("esh: '%s' not found.\n", &line[0]);
  1006c6:	83 ec 08             	sub    $0x8,%esp
  1006c9:	56                   	push   %esi
  1006ca:	68 8c 54 10 00       	push   $0x10548c
  1006cf:	e8 00 4a 00 00       	call   1050d4 <printf>
  1006d4:	83 c4 10             	add    $0x10,%esp
			break;
	}

	/*for(i = 0; i < params.count; i++)
		printf("param[%i]: %s\n", i, params.param[i]);*/

	//if(isParam(3, &params.param[1]))
	//	printf("valid parameter\n");
	//else
	//	printf("invalid parameter\n");

	return;

	if(!strcmp(line, "dumpheap"))
		dumpheapk();
	else if(!strncmp(line, "echo", 4))
		printf("%s\n", line[4] == ' ' ? &line[5] : &line[4]);
	else if(!strcmp(line, "help"))
	{
		printf("HybOS EShell Commands:\n");
		printf("dumpheap\tPrint listing of heap usage and status\n");
		printf("testheap\tTest the heap and print out results\n");
		printf("shutdown -r\tRestart the system.\n");
		printf("pwd\t\tPrint the current working directory.\n");
	}
	else if(!strncmp(line, "shutdown", 8))
	{
		if(strlen(line) > 9 && !strncmp(&line[9], "-r", 2))
		{
			printf("\nSystem shutdown from vtty%u\n", get_current_vc());
			printf("Restarting...");
			//reboot();
		}
		else
		{
			if((strlen(line) > 9) && (strlen(&line[9]) > 0))
				printf("shutdown: Invalid argument \"%s\".\n", &line[9]);
			else
				printf("Usage: shutdown -r\n");
		}
	}
	else if((strlen(line) > 0) && (!strcmp(line, "cls")))
	{
		printf("\x1B[2J");
	}
	else if((strlen(line) >= 8) && (!strcmp(line, "testheap")))
	{
		//testheap();
	}
	else if((strlen(line) > 0) && (!strcmp(line, "pwd")))
		printf("/\n");
	else if(strlen(line) > 0)
		printf("eshell: \"%s\" not found.\n", line);
}
  1006d7:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  1006da:	5b                   	pop    %ebx
  1006db:	5e                   	pop    %esi
  1006dc:	5f                   	pop    %edi
  1006dd:	c9                   	leave  
  1006de:	c3                   	ret    
  1006df:	83 ec 08             	sub    $0x8,%esp
  1006e2:	53                   	push   %ebx
  1006e3:	eb e5                	jmp    1006ca <processCommand+0x7e>
  1006e5:	83 bd d8 af ff ff 01 	cmpl   $0x1,0xffffafd8(%ebp)
  1006ec:	74 4a                	je     100738 <processCommand+0xec>
  1006ee:	83 ec 0c             	sub    $0xc,%esp
  1006f1:	8d 85 dc af ff ff    	lea    0xffffafdc(%ebp),%eax
  1006f7:	50                   	push   %eax
  1006f8:	e8 37 fd ff ff       	call   100434 <mapCommand>
  1006fd:	89 c3                	mov    %eax,%ebx
  1006ff:	58                   	pop    %eax
  100700:	5a                   	pop    %edx
  100701:	57                   	push   %edi
  100702:	8d b5 dc b1 ff ff    	lea    0xffffb1dc(%ebp),%esi
  100708:	56                   	push   %esi
  100709:	e8 fa fd ff ff       	call   100508 <mapParams>
  10070e:	83 c4 10             	add    $0x10,%esp
  100711:	83 fb ff             	cmp    $0xffffffff,%ebx
  100714:	74 b0                	je     1006c6 <processCommand+0x7a>
  100716:	50                   	push   %eax
  100717:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
  10071a:	8d 04 43             	lea    (%ebx,%eax,2),%eax
  10071d:	c1 e0 07             	shl    $0x7,%eax
  100720:	01 d8                	add    %ebx,%eax
  100722:	8d 04 c5 48 3e 18 00 	lea    0x183e48(,%eax,8),%eax
  100729:	50                   	push   %eax
  10072a:	8d 85 dc af ff ff    	lea    0xffffafdc(%ebp),%eax
  100730:	50                   	push   %eax
  100731:	68 a2 54 10 00       	push   $0x1054a2
  100736:	eb 97                	jmp    1006cf <processCommand+0x83>
  100738:	83 ec 0c             	sub    $0xc,%esp
  10073b:	68 b0 54 10 00       	push   $0x1054b0
  100740:	e8 8f 49 00 00       	call   1050d4 <printf>
  100745:	31 ff                	xor    %edi,%edi
  100747:	83 c4 10             	add    $0x10,%esp
  10074a:	be 05 00 00 00       	mov    $0x5,%esi
  10074f:	90                   	nop    
  100750:	83 ec 0c             	sub    $0xc,%esp
  100753:	8d 9f 48 3a 18 00    	lea    0x183a48(%edi),%ebx
  100759:	53                   	push   %ebx
  10075a:	e8 f9 49 00 00       	call   105158 <strlen>
  10075f:	83 c4 10             	add    $0x10,%esp
  100762:	85 c0                	test   %eax,%eax
  100764:	75 0e                	jne    100774 <processCommand+0x128>
  100766:	81 c7 08 2c 00 00    	add    $0x2c08,%edi
  10076c:	4e                   	dec    %esi
  10076d:	79 e1                	jns    100750 <processCommand+0x104>
  10076f:	e9 63 ff ff ff       	jmp    1006d7 <processCommand+0x8b>
  100774:	8d 87 48 64 18 00    	lea    0x186448(%edi),%eax
  10077a:	51                   	push   %ecx
  10077b:	50                   	push   %eax
  10077c:	53                   	push   %ebx
  10077d:	68 c8 54 10 00       	push   $0x1054c8
  100782:	e8 4d 49 00 00       	call   1050d4 <printf>
  100787:	83 c4 10             	add    $0x10,%esp
  10078a:	eb da                	jmp    100766 <processCommand+0x11a>
  10078c:	85 db                	test   %ebx,%ebx
  10078e:	0f 85 07 ff ff ff    	jne    10069b <processCommand+0x4f>
  100794:	e8 83 38 00 00       	call   10401c <dumpheapk>
  100799:	e9 39 ff ff ff       	jmp    1006d7 <processCommand+0x8b>
  10079e:	89 f6                	mov    %esi,%esi
  1007a0:	3b 9d d8 af ff ff    	cmp    0xffffafd8(%ebp),%ebx
  1007a6:	be 01 00 00 00       	mov    $0x1,%esi
  1007ab:	7d 27                	jge    1007d4 <processCommand+0x188>
  1007ad:	8d 9d dc b1 ff ff    	lea    0xffffb1dc(%ebp),%ebx
  1007b3:	90                   	nop    
  1007b4:	83 ec 08             	sub    $0x8,%esp
  1007b7:	53                   	push   %ebx
  1007b8:	68 bd 51 10 00       	push   $0x1051bd
  1007bd:	46                   	inc    %esi
  1007be:	e8 11 49 00 00       	call   1050d4 <printf>
  1007c3:	81 c3 00 02 00 00    	add    $0x200,%ebx
  1007c9:	83 c4 10             	add    $0x10,%esp
  1007cc:	3b b5 d8 af ff ff    	cmp    0xffffafd8(%ebp),%esi
  1007d2:	7c e0                	jl     1007b4 <processCommand+0x168>
  1007d4:	83 ec 0c             	sub    $0xc,%esp
  1007d7:	68 f8 5a 10 00       	push   $0x105af8
  1007dc:	e9 ee fe ff ff       	jmp    1006cf <processCommand+0x83>
  1007e1:	00 00                	add    %al,(%eax)
	...

001007e4 <reboot>:
 * reboot()
 *
 */
static void reboot(void)
{
  1007e4:	55                   	push   %ebp
  1007e5:	89 e5                	mov    %esp,%ebp
  1007e7:	53                   	push   %ebx
  1007e8:	50                   	push   %eax
	unsigned temp;

	disable();
  1007e9:	e8 da 44 00 00       	call   104cc8 <disable>

	/**
	 * flush the keyboard controller
	 */
	do
	{
		temp = inportb(0x64);
  1007ee:	83 ec 0c             	sub    $0xc,%esp
  1007f1:	6a 64                	push   $0x64
  1007f3:	e8 1c 48 00 00       	call   105014 <inportb>
		if((temp & 0x01) != 0)
  1007f8:	83 c4 10             	add    $0x10,%esp
  1007fb:	a8 01                	test   $0x1,%al
  1007fd:	89 c3                	mov    %eax,%ebx
  1007ff:	75 19                	jne    10081a <reboot+0x36>
		{
			(void)inportb(0x60);
			continue;
		}
	} while((temp & 0x02) != 0);
  100801:	83 e3 02             	and    $0x2,%ebx
  100804:	75 e8                	jne    1007ee <reboot+0xa>

	/**
	 * now pulse the cpu reset line
	 */
	outportb(0x64, 0xFE);
  100806:	83 ec 08             	sub    $0x8,%esp
  100809:	68 fe 00 00 00       	push   $0xfe
  10080e:	6a 64                	push   $0x64
  100810:	e8 9f 48 00 00       	call   1050b4 <outportb>

	/**
	 * if that didn't work, just halt
	 */
	while(1);
  100815:	83 c4 10             	add    $0x10,%esp
  100818:	eb fe                	jmp    100818 <reboot+0x34>
  10081a:	83 ec 0c             	sub    $0xc,%esp
  10081d:	6a 60                	push   $0x60
  10081f:	e8 f0 47 00 00       	call   105014 <inportb>
  100824:	83 c4 10             	add    $0x10,%esp
  100827:	eb d8                	jmp    100801 <reboot+0x1d>
  100829:	8d 76 00             	lea    0x0(%esi),%esi

0010082c <_write_kb>:
}

/**
 * XXX
 *
 * I'm not even sure if we need the following functions yet,
 * however they are here just in case. Leave them alone.
 */

/**
 * _write_kb()
 * 
 */
static void _write_kb(unsigned adr, unsigned d)
{
  10082c:	55                   	push   %ebp
  10082d:	89 e5                	mov    %esp,%ebp
  10082f:	57                   	push   %edi
  100830:	56                   	push   %esi
  100831:	53                   	push   %ebx
  100832:	83 ec 0c             	sub    $0xc,%esp
  100835:	8b 7d 08             	mov    0x8(%ebp),%edi
  100838:	8b 75 0c             	mov    0xc(%ebp),%esi
	unsigned long t;
	unsigned s;

	for(t = 5000000L; t != 0; t--)
  10083b:	bb 40 4b 4c 00       	mov    $0x4c4b40,%ebx
	{
		s = inportb(0x64);
  100840:	83 ec 0c             	sub    $0xc,%esp
  100843:	6a 64                	push   $0x64
  100845:	e8 ca 47 00 00       	call   105014 <inportb>

		/**
		 * loop until 8042 input buffer is empty
		 */
		if((s & 0x02) == 0)
  10084a:	83 c4 10             	add    $0x10,%esp
  10084d:	a8 02                	test   $0x2,%al
  10084f:	74 0b                	je     10085c <_write_kb+0x30>
  100851:	4b                   	dec    %ebx
  100852:	75 ec                	jne    100840 <_write_kb+0x14>
			break;
	}

	if(t != 0)
		outportb(adr, d);
}
  100854:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  100857:	5b                   	pop    %ebx
  100858:	5e                   	pop    %esi
  100859:	5f                   	pop    %edi
  10085a:	c9                   	leave  
  10085b:	c3                   	ret    
  10085c:	85 db                	test   %ebx,%ebx
  10085e:	74 f4                	je     100854 <_write_kb+0x28>
  100860:	89 75 0c             	mov    %esi,0xc(%ebp)
  100863:	89 7d 08             	mov    %edi,0x8(%ebp)
  100866:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  100869:	5b                   	pop    %ebx
  10086a:	5e                   	pop    %esi
  10086b:	5f                   	pop    %edi
  10086c:	c9                   	leave  
  10086d:	e9 42 48 00 00       	jmp    1050b4 <outportb>
  100872:	89 f6                	mov    %esi,%esi

00100874 <_translate_sc>:

/**
 * _kb_wait()
 *
 */
static inline void _kb_wait(void)
{
	int i;

	for(i = 0; i < 0x1000000; i++)
		if((inportb(0x64) & 0x02) == 0)
			return;

	printk(0, "Keyboard timeout\n");
}

/**
 * _kb_send()
 *
 */
static inline void _kb_send(unsigned char c)
{
	_kb_wait();
	outportb(c, 0x64);
}

/**
 * _translate_sc()
 *
 * Translates a scancode from the keyboard
 */
unsigned _translate_sc(unsigned k)
{
  100874:	55                   	push   %ebp
  100875:	89 e5                	mov    %esp,%ebp
  100877:	83 ec 08             	sub    $0x8,%esp
  10087a:	8b 45 08             	mov    0x8(%ebp),%eax
	unsigned c;
	static unsigned altk;
	unsigned donefirst = 0;

	if(k == KEY_BKSPACE)
  10087d:	83 f8 0e             	cmp    $0xe,%eax
  100880:	0f 84 f2 09 00 00    	je     101278 <_translate_sc+0xa04>
	{
		if(numkeysbuffer - 1 < 0)
		{
			numkeysbuffer = 0;
			return 0;
		}
	}

	switch(k)
  100886:	3d e0 00 00 00       	cmp    $0xe0,%eax
  10088b:	0f 87 d3 09 00 00    	ja     101264 <_translate_sc+0x9f0>
  100891:	ff 24 85 dc 54 10 00 	jmp    *0x1054dc(,%eax,4)
	{
		case 0xE0:
			altk = 1; c = 0; donefirst = 1; break;
  100898:	31 d2                	xor    %edx,%edx
  10089a:	c7 05 00 80 10 00 01 	movl   $0x1,0x108000
  1008a1:	00 00 00 
		case KEY_TILDA:	/* ` or ~ */
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 126 : 126; break;
		case KEY_END: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 49; break;
		case KEY_1:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 33 : 49; break;
		case KEY_DOWN: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 50; break;
		case KEY_2:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 64 : 50; break;
		case KEY_PGDOWN: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 51; break;
		case KEY_3:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 35 : 51; break;
		case KEY_LEFT: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 52; break;
		case KEY_4:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 36 : 52; break;
		case KEYP_5: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 53; break;
		case KEY_5:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 35 : 53; break;
		case KEY_RIGHT: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 54; break;
		case KEY_6:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 94 : 54; break;
		case KEY_HOME: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 55; break;
		case KEY_7:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 38 : 55; break;
		case KEY_UP: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 56; break;
		case KEYP_ASTERISK: c = 42; break;
		case KEY_8:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 42 : 56; break;
		case KEY_PGUP: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 57; break;
		case KEY_9:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 40 : 57; break;
		case KEY_INSERT: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 48; break;
		case KEY_0:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 41 : 48; break;
		case KEYP_MINUS: c = 45; break;
		case KEY_MINUS:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 95 : 45; break;
		case KEYP_PLUS: c = 43; break;
		case KEY_PLUS:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 61 : 43; break;
		case KEY_BKSLASH:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 124 : 92; break;
		case KEY_Q:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 81 : 113; break;
		case KEY_W:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 87 : 119; break;
		case KEY_E:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 69 : 101; break;
		case KEY_R:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 82 : 114; break;
		case KEY_T:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 84 : 116; break;
		case KEY_Y:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 89 : 121; break;
		case KEY_U:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 85 : 117; break;
		case KEY_I:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 73 : 105; break;
		case KEY_O:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 79 : 111; break;
		case KEY_P:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 80 : 112; break;
		case KEY_LBRACKET:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 123 : 91; break;
		case KEY_RBRACKET:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 125 : 93; break;
		case KEY_ENTER:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 10 : 10; break;
		case KEY_A:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 65 : 97; break;
		case KEY_S:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 83 : 115; break;
		case KEY_D:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 68 : 100; break;
		case KEY_F:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 70 : 102; break;
		case KEY_G:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 71 : 103; break;
		case KEY_H:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 72 : 104; break;
		case KEY_J:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 74 : 106; break;
		case KEY_K:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 75 : 107; break;
		case KEY_L:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 76 : 108; break;
		case KEY_SEMICOLON:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 58 : 59; break;
		case KEY_QUOTE:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 34 : 39; break;
		case KEY_Z:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 90 : 122; break;
		case KEY_X:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 88 : 120; break;
		case KEY_C:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 67 : 99; break;
		case KEY_V:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 86 : 118; break;
		case KEY_B:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 66 : 98; break;
		case KEY_N:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 78 : 110; break;
		case KEY_M:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 77 : 109; break;
		case KEY_COMMA:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 60 : 44; break;
		case KEY_DEL: c = 0; if(keys[KEYP_NUMLCK] && altk == 0) c = 46; break;
		case KEY_PERIOD:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 62 : 46; break;
		case KEY_SLASH:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 63 : 47; break;
		case KEY_SPACE:
			c = (keys[KEY_LSHIFT] || keys[KEY_RSHIFT]) ? 32 : 32; break;
		case KEY_BKSPACE: c = '\b'; break; /* just for now */
		default:
			c = 0;
	}

	if(donefirst == 0)
		altk = 0;

	if(keys[KEY_CAPS])
  1008a4:	a1 28 84 10 00       	mov    0x108428,%eax
  1008a9:	85 c0                	test   %eax,%eax
  1008ab:	74 23                	je     1008d0 <_translate_sc+0x5c>
	{
		if(keys[KEY_LSHIFT] || keys[KEY_RSHIFT])
  1008ad:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  1008b2:	85 c0                	test   %eax,%eax
  1008b4:	75 0d                	jne    1008c3 <_translate_sc+0x4f>
  1008b6:	a1 18 84 10 00       	mov    0x108418,%eax
  1008bb:	85 c0                	test   %eax,%eax
  1008bd:	0f 84 bd 00 00 00    	je     100980 <_translate_sc+0x10c>
		{
			if(c >= 'A' && c <= 'Z')
  1008c3:	8d 42 bf             	lea    0xffffffbf(%edx),%eax
  1008c6:	83 f8 19             	cmp    $0x19,%eax
  1008c9:	77 05                	ja     1008d0 <_translate_sc+0x5c>
				c += 32;
  1008cb:	83 c2 20             	add    $0x20,%edx
  1008ce:	89 f6                	mov    %esi,%esi
		}
		else
		{
			if(c >= 'a' && c <= 'z')
				c -= 32;
		}
	}

	/**
	 * Simple shell for now
	 */
	if(c != 0 && c != '\n' && c != '\b')
  1008d0:	85 d2                	test   %edx,%edx
  1008d2:	74 38                	je     10090c <_translate_sc+0x98>
  1008d4:	83 fa 0a             	cmp    $0xa,%edx
  1008d7:	74 63                	je     10093c <_translate_sc+0xc8>
  1008d9:	83 fa 08             	cmp    $0x8,%edx
  1008dc:	74 2e                	je     10090c <_translate_sc+0x98>
	{
		if((numkeysbuffer - 1) == KBD_BUF_SIZE)
  1008de:	a1 40 85 10 00       	mov    0x108540,%eax
  1008e3:	83 f8 41             	cmp    $0x41,%eax
  1008e6:	74 10                	je     1008f8 <_translate_sc+0x84>
		{
			numkeysbuffer = 0;
			szInBuf[0] = '\0';
		
			szInBuf[numkeysbuffer] = c;
			numkeysbuffer++;
		}
		else
		{
			szInBuf[numkeysbuffer] = c;
  1008e8:	88 90 60 85 10 00    	mov    %dl,0x108560(%eax)
			numkeysbuffer++;
  1008ee:	40                   	inc    %eax
  1008ef:	a3 40 85 10 00       	mov    %eax,0x108540
		}
	}
	else if(c == '\n')
	{
		printf("\n");
		/**
		 * Make it a real string
		 */
		szInBuf[numkeysbuffer] = '\0';

		/**
		 * Process command
		 */
		processCommand(&szInBuf[0], numkeysbuffer - 1);

		/**
		 * Clear buffer
		 */
		numkeysbuffer = 0;
		szInBuf[0] = '\0';

		/**
		 * Print "line"
		 */
		printf("$ ");

		c = 0;
	}
	else if(c == '\b')
	{
		szInBuf[numkeysbuffer] = '\0';
		numkeysbuffer--;
		printf("\b \b");

		c = 0;
	}
	
	return c;
  1008f4:	89 d0                	mov    %edx,%eax
}
  1008f6:	c9                   	leave  
  1008f7:	c3                   	ret    
  1008f8:	88 15 60 85 10 00    	mov    %dl,0x108560
  1008fe:	c7 05 40 85 10 00 01 	movl   $0x1,0x108540
  100905:	00 00 00 
  100908:	eb ea                	jmp    1008f4 <_translate_sc+0x80>
  10090a:	89 f6                	mov    %esi,%esi
  10090c:	83 fa 0a             	cmp    $0xa,%edx
  10090f:	74 2b                	je     10093c <_translate_sc+0xc8>
  100911:	83 fa 08             	cmp    $0x8,%edx
  100914:	75 de                	jne    1008f4 <_translate_sc+0x80>
  100916:	a1 40 85 10 00       	mov    0x108540,%eax
  10091b:	c6 80 60 85 10 00 00 	movb   $0x0,0x108560(%eax)
  100922:	83 ec 0c             	sub    $0xc,%esp
  100925:	48                   	dec    %eax
  100926:	a3 40 85 10 00       	mov    %eax,0x108540
  10092b:	68 d2 54 10 00       	push   $0x1054d2
  100930:	e8 9f 47 00 00       	call   1050d4 <printf>
  100935:	31 d2                	xor    %edx,%edx
  100937:	83 c4 10             	add    $0x10,%esp
  10093a:	eb b8                	jmp    1008f4 <_translate_sc+0x80>
  10093c:	83 ec 0c             	sub    $0xc,%esp
  10093f:	68 f8 5a 10 00       	push   $0x105af8
  100944:	e8 8b 47 00 00       	call   1050d4 <printf>
  100949:	a1 40 85 10 00       	mov    0x108540,%eax
  10094e:	5a                   	pop    %edx
  10094f:	59                   	pop    %ecx
  100950:	c6 80 60 85 10 00 00 	movb   $0x0,0x108560(%eax)
  100957:	48                   	dec    %eax
  100958:	50                   	push   %eax
  100959:	68 60 85 10 00       	push   $0x108560
  10095e:	e8 e9 fc ff ff       	call   10064c <processCommand>
  100963:	c7 05 40 85 10 00 00 	movl   $0x0,0x108540
  10096a:	00 00 00 
  10096d:	c6 05 60 85 10 00 00 	movb   $0x0,0x108560
  100974:	c7 04 24 d6 54 10 00 	movl   $0x1054d6,(%esp,1)
  10097b:	eb b3                	jmp    100930 <_translate_sc+0xbc>
  10097d:	8d 76 00             	lea    0x0(%esi),%esi
  100980:	8d 42 9f             	lea    0xffffff9f(%edx),%eax
  100983:	83 f8 19             	cmp    $0x19,%eax
  100986:	0f 87 44 ff ff ff    	ja     1008d0 <_translate_sc+0x5c>
  10098c:	83 ea 20             	sub    $0x20,%edx
  10098f:	e9 3c ff ff ff       	jmp    1008d0 <_translate_sc+0x5c>
  100994:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100999:	85 c0                	test   %eax,%eax
  10099b:	75 09                	jne    1009a6 <_translate_sc+0x132>
  10099d:	a1 18 84 10 00       	mov    0x108418,%eax
  1009a2:	85 c0                	test   %eax,%eax
  1009a4:	74 15                	je     1009bb <_translate_sc+0x147>
  1009a6:	ba 21 00 00 00       	mov    $0x21,%edx
  1009ab:	90                   	nop    
  1009ac:	c7 05 00 80 10 00 00 	movl   $0x0,0x108000
  1009b3:	00 00 00 
  1009b6:	e9 e9 fe ff ff       	jmp    1008a4 <_translate_sc+0x30>
  1009bb:	ba 31 00 00 00       	mov    $0x31,%edx
  1009c0:	eb ea                	jmp    1009ac <_translate_sc+0x138>
  1009c2:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  1009c8:	85 d2                	test   %edx,%edx
  1009ca:	75 09                	jne    1009d5 <_translate_sc+0x161>
  1009cc:	a1 18 84 10 00       	mov    0x108418,%eax
  1009d1:	85 c0                	test   %eax,%eax
  1009d3:	74 07                	je     1009dc <_translate_sc+0x168>
  1009d5:	ba 40 00 00 00       	mov    $0x40,%edx
  1009da:	eb d0                	jmp    1009ac <_translate_sc+0x138>
  1009dc:	ba 32 00 00 00       	mov    $0x32,%edx
  1009e1:	eb c9                	jmp    1009ac <_translate_sc+0x138>
  1009e3:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  1009e8:	85 c0                	test   %eax,%eax
  1009ea:	75 09                	jne    1009f5 <_translate_sc+0x181>
  1009ec:	a1 18 84 10 00       	mov    0x108418,%eax
  1009f1:	85 c0                	test   %eax,%eax
  1009f3:	74 07                	je     1009fc <_translate_sc+0x188>
  1009f5:	ba 23 00 00 00       	mov    $0x23,%edx
  1009fa:	eb b0                	jmp    1009ac <_translate_sc+0x138>
  1009fc:	ba 33 00 00 00       	mov    $0x33,%edx
  100a01:	eb a9                	jmp    1009ac <_translate_sc+0x138>
  100a03:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100a09:	85 d2                	test   %edx,%edx
  100a0b:	75 09                	jne    100a16 <_translate_sc+0x1a2>
  100a0d:	a1 18 84 10 00       	mov    0x108418,%eax
  100a12:	85 c0                	test   %eax,%eax
  100a14:	74 07                	je     100a1d <_translate_sc+0x1a9>
  100a16:	ba 24 00 00 00       	mov    $0x24,%edx
  100a1b:	eb 8f                	jmp    1009ac <_translate_sc+0x138>
  100a1d:	ba 34 00 00 00       	mov    $0x34,%edx
  100a22:	eb 88                	jmp    1009ac <_translate_sc+0x138>
  100a24:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100a29:	85 c0                	test   %eax,%eax
  100a2b:	75 09                	jne    100a36 <_translate_sc+0x1c2>
  100a2d:	a1 18 84 10 00       	mov    0x108418,%eax
  100a32:	85 c0                	test   %eax,%eax
  100a34:	74 0a                	je     100a40 <_translate_sc+0x1cc>
  100a36:	ba 23 00 00 00       	mov    $0x23,%edx
  100a3b:	e9 6c ff ff ff       	jmp    1009ac <_translate_sc+0x138>
  100a40:	ba 35 00 00 00       	mov    $0x35,%edx
  100a45:	e9 62 ff ff ff       	jmp    1009ac <_translate_sc+0x138>
  100a4a:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100a50:	85 d2                	test   %edx,%edx
  100a52:	75 09                	jne    100a5d <_translate_sc+0x1e9>
  100a54:	a1 18 84 10 00       	mov    0x108418,%eax
  100a59:	85 c0                	test   %eax,%eax
  100a5b:	74 0a                	je     100a67 <_translate_sc+0x1f3>
  100a5d:	ba 5e 00 00 00       	mov    $0x5e,%edx
  100a62:	e9 45 ff ff ff       	jmp    1009ac <_translate_sc+0x138>
  100a67:	ba 36 00 00 00       	mov    $0x36,%edx
  100a6c:	e9 3b ff ff ff       	jmp    1009ac <_translate_sc+0x138>
  100a71:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100a76:	85 c0                	test   %eax,%eax
  100a78:	75 09                	jne    100a83 <_translate_sc+0x20f>
  100a7a:	a1 18 84 10 00       	mov    0x108418,%eax
  100a7f:	85 c0                	test   %eax,%eax
  100a81:	74 0a                	je     100a8d <_translate_sc+0x219>
  100a83:	ba 26 00 00 00       	mov    $0x26,%edx
  100a88:	e9 1f ff ff ff       	jmp    1009ac <_translate_sc+0x138>
  100a8d:	ba 37 00 00 00       	mov    $0x37,%edx
  100a92:	e9 15 ff ff ff       	jmp    1009ac <_translate_sc+0x138>
  100a97:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100a9d:	85 d2                	test   %edx,%edx
  100a9f:	75 09                	jne    100aaa <_translate_sc+0x236>
  100aa1:	a1 18 84 10 00       	mov    0x108418,%eax
  100aa6:	85 c0                	test   %eax,%eax
  100aa8:	74 0a                	je     100ab4 <_translate_sc+0x240>
  100aaa:	ba 2a 00 00 00       	mov    $0x2a,%edx
  100aaf:	e9 f8 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ab4:	ba 38 00 00 00       	mov    $0x38,%edx
  100ab9:	e9 ee fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100abe:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100ac3:	85 c0                	test   %eax,%eax
  100ac5:	75 09                	jne    100ad0 <_translate_sc+0x25c>
  100ac7:	a1 18 84 10 00       	mov    0x108418,%eax
  100acc:	85 c0                	test   %eax,%eax
  100ace:	74 0a                	je     100ada <_translate_sc+0x266>
  100ad0:	ba 28 00 00 00       	mov    $0x28,%edx
  100ad5:	e9 d2 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ada:	ba 39 00 00 00       	mov    $0x39,%edx
  100adf:	e9 c8 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ae4:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100aea:	85 d2                	test   %edx,%edx
  100aec:	75 09                	jne    100af7 <_translate_sc+0x283>
  100aee:	a1 18 84 10 00       	mov    0x108418,%eax
  100af3:	85 c0                	test   %eax,%eax
  100af5:	74 0a                	je     100b01 <_translate_sc+0x28d>
  100af7:	ba 29 00 00 00       	mov    $0x29,%edx
  100afc:	e9 ab fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b01:	ba 30 00 00 00       	mov    $0x30,%edx
  100b06:	e9 a1 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b0b:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100b10:	85 c0                	test   %eax,%eax
  100b12:	75 09                	jne    100b1d <_translate_sc+0x2a9>
  100b14:	a1 18 84 10 00       	mov    0x108418,%eax
  100b19:	85 c0                	test   %eax,%eax
  100b1b:	74 0a                	je     100b27 <_translate_sc+0x2b3>
  100b1d:	ba 5f 00 00 00       	mov    $0x5f,%edx
  100b22:	e9 85 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b27:	ba 2d 00 00 00       	mov    $0x2d,%edx
  100b2c:	e9 7b fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b31:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100b36:	85 c0                	test   %eax,%eax
  100b38:	75 09                	jne    100b43 <_translate_sc+0x2cf>
  100b3a:	a1 18 84 10 00       	mov    0x108418,%eax
  100b3f:	85 c0                	test   %eax,%eax
  100b41:	74 0a                	je     100b4d <_translate_sc+0x2d9>
  100b43:	ba 3d 00 00 00       	mov    $0x3d,%edx
  100b48:	e9 5f fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b4d:	ba 2b 00 00 00       	mov    $0x2b,%edx
  100b52:	e9 55 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b57:	ba 08 00 00 00       	mov    $0x8,%edx
  100b5c:	e9 4b fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b61:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100b67:	85 d2                	test   %edx,%edx
  100b69:	75 09                	jne    100b74 <_translate_sc+0x300>
  100b6b:	a1 18 84 10 00       	mov    0x108418,%eax
  100b70:	85 c0                	test   %eax,%eax
  100b72:	74 0a                	je     100b7e <_translate_sc+0x30a>
  100b74:	ba 51 00 00 00       	mov    $0x51,%edx
  100b79:	e9 2e fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b7e:	ba 71 00 00 00       	mov    $0x71,%edx
  100b83:	e9 24 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100b88:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100b8d:	85 c0                	test   %eax,%eax
  100b8f:	75 09                	jne    100b9a <_translate_sc+0x326>
  100b91:	a1 18 84 10 00       	mov    0x108418,%eax
  100b96:	85 c0                	test   %eax,%eax
  100b98:	74 0a                	je     100ba4 <_translate_sc+0x330>
  100b9a:	ba 57 00 00 00       	mov    $0x57,%edx
  100b9f:	e9 08 fe ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ba4:	ba 77 00 00 00       	mov    $0x77,%edx
  100ba9:	e9 fe fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100bae:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100bb3:	85 c0                	test   %eax,%eax
  100bb5:	75 09                	jne    100bc0 <_translate_sc+0x34c>
  100bb7:	a1 18 84 10 00       	mov    0x108418,%eax
  100bbc:	85 c0                	test   %eax,%eax
  100bbe:	74 0a                	je     100bca <_translate_sc+0x356>
  100bc0:	ba 45 00 00 00       	mov    $0x45,%edx
  100bc5:	e9 e2 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100bca:	ba 65 00 00 00       	mov    $0x65,%edx
  100bcf:	e9 d8 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100bd4:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100bd9:	85 c0                	test   %eax,%eax
  100bdb:	75 0a                	jne    100be7 <_translate_sc+0x373>
  100bdd:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100be3:	85 c9                	test   %ecx,%ecx
  100be5:	74 0a                	je     100bf1 <_translate_sc+0x37d>
  100be7:	ba 52 00 00 00       	mov    $0x52,%edx
  100bec:	e9 bb fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100bf1:	ba 72 00 00 00       	mov    $0x72,%edx
  100bf6:	e9 b1 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100bfb:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100c01:	85 d2                	test   %edx,%edx
  100c03:	75 09                	jne    100c0e <_translate_sc+0x39a>
  100c05:	a1 18 84 10 00       	mov    0x108418,%eax
  100c0a:	85 c0                	test   %eax,%eax
  100c0c:	74 0a                	je     100c18 <_translate_sc+0x3a4>
  100c0e:	ba 54 00 00 00       	mov    $0x54,%edx
  100c13:	e9 94 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c18:	ba 74 00 00 00       	mov    $0x74,%edx
  100c1d:	e9 8a fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c22:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100c27:	85 c0                	test   %eax,%eax
  100c29:	75 09                	jne    100c34 <_translate_sc+0x3c0>
  100c2b:	a1 18 84 10 00       	mov    0x108418,%eax
  100c30:	85 c0                	test   %eax,%eax
  100c32:	74 0a                	je     100c3e <_translate_sc+0x3ca>
  100c34:	ba 59 00 00 00       	mov    $0x59,%edx
  100c39:	e9 6e fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c3e:	ba 79 00 00 00       	mov    $0x79,%edx
  100c43:	e9 64 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c48:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100c4d:	85 c0                	test   %eax,%eax
  100c4f:	75 09                	jne    100c5a <_translate_sc+0x3e6>
  100c51:	a1 18 84 10 00       	mov    0x108418,%eax
  100c56:	85 c0                	test   %eax,%eax
  100c58:	74 0a                	je     100c64 <_translate_sc+0x3f0>
  100c5a:	ba 55 00 00 00       	mov    $0x55,%edx
  100c5f:	e9 48 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c64:	ba 75 00 00 00       	mov    $0x75,%edx
  100c69:	e9 3e fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c6e:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100c73:	85 c0                	test   %eax,%eax
  100c75:	75 0a                	jne    100c81 <_translate_sc+0x40d>
  100c77:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100c7d:	85 c9                	test   %ecx,%ecx
  100c7f:	74 0a                	je     100c8b <_translate_sc+0x417>
  100c81:	ba 49 00 00 00       	mov    $0x49,%edx
  100c86:	e9 21 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c8b:	ba 69 00 00 00       	mov    $0x69,%edx
  100c90:	e9 17 fd ff ff       	jmp    1009ac <_translate_sc+0x138>
  100c95:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100c9b:	85 d2                	test   %edx,%edx
  100c9d:	75 09                	jne    100ca8 <_translate_sc+0x434>
  100c9f:	a1 18 84 10 00       	mov    0x108418,%eax
  100ca4:	85 c0                	test   %eax,%eax
  100ca6:	74 0a                	je     100cb2 <_translate_sc+0x43e>
  100ca8:	ba 4f 00 00 00       	mov    $0x4f,%edx
  100cad:	e9 fa fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100cb2:	ba 6f 00 00 00       	mov    $0x6f,%edx
  100cb7:	e9 f0 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100cbc:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100cc1:	85 c0                	test   %eax,%eax
  100cc3:	75 09                	jne    100cce <_translate_sc+0x45a>
  100cc5:	a1 18 84 10 00       	mov    0x108418,%eax
  100cca:	85 c0                	test   %eax,%eax
  100ccc:	74 0a                	je     100cd8 <_translate_sc+0x464>
  100cce:	ba 50 00 00 00       	mov    $0x50,%edx
  100cd3:	e9 d4 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100cd8:	ba 70 00 00 00       	mov    $0x70,%edx
  100cdd:	e9 ca fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ce2:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100ce7:	85 c0                	test   %eax,%eax
  100ce9:	75 09                	jne    100cf4 <_translate_sc+0x480>
  100ceb:	a1 18 84 10 00       	mov    0x108418,%eax
  100cf0:	85 c0                	test   %eax,%eax
  100cf2:	74 0a                	je     100cfe <_translate_sc+0x48a>
  100cf4:	ba 7b 00 00 00       	mov    $0x7b,%edx
  100cf9:	e9 ae fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100cfe:	ba 5b 00 00 00       	mov    $0x5b,%edx
  100d03:	e9 a4 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d08:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100d0d:	85 c0                	test   %eax,%eax
  100d0f:	75 0a                	jne    100d1b <_translate_sc+0x4a7>
  100d11:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100d17:	85 c9                	test   %ecx,%ecx
  100d19:	74 0a                	je     100d25 <_translate_sc+0x4b1>
  100d1b:	ba 7d 00 00 00       	mov    $0x7d,%edx
  100d20:	e9 87 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d25:	ba 5d 00 00 00       	mov    $0x5d,%edx
  100d2a:	e9 7d fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d2f:	ba 0a 00 00 00       	mov    $0xa,%edx
  100d34:	e9 73 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d39:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100d3f:	85 d2                	test   %edx,%edx
  100d41:	75 09                	jne    100d4c <_translate_sc+0x4d8>
  100d43:	a1 18 84 10 00       	mov    0x108418,%eax
  100d48:	85 c0                	test   %eax,%eax
  100d4a:	74 0a                	je     100d56 <_translate_sc+0x4e2>
  100d4c:	ba 41 00 00 00       	mov    $0x41,%edx
  100d51:	e9 56 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d56:	ba 61 00 00 00       	mov    $0x61,%edx
  100d5b:	e9 4c fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d60:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100d65:	85 c0                	test   %eax,%eax
  100d67:	75 09                	jne    100d72 <_translate_sc+0x4fe>
  100d69:	a1 18 84 10 00       	mov    0x108418,%eax
  100d6e:	85 c0                	test   %eax,%eax
  100d70:	74 0a                	je     100d7c <_translate_sc+0x508>
  100d72:	ba 53 00 00 00       	mov    $0x53,%edx
  100d77:	e9 30 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d7c:	ba 73 00 00 00       	mov    $0x73,%edx
  100d81:	e9 26 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100d86:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100d8b:	85 c0                	test   %eax,%eax
  100d8d:	75 09                	jne    100d98 <_translate_sc+0x524>
  100d8f:	a1 18 84 10 00       	mov    0x108418,%eax
  100d94:	85 c0                	test   %eax,%eax
  100d96:	74 0a                	je     100da2 <_translate_sc+0x52e>
  100d98:	ba 44 00 00 00       	mov    $0x44,%edx
  100d9d:	e9 0a fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100da2:	ba 64 00 00 00       	mov    $0x64,%edx
  100da7:	e9 00 fc ff ff       	jmp    1009ac <_translate_sc+0x138>
  100dac:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100db1:	85 c0                	test   %eax,%eax
  100db3:	75 0a                	jne    100dbf <_translate_sc+0x54b>
  100db5:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100dbb:	85 c9                	test   %ecx,%ecx
  100dbd:	74 0a                	je     100dc9 <_translate_sc+0x555>
  100dbf:	ba 46 00 00 00       	mov    $0x46,%edx
  100dc4:	e9 e3 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100dc9:	ba 66 00 00 00       	mov    $0x66,%edx
  100dce:	e9 d9 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100dd3:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100dd9:	85 d2                	test   %edx,%edx
  100ddb:	75 09                	jne    100de6 <_translate_sc+0x572>
  100ddd:	a1 18 84 10 00       	mov    0x108418,%eax
  100de2:	85 c0                	test   %eax,%eax
  100de4:	74 0a                	je     100df0 <_translate_sc+0x57c>
  100de6:	ba 47 00 00 00       	mov    $0x47,%edx
  100deb:	e9 bc fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100df0:	ba 67 00 00 00       	mov    $0x67,%edx
  100df5:	e9 b2 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100dfa:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100dff:	85 c0                	test   %eax,%eax
  100e01:	75 09                	jne    100e0c <_translate_sc+0x598>
  100e03:	a1 18 84 10 00       	mov    0x108418,%eax
  100e08:	85 c0                	test   %eax,%eax
  100e0a:	74 0a                	je     100e16 <_translate_sc+0x5a2>
  100e0c:	ba 48 00 00 00       	mov    $0x48,%edx
  100e11:	e9 96 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e16:	ba 68 00 00 00       	mov    $0x68,%edx
  100e1b:	e9 8c fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e20:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100e25:	85 c0                	test   %eax,%eax
  100e27:	75 09                	jne    100e32 <_translate_sc+0x5be>
  100e29:	a1 18 84 10 00       	mov    0x108418,%eax
  100e2e:	85 c0                	test   %eax,%eax
  100e30:	74 0a                	je     100e3c <_translate_sc+0x5c8>
  100e32:	ba 4a 00 00 00       	mov    $0x4a,%edx
  100e37:	e9 70 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e3c:	ba 6a 00 00 00       	mov    $0x6a,%edx
  100e41:	e9 66 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e46:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100e4b:	85 c0                	test   %eax,%eax
  100e4d:	75 0a                	jne    100e59 <_translate_sc+0x5e5>
  100e4f:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100e55:	85 c9                	test   %ecx,%ecx
  100e57:	74 0a                	je     100e63 <_translate_sc+0x5ef>
  100e59:	ba 4b 00 00 00       	mov    $0x4b,%edx
  100e5e:	e9 49 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e63:	ba 6b 00 00 00       	mov    $0x6b,%edx
  100e68:	e9 3f fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e6d:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100e73:	85 d2                	test   %edx,%edx
  100e75:	75 09                	jne    100e80 <_translate_sc+0x60c>
  100e77:	a1 18 84 10 00       	mov    0x108418,%eax
  100e7c:	85 c0                	test   %eax,%eax
  100e7e:	74 0a                	je     100e8a <_translate_sc+0x616>
  100e80:	ba 4c 00 00 00       	mov    $0x4c,%edx
  100e85:	e9 22 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e8a:	ba 6c 00 00 00       	mov    $0x6c,%edx
  100e8f:	e9 18 fb ff ff       	jmp    1009ac <_translate_sc+0x138>
  100e94:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100e99:	85 c0                	test   %eax,%eax
  100e9b:	75 09                	jne    100ea6 <_translate_sc+0x632>
  100e9d:	a1 18 84 10 00       	mov    0x108418,%eax
  100ea2:	85 c0                	test   %eax,%eax
  100ea4:	74 0a                	je     100eb0 <_translate_sc+0x63c>
  100ea6:	ba 3a 00 00 00       	mov    $0x3a,%edx
  100eab:	e9 fc fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100eb0:	ba 3b 00 00 00       	mov    $0x3b,%edx
  100eb5:	e9 f2 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100eba:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100ebf:	85 c0                	test   %eax,%eax
  100ec1:	75 09                	jne    100ecc <_translate_sc+0x658>
  100ec3:	a1 18 84 10 00       	mov    0x108418,%eax
  100ec8:	85 c0                	test   %eax,%eax
  100eca:	74 0a                	je     100ed6 <_translate_sc+0x662>
  100ecc:	ba 22 00 00 00       	mov    $0x22,%edx
  100ed1:	e9 d6 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ed6:	ba 27 00 00 00       	mov    $0x27,%edx
  100edb:	e9 cc fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ee0:	ba 7e 00 00 00       	mov    $0x7e,%edx
  100ee5:	e9 c2 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100eea:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100eef:	85 c0                	test   %eax,%eax
  100ef1:	75 0a                	jne    100efd <_translate_sc+0x689>
  100ef3:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100ef9:	85 c9                	test   %ecx,%ecx
  100efb:	74 0a                	je     100f07 <_translate_sc+0x693>
  100efd:	ba 7c 00 00 00       	mov    $0x7c,%edx
  100f02:	e9 a5 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f07:	ba 5c 00 00 00       	mov    $0x5c,%edx
  100f0c:	e9 9b fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f11:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100f16:	85 c0                	test   %eax,%eax
  100f18:	75 0a                	jne    100f24 <_translate_sc+0x6b0>
  100f1a:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100f20:	85 c9                	test   %ecx,%ecx
  100f22:	74 0a                	je     100f2e <_translate_sc+0x6ba>
  100f24:	ba 5a 00 00 00       	mov    $0x5a,%edx
  100f29:	e9 7e fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f2e:	ba 7a 00 00 00       	mov    $0x7a,%edx
  100f33:	e9 74 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f38:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100f3e:	85 d2                	test   %edx,%edx
  100f40:	75 09                	jne    100f4b <_translate_sc+0x6d7>
  100f42:	a1 18 84 10 00       	mov    0x108418,%eax
  100f47:	85 c0                	test   %eax,%eax
  100f49:	74 0a                	je     100f55 <_translate_sc+0x6e1>
  100f4b:	ba 58 00 00 00       	mov    $0x58,%edx
  100f50:	e9 57 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f55:	ba 78 00 00 00       	mov    $0x78,%edx
  100f5a:	e9 4d fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f5f:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100f64:	85 c0                	test   %eax,%eax
  100f66:	75 09                	jne    100f71 <_translate_sc+0x6fd>
  100f68:	a1 18 84 10 00       	mov    0x108418,%eax
  100f6d:	85 c0                	test   %eax,%eax
  100f6f:	74 0a                	je     100f7b <_translate_sc+0x707>
  100f71:	ba 43 00 00 00       	mov    $0x43,%edx
  100f76:	e9 31 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f7b:	ba 63 00 00 00       	mov    $0x63,%edx
  100f80:	e9 27 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100f85:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100f8a:	85 c0                	test   %eax,%eax
  100f8c:	75 09                	jne    100f97 <_translate_sc+0x723>
  100f8e:	a1 18 84 10 00       	mov    0x108418,%eax
  100f93:	85 c0                	test   %eax,%eax
  100f95:	74 0a                	je     100fa1 <_translate_sc+0x72d>
  100f97:	ba 56 00 00 00       	mov    $0x56,%edx
  100f9c:	e9 0b fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100fa1:	ba 76 00 00 00       	mov    $0x76,%edx
  100fa6:	e9 01 fa ff ff       	jmp    1009ac <_translate_sc+0x138>
  100fab:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100fb0:	85 c0                	test   %eax,%eax
  100fb2:	75 0a                	jne    100fbe <_translate_sc+0x74a>
  100fb4:	8b 0d 18 84 10 00    	mov    0x108418,%ecx
  100fba:	85 c9                	test   %ecx,%ecx
  100fbc:	74 0a                	je     100fc8 <_translate_sc+0x754>
  100fbe:	ba 42 00 00 00       	mov    $0x42,%edx
  100fc3:	e9 e4 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  100fc8:	ba 62 00 00 00       	mov    $0x62,%edx
  100fcd:	e9 da f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  100fd2:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  100fd8:	85 d2                	test   %edx,%edx
  100fda:	75 09                	jne    100fe5 <_translate_sc+0x771>
  100fdc:	a1 18 84 10 00       	mov    0x108418,%eax
  100fe1:	85 c0                	test   %eax,%eax
  100fe3:	74 0a                	je     100fef <_translate_sc+0x77b>
  100fe5:	ba 4e 00 00 00       	mov    $0x4e,%edx
  100fea:	e9 bd f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  100fef:	ba 6e 00 00 00       	mov    $0x6e,%edx
  100ff4:	e9 b3 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  100ff9:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  100ffe:	85 c0                	test   %eax,%eax
  101000:	75 09                	jne    10100b <_translate_sc+0x797>
  101002:	a1 18 84 10 00       	mov    0x108418,%eax
  101007:	85 c0                	test   %eax,%eax
  101009:	74 0a                	je     101015 <_translate_sc+0x7a1>
  10100b:	ba 4d 00 00 00       	mov    $0x4d,%edx
  101010:	e9 97 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101015:	ba 6d 00 00 00       	mov    $0x6d,%edx
  10101a:	e9 8d f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  10101f:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  101024:	85 c0                	test   %eax,%eax
  101026:	75 09                	jne    101031 <_translate_sc+0x7bd>
  101028:	a1 18 84 10 00       	mov    0x108418,%eax
  10102d:	85 c0                	test   %eax,%eax
  10102f:	74 0a                	je     10103b <_translate_sc+0x7c7>
  101031:	ba 3c 00 00 00       	mov    $0x3c,%edx
  101036:	e9 71 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  10103b:	ba 2c 00 00 00       	mov    $0x2c,%edx
  101040:	e9 67 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101045:	8b 15 e8 83 10 00    	mov    0x1083e8,%edx
  10104b:	85 d2                	test   %edx,%edx
  10104d:	75 09                	jne    101058 <_translate_sc+0x7e4>
  10104f:	a1 18 84 10 00       	mov    0x108418,%eax
  101054:	85 c0                	test   %eax,%eax
  101056:	74 0a                	je     101062 <_translate_sc+0x7ee>
  101058:	ba 3e 00 00 00       	mov    $0x3e,%edx
  10105d:	e9 4a f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101062:	ba 2e 00 00 00       	mov    $0x2e,%edx
  101067:	e9 40 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  10106c:	a1 e8 83 10 00       	mov    0x1083e8,%eax
  101071:	85 c0                	test   %eax,%eax
  101073:	75 09                	jne    10107e <_translate_sc+0x80a>
  101075:	a1 18 84 10 00       	mov    0x108418,%eax
  10107a:	85 c0                	test   %eax,%eax
  10107c:	74 0a                	je     101088 <_translate_sc+0x814>
  10107e:	ba 3f 00 00 00       	mov    $0x3f,%edx
  101083:	e9 24 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101088:	ba 2f 00 00 00       	mov    $0x2f,%edx
  10108d:	e9 1a f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101092:	ba 2a 00 00 00       	mov    $0x2a,%edx
  101097:	e9 10 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  10109c:	ba 20 00 00 00       	mov    $0x20,%edx
  1010a1:	e9 06 f9 ff ff       	jmp    1009ac <_translate_sc+0x138>
  1010a6:	a1 54 84 10 00       	mov    0x108454,%eax
  1010ab:	31 d2                	xor    %edx,%edx
  1010ad:	85 c0                	test   %eax,%eax
  1010af:	0f 84 f7 f8 ff ff    	je     1009ac <_translate_sc+0x138>
  1010b5:	a1 00 80 10 00       	mov    0x108000,%eax
  1010ba:	85 c0                	test   %eax,%eax
  1010bc:	0f 85 ea f8 ff ff    	jne    1009ac <_translate_sc+0x138>
  1010c2:	ba 37 00 00 00       	mov    $0x37,%edx
  1010c7:	e9 e0 f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  1010cc:	a1 54 84 10 00       	mov    0x108454,%eax
  1010d1:	31 d2                	xor    %edx,%edx
  1010d3:	85 c0                	test   %eax,%eax
  1010d5:	0f 84 d1 f8 ff ff    	je     1009ac <_translate_sc+0x138>
  1010db:	8b 0d 00 80 10 00    	mov    0x108000,%ecx
  1010e1:	85 c9                	test   %ecx,%ecx
  1010e3:	0f 85 c3 f8 ff ff    	jne    1009ac <_translate_sc+0x138>
  1010e9:	ba 38 00 00 00       	mov    $0x38,%edx
  1010ee:	e9 b9 f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  1010f3:	a1 54 84 10 00       	mov    0x108454,%eax
  1010f8:	31 d2                	xor    %edx,%edx
  1010fa:	85 c0                	test   %eax,%eax
  1010fc:	0f 84 aa f8 ff ff    	je     1009ac <_translate_sc+0x138>
  101102:	a1 00 80 10 00       	mov    0x108000,%eax
  101107:	85 c0                	test   %eax,%eax
  101109:	0f 85 9d f8 ff ff    	jne    1009ac <_translate_sc+0x138>
  10110f:	ba 39 00 00 00       	mov    $0x39,%edx
  101114:	e9 93 f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101119:	ba 2d 00 00 00       	mov    $0x2d,%edx
  10111e:	e9 89 f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101123:	a1 54 84 10 00       	mov    0x108454,%eax
  101128:	31 d2                	xor    %edx,%edx
  10112a:	85 c0                	test   %eax,%eax
  10112c:	0f 84 7a f8 ff ff    	je     1009ac <_translate_sc+0x138>
  101132:	8b 0d 00 80 10 00    	mov    0x108000,%ecx
  101138:	85 c9                	test   %ecx,%ecx
  10113a:	0f 85 6c f8 ff ff    	jne    1009ac <_translate_sc+0x138>
  101140:	ba 34 00 00 00       	mov    $0x34,%edx
  101145:	e9 62 f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  10114a:	a1 54 84 10 00       	mov    0x108454,%eax
  10114f:	31 d2                	xor    %edx,%edx
  101151:	85 c0                	test   %eax,%eax
  101153:	0f 84 53 f8 ff ff    	je     1009ac <_translate_sc+0x138>
  101159:	a1 00 80 10 00       	mov    0x108000,%eax
  10115e:	85 c0                	test   %eax,%eax
  101160:	0f 85 46 f8 ff ff    	jne    1009ac <_translate_sc+0x138>
  101166:	ba 35 00 00 00       	mov    $0x35,%edx
  10116b:	e9 3c f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101170:	a1 54 84 10 00       	mov    0x108454,%eax
  101175:	31 d2                	xor    %edx,%edx
  101177:	85 c0                	test   %eax,%eax
  101179:	0f 84 2d f8 ff ff    	je     1009ac <_translate_sc+0x138>
  10117f:	8b 0d 00 80 10 00    	mov    0x108000,%ecx
  101185:	85 c9                	test   %ecx,%ecx
  101187:	0f 85 1f f8 ff ff    	jne    1009ac <_translate_sc+0x138>
  10118d:	ba 36 00 00 00       	mov    $0x36,%edx
  101192:	e9 15 f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101197:	ba 2b 00 00 00       	mov    $0x2b,%edx
  10119c:	e9 0b f8 ff ff       	jmp    1009ac <_translate_sc+0x138>
  1011a1:	a1 54 84 10 00       	mov    0x108454,%eax
  1011a6:	31 d2                	xor    %edx,%edx
  1011a8:	85 c0                	test   %eax,%eax
  1011aa:	0f 84 fc f7 ff ff    	je     1009ac <_translate_sc+0x138>
  1011b0:	a1 00 80 10 00       	mov    0x108000,%eax
  1011b5:	85 c0                	test   %eax,%eax
  1011b7:	0f 85 ef f7 ff ff    	jne    1009ac <_translate_sc+0x138>
  1011bd:	ba 31 00 00 00       	mov    $0x31,%edx
  1011c2:	e9 e5 f7 ff ff       	jmp    1009ac <_translate_sc+0x138>
  1011c7:	a1 54 84 10 00       	mov    0x108454,%eax
  1011cc:	31 d2                	xor    %edx,%edx
  1011ce:	85 c0                	test   %eax,%eax
  1011d0:	0f 84 d6 f7 ff ff    	je     1009ac <_translate_sc+0x138>
  1011d6:	8b 0d 00 80 10 00    	mov    0x108000,%ecx
  1011dc:	85 c9                	test   %ecx,%ecx
  1011de:	0f 85 c8 f7 ff ff    	jne    1009ac <_translate_sc+0x138>
  1011e4:	ba 32 00 00 00       	mov    $0x32,%edx
  1011e9:	e9 be f7 ff ff       	jmp    1009ac <_translate_sc+0x138>
  1011ee:	a1 54 84 10 00       	mov    0x108454,%eax
  1011f3:	31 d2                	xor    %edx,%edx
  1011f5:	85 c0                	test   %eax,%eax
  1011f7:	0f 84 af f7 ff ff    	je     1009ac <_translate_sc+0x138>
  1011fd:	a1 00 80 10 00       	mov    0x108000,%eax
  101202:	85 c0                	test   %eax,%eax
  101204:	0f 85 a2 f7 ff ff    	jne    1009ac <_translate_sc+0x138>
  10120a:	ba 33 00 00 00       	mov    $0x33,%edx
  10120f:	e9 98 f7 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101214:	a1 54 84 10 00       	mov    0x108454,%eax
  101219:	31 d2                	xor    %edx,%edx
  10121b:	85 c0                	test   %eax,%eax
  10121d:	0f 84 89 f7 ff ff    	je     1009ac <_translate_sc+0x138>
  101223:	8b 0d 00 80 10 00    	mov    0x108000,%ecx
  101229:	85 c9                	test   %ecx,%ecx
  10122b:	0f 85 7b f7 ff ff    	jne    1009ac <_translate_sc+0x138>
  101231:	ba 30 00 00 00       	mov    $0x30,%edx
  101236:	e9 71 f7 ff ff       	jmp    1009ac <_translate_sc+0x138>
  10123b:	a1 54 84 10 00       	mov    0x108454,%eax
  101240:	31 d2                	xor    %edx,%edx
  101242:	85 c0                	test   %eax,%eax
  101244:	0f 84 62 f7 ff ff    	je     1009ac <_translate_sc+0x138>
  10124a:	8b 0d 00 80 10 00    	mov    0x108000,%ecx
  101250:	85 c9                	test   %ecx,%ecx
  101252:	0f 85 54 f7 ff ff    	jne    1009ac <_translate_sc+0x138>
  101258:	ba 2e 00 00 00       	mov    $0x2e,%edx
  10125d:	e9 4a f7 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101262:	89 f6                	mov    %esi,%esi
  101264:	31 c0                	xor    %eax,%eax
  101266:	31 d2                	xor    %edx,%edx
  101268:	85 c0                	test   %eax,%eax
  10126a:	0f 85 34 f6 ff ff    	jne    1008a4 <_translate_sc+0x30>
  101270:	e9 37 f7 ff ff       	jmp    1009ac <_translate_sc+0x138>
  101275:	8d 76 00             	lea    0x0(%esi),%esi
  101278:	8b 15 40 85 10 00    	mov    0x108540,%edx
  10127e:	4a                   	dec    %edx
  10127f:	0f 89 01 f6 ff ff    	jns    100886 <_translate_sc+0x12>
  101285:	31 c0                	xor    %eax,%eax
  101287:	c7 05 40 85 10 00 00 	movl   $0x0,0x108540
  10128e:	00 00 00 
  101291:	e9 60 f6 ff ff       	jmp    1008f6 <_translate_sc+0x82>
  101296:	89 f6                	mov    %esi,%esi

00101298 <handle_meta_key>:

/**
 * handle_meta_key()
 *
 * I'll pretty this up later
 */
void handle_meta_key(unsigned k)
{
  101298:	55                   	push   %ebp
  101299:	89 e5                	mov    %esp,%ebp
  10129b:	83 ec 08             	sub    $0x8,%esp
	int i;
	k = k; /* to shut gcc up */

	/**
	 * Check for the infamous three finger salute
	 */
	if((keys[KEY_RCTRL] || keys[KEY_LCTRL]) &&
  10129e:	8b 15 b4 83 10 00    	mov    0x1083b4,%edx
  1012a4:	85 d2                	test   %edx,%edx
  1012a6:	74 69                	je     101311 <handle_meta_key+0x79>
  1012a8:	8b 15 20 84 10 00    	mov    0x108420,%edx
  1012ae:	85 d2                	test   %edx,%edx
  1012b0:	74 0a                	je     1012bc <handle_meta_key+0x24>
  1012b2:	a1 8c 84 10 00       	mov    0x10848c,%eax
  1012b7:	85 c0                	test   %eax,%eax
  1012b9:	75 51                	jne    10130c <handle_meta_key+0x74>
  1012bb:	90                   	nop    
			(keys[KEY_RALT] || keys[KEY_LALT]) &&
			keys[KEY_DEL])
	{
		/**
		 * FIXME
		 *
		 * This should call _send_signal()
		 */
		reboot();
	}

	/**
	 * Check for Alt + F1-F12 for virtual terminals
	 */
	for(i = 0; i < 10; i++)
  1012bc:	31 c0                	xor    %eax,%eax
  1012be:	b9 40 83 10 00       	mov    $0x108340,%ecx
  1012c3:	90                   	nop    
	{
		if((keys[KEY_LALT] || keys[KEY_RALT]) && keys[i + KEY_F1])
  1012c4:	85 d2                	test   %edx,%edx
  1012c6:	74 0a                	je     1012d2 <handle_meta_key+0x3a>
  1012c8:	83 bc 81 ec 00 00 00 	cmpl   $0x0,0xec(%ecx,%eax,4)
  1012cf:	00 
  1012d0:	75 35                	jne    101307 <handle_meta_key+0x6f>
  1012d2:	40                   	inc    %eax
  1012d3:	83 f8 09             	cmp    $0x9,%eax
  1012d6:	7e ec                	jle    1012c4 <handle_meta_key+0x2c>
		{
			select_vc(i);
			return;
		}
	}
	
	if((keys[KEY_LALT] || keys[KEY_RALT]) && keys[KEY_F11])
  1012d8:	85 d2                	test   %edx,%edx
  1012da:	74 13                	je     1012ef <handle_meta_key+0x57>
  1012dc:	8b 15 9c 84 10 00    	mov    0x10849c,%edx
  1012e2:	85 d2                	test   %edx,%edx
  1012e4:	75 18                	jne    1012fe <handle_meta_key+0x66>
	{
		select_vc(10);
		return;
	}

	if((keys[KEY_LALT] || keys[KEY_RALT]) && keys[KEY_F12])
  1012e6:	a1 a0 84 10 00       	mov    0x1084a0,%eax
  1012eb:	85 c0                	test   %eax,%eax
  1012ed:	75 02                	jne    1012f1 <handle_meta_key+0x59>
	{
		select_vc(11);
		return;
	}
}
  1012ef:	c9                   	leave  
  1012f0:	c3                   	ret    
  1012f1:	c7 45 08 0b 00 00 00 	movl   $0xb,0x8(%ebp)
  1012f8:	c9                   	leave  
  1012f9:	e9 06 35 00 00       	jmp    104804 <select_vc>
  1012fe:	c7 45 08 0a 00 00 00 	movl   $0xa,0x8(%ebp)
  101305:	eb f1                	jmp    1012f8 <handle_meta_key+0x60>
  101307:	89 45 08             	mov    %eax,0x8(%ebp)
  10130a:	eb ec                	jmp    1012f8 <handle_meta_key+0x60>
  10130c:	e8 d3 f4 ff ff       	call   1007e4 <reboot>
  101311:	8b 15 20 84 10 00    	mov    0x108420,%edx
  101317:	eb a3                	jmp    1012bc <handle_meta_key+0x24>
  101319:	8d 76 00             	lea    0x0(%esi),%esi

0010131c <keyboard_irq>:

/**
 * keyboard_irq()
 *
 * Called when a keyboard interrupt is generated.
 */
void keyboard_irq(void)
{
  10131c:	55                   	push   %ebp
  10131d:	89 e5                	mov    %esp,%ebp
  10131f:	53                   	push   %ebx
  101320:	83 ec 10             	sub    $0x10,%esp
	register char a;
	unsigned c;
	unsigned short kbdstat;

	rawkey = inportb(0x60);
  101323:	6a 60                	push   $0x60
  101325:	e8 ea 3c 00 00       	call   105014 <inportb>
  10132a:	a3 20 83 10 00       	mov    %eax,0x108320
	outportb(0x61, (a=inportb(0x61)|0x82));
  10132f:	c7 04 24 61 00 00 00 	movl   $0x61,(%esp,1)
  101336:	e8 d9 3c 00 00       	call   105014 <inportb>
  10133b:	83 c8 82             	or     $0xffffff82,%eax
  10133e:	59                   	pop    %ecx
  10133f:	5b                   	pop    %ebx
  101340:	0f be d8             	movsbl %al,%ebx
  101343:	53                   	push   %ebx
  101344:	6a 61                	push   $0x61
  101346:	e8 69 3d 00 00       	call   1050b4 <outportb>
	outportb(0x61, a & 0x7F);
  10134b:	58                   	pop    %eax
  10134c:	5a                   	pop    %edx
  10134d:	83 e3 7f             	and    $0x7f,%ebx
  101350:	53                   	push   %ebx
  101351:	6a 61                	push   $0x61
  101353:	e8 5c 3d 00 00       	call   1050b4 <outportb>
	
	/**
	 * If it's less than 0x80 then it's definatelly
	 * a make code or a repeat code
	 */
	if(rawkey < 0x80)
  101358:	8b 0d 20 83 10 00    	mov    0x108320,%ecx
  10135e:	83 c4 10             	add    $0x10,%esp
  101361:	83 f9 7f             	cmp    $0x7f,%ecx
  101364:	7f 6a                	jg     1013d0 <keyboard_irq+0xb4>
	{
		/**
		 * We don't want to gunk up the numlock key
		 * because we will define it's state in the
		 * break code a bit later
		 */
		if((rawkey != KEYP_NUMLCK) && (rawkey != KEY_SCRLCK) && (rawkey != KEY_CAPS))
  101366:	8d 41 bb             	lea    0xffffffbb(%ecx),%eax
  101369:	83 f8 01             	cmp    $0x1,%eax
  10136c:	76 10                	jbe    10137e <keyboard_irq+0x62>
  10136e:	83 f9 3a             	cmp    $0x3a,%ecx
  101371:	74 0b                	je     10137e <keyboard_irq+0x62>
			keys[rawkey] = 1;
  101373:	c7 04 8d 40 83 10 00 	movl   $0x1,0x108340(,%ecx,4)
  10137a:	01 00 00 00 

		keyDown(rawkey);
  10137e:	83 ec 0c             	sub    $0xc,%esp
  101381:	ff 35 20 83 10 00    	pushl  0x108320
  101387:	e8 c4 ee ff ff       	call   100250 <keyDown>
  10138c:	58                   	pop    %eax
	}
	else /* rawkey >= 0x80 */
	{
		if(rawkey == 0xE0)
		{
			/**
			 * It's either a make code, break code, or repeat code
			 */
			rawkey = inportb(0x60);
			outportb(0x61, (a=inportb(0x61)|0x82));
			outportb(0x61, a & 0x7F);

			if(rawkey < 0x80)
			{
				/**
				 * Ok, it's a make code or repeat code for the numeric
				 * keypad (gray keys)
				 */

				keys[rawkey] = 1;

				keyDown(rawkey);
			}
			else /* rawkey >= 0x80 */
			{
				/**
				 * It's either a make code for the numeric keypad or
				 * a break code for the numeric keypad.
				 */
				if(rawkey == 0x2A)
				{
					/**
					 * Ok, we have a make code for the numeric keypad
					 * and NUMLOCK is on. The second byte is what we
					 * want since what we have so far is this:
					 *
					 * 0xE0 0x2A
					 */
					rawkey = inportb(0x60);
					outportb(0x61, (a=inportb(0x61)|0x82));
					outportb(0x61, a & 0x7F);

					rawkey = inportb(0x60);
					outportb(0x61, (a=inportb(0x61)|0x82));
					outportb(0x61, a & 0x7F);

					keys[rawkey] = 1;

					keyDown(rawkey);
				}
				else
				{
					/**
					 * It's a break code from the numeric keypad.
					 */
					keys[rawkey] = 0;

					keyUp(rawkey);
				}
			}
		}
		else /* rawkey != 0xE0 */
		{
			/**
			 * It's a break code
			 *
			 * Make sure we toggle the numlock, scroll lock, and caps lock key.
			 */
			if(((rawkey - 0x80) == KEYP_NUMLCK) ||
					((rawkey - 0x80) == KEY_SCRLCK) ||
					((rawkey - 0x80) == KEY_CAPS))
			{
				keys[rawkey - 0x80] = !keys[rawkey - 0x80];

				kbdstat = 0;
				if(keys[KEY_SCRLCK])
					kbdstat |= 1;
				if(keys[KEYP_NUMLCK])
					kbdstat |= 2;
				if(keys[KEY_CAPS])
					kbdstat |= 4;

				_write_kb(0x60, 0xED);
				_write_kb(0x60, kbdstat);
				outportb(0x20, 0x20);

				keyUp(rawkey);
				return;
			}
			
			keys[rawkey - 0x80] = 0;

			keyUp(rawkey);
		}
	}

	c = _translate_sc(rawkey);
  10138d:	ff 35 20 83 10 00    	pushl  0x108320
  101393:	e8 dc f4 ff ff       	call   100874 <_translate_sc>

	if(c != 0)
  101398:	83 c4 10             	add    $0x10,%esp
  10139b:	85 c0                	test   %eax,%eax
  10139d:	74 21                	je     1013c0 <keyboard_irq+0xa4>
		printf("%c", c);
  10139f:	83 ec 08             	sub    $0x8,%esp
  1013a2:	50                   	push   %eax
  1013a3:	68 e5 51 10 00       	push   $0x1051e5
  1013a8:	e8 27 3d 00 00       	call   1050d4 <printf>
  1013ad:	59                   	pop    %ecx
  1013ae:	5b                   	pop    %ebx
	else
	{
		/**
		 * We need to check for meta-key-crap here
		 */
		handle_meta_key(rawkey);
	}

	//enable();
	outportb(0x20, 0x20);
  1013af:	6a 20                	push   $0x20
  1013b1:	6a 20                	push   $0x20
  1013b3:	e8 fc 3c 00 00       	call   1050b4 <outportb>
}
  1013b8:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  1013bb:	c9                   	leave  
  1013bc:	c3                   	ret    
  1013bd:	8d 76 00             	lea    0x0(%esi),%esi
  1013c0:	83 ec 0c             	sub    $0xc,%esp
  1013c3:	ff 35 20 83 10 00    	pushl  0x108320
  1013c9:	e8 ca fe ff ff       	call   101298 <handle_meta_key>
  1013ce:	eb dd                	jmp    1013ad <keyboard_irq+0x91>
  1013d0:	81 f9 e0 00 00 00    	cmp    $0xe0,%ecx
  1013d6:	0f 84 a5 00 00 00    	je     101481 <keyboard_irq+0x165>
  1013dc:	8d 81 3b ff ff ff    	lea    0xffffff3b(%ecx),%eax
  1013e2:	83 f8 01             	cmp    $0x1,%eax
  1013e5:	76 21                	jbe    101408 <keyboard_irq+0xec>
  1013e7:	81 f9 ba 00 00 00    	cmp    $0xba,%ecx
  1013ed:	74 19                	je     101408 <keyboard_irq+0xec>
  1013ef:	83 ec 0c             	sub    $0xc,%esp
  1013f2:	c7 04 8d 40 81 10 00 	movl   $0x0,0x108140(,%ecx,4)
  1013f9:	00 00 00 00 
  1013fd:	51                   	push   %ecx
  1013fe:	e8 55 ee ff ff       	call   100258 <keyUp>
  101403:	eb 87                	jmp    10138c <keyboard_irq+0x70>
  101405:	8d 76 00             	lea    0x0(%esi),%esi
  101408:	ba 40 83 10 00       	mov    $0x108340,%edx
  10140d:	31 c0                	xor    %eax,%eax
  10140f:	83 bc 8a 00 fe ff ff 	cmpl   $0x0,0xfffffe00(%edx,%ecx,4)
  101416:	00 
  101417:	0f 94 c0             	sete   %al
  10141a:	89 84 8a 00 fe ff ff 	mov    %eax,0xfffffe00(%edx,%ecx,4)
  101421:	a1 58 84 10 00       	mov    0x108458,%eax
  101426:	31 db                	xor    %ebx,%ebx
  101428:	85 c0                	test   %eax,%eax
  10142a:	74 05                	je     101431 <keyboard_irq+0x115>
  10142c:	bb 01 00 00 00       	mov    $0x1,%ebx
  101431:	a1 54 84 10 00       	mov    0x108454,%eax
  101436:	85 c0                	test   %eax,%eax
  101438:	74 03                	je     10143d <keyboard_irq+0x121>
  10143a:	83 cb 02             	or     $0x2,%ebx
  10143d:	a1 28 84 10 00       	mov    0x108428,%eax
  101442:	85 c0                	test   %eax,%eax
  101444:	74 03                	je     101449 <keyboard_irq+0x12d>
  101446:	83 cb 04             	or     $0x4,%ebx
  101449:	83 ec 08             	sub    $0x8,%esp
  10144c:	68 ed 00 00 00       	push   $0xed
  101451:	6a 60                	push   $0x60
  101453:	e8 d4 f3 ff ff       	call   10082c <_write_kb>
  101458:	59                   	pop    %ecx
  101459:	58                   	pop    %eax
  10145a:	0f b7 c3             	movzwl %bx,%eax
  10145d:	50                   	push   %eax
  10145e:	6a 60                	push   $0x60
  101460:	e8 c7 f3 ff ff       	call   10082c <_write_kb>
  101465:	58                   	pop    %eax
  101466:	5a                   	pop    %edx
  101467:	6a 20                	push   $0x20
  101469:	6a 20                	push   $0x20
  10146b:	e8 44 3c 00 00       	call   1050b4 <outportb>
  101470:	58                   	pop    %eax
  101471:	ff 35 20 83 10 00    	pushl  0x108320
  101477:	e8 dc ed ff ff       	call   100258 <keyUp>
  10147c:	e9 37 ff ff ff       	jmp    1013b8 <keyboard_irq+0x9c>
  101481:	83 ec 0c             	sub    $0xc,%esp
  101484:	6a 60                	push   $0x60
  101486:	e8 89 3b 00 00       	call   105014 <inportb>
  10148b:	a3 20 83 10 00       	mov    %eax,0x108320
  101490:	c7 04 24 61 00 00 00 	movl   $0x61,(%esp,1)
  101497:	e8 78 3b 00 00       	call   105014 <inportb>
  10149c:	83 c8 82             	or     $0xffffff82,%eax
  10149f:	59                   	pop    %ecx
  1014a0:	5b                   	pop    %ebx
  1014a1:	0f be d8             	movsbl %al,%ebx
  1014a4:	53                   	push   %ebx
  1014a5:	6a 61                	push   $0x61
  1014a7:	e8 08 3c 00 00       	call   1050b4 <outportb>
  1014ac:	58                   	pop    %eax
  1014ad:	5a                   	pop    %edx
  1014ae:	83 e3 7f             	and    $0x7f,%ebx
  1014b1:	53                   	push   %ebx
  1014b2:	6a 61                	push   $0x61
  1014b4:	e8 fb 3b 00 00       	call   1050b4 <outportb>
  1014b9:	a1 20 83 10 00       	mov    0x108320,%eax
  1014be:	83 c4 10             	add    $0x10,%esp
  1014c1:	83 f8 7f             	cmp    $0x7f,%eax
  1014c4:	0f 8e a2 00 00 00    	jle    10156c <keyboard_irq+0x250>
  1014ca:	83 f8 2a             	cmp    $0x2a,%eax
  1014cd:	74 14                	je     1014e3 <keyboard_irq+0x1c7>
  1014cf:	83 ec 0c             	sub    $0xc,%esp
  1014d2:	50                   	push   %eax
  1014d3:	c7 04 85 40 83 10 00 	movl   $0x0,0x108340(,%eax,4)
  1014da:	00 00 00 00 
  1014de:	e9 1b ff ff ff       	jmp    1013fe <keyboard_irq+0xe2>
  1014e3:	83 ec 0c             	sub    $0xc,%esp
  1014e6:	6a 60                	push   $0x60
  1014e8:	e8 27 3b 00 00       	call   105014 <inportb>
  1014ed:	a3 20 83 10 00       	mov    %eax,0x108320
  1014f2:	c7 04 24 61 00 00 00 	movl   $0x61,(%esp,1)
  1014f9:	e8 16 3b 00 00       	call   105014 <inportb>
  1014fe:	83 c8 82             	or     $0xffffff82,%eax
  101501:	59                   	pop    %ecx
  101502:	5b                   	pop    %ebx
  101503:	0f be d8             	movsbl %al,%ebx
  101506:	53                   	push   %ebx
  101507:	6a 61                	push   $0x61
  101509:	e8 a6 3b 00 00       	call   1050b4 <outportb>
  10150e:	58                   	pop    %eax
  10150f:	5a                   	pop    %edx
  101510:	83 e3 7f             	and    $0x7f,%ebx
  101513:	53                   	push   %ebx
  101514:	6a 61                	push   $0x61
  101516:	e8 99 3b 00 00       	call   1050b4 <outportb>
  10151b:	c7 04 24 60 00 00 00 	movl   $0x60,(%esp,1)
  101522:	e8 ed 3a 00 00       	call   105014 <inportb>
  101527:	a3 20 83 10 00       	mov    %eax,0x108320
  10152c:	c7 04 24 61 00 00 00 	movl   $0x61,(%esp,1)
  101533:	e8 dc 3a 00 00       	call   105014 <inportb>
  101538:	83 c8 82             	or     $0xffffff82,%eax
  10153b:	5a                   	pop    %edx
  10153c:	59                   	pop    %ecx
  10153d:	0f be d8             	movsbl %al,%ebx
  101540:	53                   	push   %ebx
  101541:	6a 61                	push   $0x61
  101543:	e8 6c 3b 00 00       	call   1050b4 <outportb>
  101548:	59                   	pop    %ecx
  101549:	58                   	pop    %eax
  10154a:	83 e3 7f             	and    $0x7f,%ebx
  10154d:	53                   	push   %ebx
  10154e:	6a 61                	push   $0x61
  101550:	e8 5f 3b 00 00       	call   1050b4 <outportb>
  101555:	a1 20 83 10 00       	mov    0x108320,%eax
  10155a:	5a                   	pop    %edx
  10155b:	c7 04 85 40 83 10 00 	movl   $0x1,0x108340(,%eax,4)
  101562:	01 00 00 00 
  101566:	50                   	push   %eax
  101567:	e9 1b fe ff ff       	jmp    101387 <keyboard_irq+0x6b>
  10156c:	c7 04 85 40 83 10 00 	movl   $0x1,0x108340(,%eax,4)
  101573:	01 00 00 00 
  101577:	83 ec 0c             	sub    $0xc,%esp
  10157a:	eb ea                	jmp    101566 <keyboard_irq+0x24a>

0010157c <init_keyboard>:

/**
 * init_keyboard()
 *
 */
void init_keyboard(void)
{
  10157c:	55                   	push   %ebp
  10157d:	89 e5                	mov    %esp,%ebp
	static unsigned char buffers[KBD_BUF_SIZE * MAX_VC];

	int i;

	//klog("init", "keyboard %2u buf, %2ub each", K_KLOG_PENDING, &_vc[0]);
	for(i = 0; i < MAX_VC; i++)
  10157f:	b9 20 80 10 00       	mov    $0x108020,%ecx
  101584:	83 ec 08             	sub    $0x8,%esp
  101587:	31 d2                	xor    %edx,%edx
  101589:	b8 0b 00 00 00       	mov    $0xb,%eax
	{
		_vc[i].keystrokes.data = buffers + KBD_BUF_SIZE * i;
  10158e:	89 8a e0 a2 19 00    	mov    %ecx,0x19a2e0(%edx)
		_vc[i].keystrokes.size = KBD_BUF_SIZE;
  101594:	c7 82 e4 a2 19 00 40 	movl   $0x40,0x19a2e4(%edx)
  10159b:	00 00 00 
  10159e:	83 c1 40             	add    $0x40,%ecx
  1015a1:	83 c2 34             	add    $0x34,%edx
  1015a4:	48                   	dec    %eax
  1015a5:	79 e7                	jns    10158e <init_keyboard+0x12>
	}

	for(i = 0; i < 128; i++)
  1015a7:	31 c0                	xor    %eax,%eax
  1015a9:	8d 76 00             	lea    0x0(%esi),%esi
		keys[i] = 0;
  1015ac:	c7 04 85 40 83 10 00 	movl   $0x0,0x108340(,%eax,4)
  1015b3:	00 00 00 00 
  1015b7:	40                   	inc    %eax
  1015b8:	83 f8 7f             	cmp    $0x7f,%eax
  1015bb:	7e ef                	jle    1015ac <init_keyboard+0x30>

	makebreak = 0;
	//klog(NULL, K_KLOG_SUCCESS, &_vc[0], NULL);
	//kprintf("init_kbd: %u buffers, %u bytes each\n",
	//	MAX_VC, KBD_BUF_SIZE);
	
	//kprintf("[ Entering Runlevel 0 ].......................................................Ok");
	_vc[0].attrib = 8;
	printf("[ ");
  1015bd:	83 ec 0c             	sub    $0xc,%esp
  1015c0:	68 b6 51 10 00       	push   $0x1051b6
  1015c5:	c7 05 a0 85 10 00 00 	movl   $0x0,0x1085a0
  1015cc:	00 00 00 
  1015cf:	c7 05 f8 a2 19 00 08 	movl   $0x8,0x19a2f8
  1015d6:	00 00 00 
  1015d9:	e8 f6 3a 00 00       	call   1050d4 <printf>
	_vc[0].attrib = 15;
	printf("init: keyboard %2u buf, %2ub each ", MAX_VC, KBD_BUF_SIZE);
  1015de:	83 c4 0c             	add    $0xc,%esp
  1015e1:	6a 40                	push   $0x40
  1015e3:	6a 0c                	push   $0xc
  1015e5:	68 60 58 10 00       	push   $0x105860
  1015ea:	c7 05 f8 a2 19 00 0f 	movl   $0xf,0x19a2f8
  1015f1:	00 00 00 
  1015f4:	e8 db 3a 00 00       	call   1050d4 <printf>
	_vc[0].attrib = 8;
	printf("]...........................................");
  1015f9:	c7 04 24 a0 58 10 00 	movl   $0x1058a0,(%esp,1)
  101600:	c7 05 f8 a2 19 00 08 	movl   $0x8,0x19a2f8
  101607:	00 00 00 
  10160a:	e8 c5 3a 00 00       	call   1050d4 <printf>
	_vc[0].attrib = 2;
	printf("Ok");
  10160f:	c7 04 24 d9 54 10 00 	movl   $0x1054d9,(%esp,1)
  101616:	c7 05 f8 a2 19 00 02 	movl   $0x2,0x19a2f8
  10161d:	00 00 00 
  101620:	e8 af 3a 00 00       	call   1050d4 <printf>
	_vc[0].attrib = 7;
  101625:	c7 05 f8 a2 19 00 07 	movl   $0x7,0x19a2f8
  10162c:	00 00 00 
}
  10162f:	c9                   	leave  
  101630:	c3                   	ret    
	...

00101640 <entry>:
  101640:	a1 00 70 10 00       	mov    0x107000,%eax
  101645:	3d 2a da 44 35       	cmp    $0x3544da2a,%eax
  10164a:	74 0b                	je     101657 <ds_ok>
  10164c:	66 c7 05 00 80 0b 00 	movw   $0x9f44,0xb8000
  101653:	44 9f 
  101655:	eb fe                	jmp    101655 <entry+0x15>

00101657 <ds_ok>:
  101657:	0f 01 15 24 70 10 00 	lgdtl  0x107024
  10165e:	66 b8 10 00          	mov    $0x10,%ax
  101662:	8e d8                	mov    %eax,%ds
  101664:	8e c0                	mov    %eax,%es
  101666:	8e d0                	mov    %eax,%ss
  101668:	8e e0                	mov    %eax,%fs
  10166a:	8e e8                	mov    %eax,%gs
  10166c:	ea 73 16 10 00 18 00 	ljmp   $0x18,$0x101673

00101673 <sbat>:
  101673:	bf 00 80 10 00       	mov    $0x108000,%edi
  101678:	b9 00 b0 19 00       	mov    $0x19b000,%ecx
  10167d:	29 f9                	sub    %edi,%ecx
  10167f:	31 c0                	xor    %eax,%eax
  101681:	f3 aa                	repz stos %al,%es:(%edi)
  101683:	bc a4 95 10 00       	mov    $0x1095a4,%esp
  101688:	b9 00 01 00 00       	mov    $0x100,%ecx
  10168d:	bf 2a 70 10 00       	mov    $0x10702a,%edi
  101692:	be 6b 17 10 00       	mov    $0x10176b,%esi

00101697 <do_idt>:
  101697:	89 f0                	mov    %esi,%eax
  101699:	66 89 07             	mov    %ax,(%edi)
  10169c:	c1 e8 10             	shr    $0x10,%eax
  10169f:	66 89 47 06          	mov    %ax,0x6(%edi)
  1016a3:	81 c7 08 00 00 00    	add    $0x8,%edi
  1016a9:	81 c6 26 00 00 00    	add    $0x26,%esi
  1016af:	e2 e6                	loop   101697 <do_idt>
  1016b1:	0f 01 1d 2a 78 10 00 	lidtl  0x10782a
  1016b8:	68 02 00 00 00       	push   $0x2
  1016bd:	9d                   	popf   
  1016be:	e8 61 2c 00 00       	call   104324 <main>
  1016c3:	eb fe                	jmp    1016c3 <do_idt+0x2c>
  1016c5:	90                   	nop    
  1016c6:	90                   	nop    
  1016c7:	90                   	nop    

001016c8 <mboot>:
  1016c8:	02 b0 ad 1b 03 00    	add    0x31bad(%eax),%dh
  1016ce:	01 00                	add    %eax,(%eax)
  1016d0:	fb                   	sti    
  1016d1:	4f                   	dec    %edi
  1016d2:	51                   	push   %ecx
  1016d3:	e4 c8                	in     $0xc8,%al
  1016d5:	16                   	push   %ss
  1016d6:	10 00                	adc    %al,(%eax)
  1016d8:	00 00                	add    %al,(%eax)
  1016da:	10 00                	adc    %al,(%eax)
  1016dc:	00 80 10 00 00 b0    	add    %al,0xb0000010(%eax)
  1016e2:	19 00                	sbb    %eax,(%eax)
  1016e4:	40                   	inc    %eax
  1016e5:	16                   	push   %ss
  1016e6:	10 00                	adc    %al,(%eax)

001016e8 <all_ints>:
  1016e8:	58                   	pop    %eax
  1016e9:	61                   	popa   
  1016ea:	1f                   	pop    %ds
  1016eb:	07                   	pop    %es
  1016ec:	0f a1                	pop    %fs
  1016ee:	0f a9                	pop    %gs
  1016f0:	81 c4 08 00 00 00    	add    $0x8,%esp
  1016f6:	cf                   	iret   

001016f7 <_getvect>:
  1016f7:	55                   	push   %ebp
  1016f8:	89 e5                	mov    %esp,%ebp
  1016fa:	56                   	push   %esi
  1016fb:	53                   	push   %ebx
  1016fc:	8b 75 08             	mov    0x8(%ebp),%esi
  1016ff:	31 db                	xor    %ebx,%ebx
  101701:	8a 5d 0c             	mov    0xc(%ebp),%bl
  101704:	c1 e3 03             	shl    $0x3,%ebx
  101707:	8a 83 2f 70 10 00    	mov    0x10702f(%ebx),%al
  10170d:	89 06                	mov    %eax,(%esi)
  10170f:	b8 91 17 10 00       	mov    $0x101791,%eax
  101714:	2d 6b 17 10 00       	sub    $0x10176b,%eax
  101719:	f6 65 0c             	mulb   0xc(%ebp)
  10171c:	89 c3                	mov    %eax,%ebx
  10171e:	81 c3 6b 17 10 00    	add    $0x10176b,%ebx
  101724:	8b 83 1b 00 00 00    	mov    0x1b(%ebx),%eax
  10172a:	89 46 04             	mov    %eax,0x4(%esi)
  10172d:	5b                   	pop    %ebx
  10172e:	5e                   	pop    %esi
  10172f:	5d                   	pop    %ebp
  101730:	c3                   	ret    

00101731 <_setvect>:
  101731:	55                   	push   %ebp
  101732:	89 e5                	mov    %esp,%ebp
  101734:	56                   	push   %esi
  101735:	53                   	push   %ebx
  101736:	8b 75 08             	mov    0x8(%ebp),%esi
  101739:	8b 06                	mov    (%esi),%eax
  10173b:	31 db                	xor    %ebx,%ebx
  10173d:	8a 5d 0c             	mov    0xc(%ebp),%bl
  101740:	c1 e3 03             	shl    $0x3,%ebx
  101743:	88 83 2f 70 10 00    	mov    %al,0x10702f(%ebx)
  101749:	b8 91 17 10 00       	mov    $0x101791,%eax
  10174e:	2d 6b 17 10 00       	sub    $0x10176b,%eax
  101753:	f6 65 0c             	mulb   0xc(%ebp)
  101756:	89 c3                	mov    %eax,%ebx
  101758:	81 c3 6b 17 10 00    	add    $0x10176b,%ebx
  10175e:	8b 46 04             	mov    0x4(%esi),%eax
  101761:	89 83 1b 00 00 00    	mov    %eax,0x1b(%ebx)
  101767:	5b                   	pop    %ebx
  101768:	5e                   	pop    %esi
  101769:	5d                   	pop    %ebp
  10176a:	c3                   	ret    

0010176b <isr0>:
  10176b:	6a 00                	push   $0x0
  10176d:	6a 00                	push   $0x0
  10176f:	0f a8                	push   %gs
  101771:	0f a0                	push   %fs
  101773:	06                   	push   %es
  101774:	1e                   	push   %ds
  101775:	60                   	pusha  
  101776:	66 b8 10 00          	mov    $0x10,%ax
  10177a:	8e d8                	mov    %eax,%ds
  10177c:	8e c0                	mov    %eax,%es
  10177e:	8e e0                	mov    %eax,%fs
  101780:	8e e8                	mov    %eax,%gs
  101782:	89 e0                	mov    %esp,%eax
  101784:	50                   	push   %eax

00101785 <isr0.1>:
  101785:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10178a:	ff d0                	call   *%eax
  10178c:	e9 57 ff ff ff       	jmp    1016e8 <all_ints>

00101791 <isr1>:
  101791:	6a 00                	push   $0x0
  101793:	6a 01                	push   $0x1
  101795:	0f a8                	push   %gs
  101797:	0f a0                	push   %fs
  101799:	06                   	push   %es
  10179a:	1e                   	push   %ds
  10179b:	60                   	pusha  
  10179c:	66 b8 10 00          	mov    $0x10,%ax
  1017a0:	8e d8                	mov    %eax,%ds
  1017a2:	8e c0                	mov    %eax,%es
  1017a4:	8e e0                	mov    %eax,%fs
  1017a6:	8e e8                	mov    %eax,%gs
  1017a8:	89 e0                	mov    %esp,%eax
  1017aa:	50                   	push   %eax

001017ab <isr1.1>:
  1017ab:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1017b0:	ff d0                	call   *%eax
  1017b2:	e9 31 ff ff ff       	jmp    1016e8 <all_ints>

001017b7 <isr2>:
  1017b7:	6a 00                	push   $0x0
  1017b9:	6a 02                	push   $0x2
  1017bb:	0f a8                	push   %gs
  1017bd:	0f a0                	push   %fs
  1017bf:	06                   	push   %es
  1017c0:	1e                   	push   %ds
  1017c1:	60                   	pusha  
  1017c2:	66 b8 10 00          	mov    $0x10,%ax
  1017c6:	8e d8                	mov    %eax,%ds
  1017c8:	8e c0                	mov    %eax,%es
  1017ca:	8e e0                	mov    %eax,%fs
  1017cc:	8e e8                	mov    %eax,%gs
  1017ce:	89 e0                	mov    %esp,%eax
  1017d0:	50                   	push   %eax

001017d1 <isr2.1>:
  1017d1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1017d6:	ff d0                	call   *%eax
  1017d8:	e9 0b ff ff ff       	jmp    1016e8 <all_ints>

001017dd <isr3>:
  1017dd:	6a 00                	push   $0x0
  1017df:	6a 03                	push   $0x3
  1017e1:	0f a8                	push   %gs
  1017e3:	0f a0                	push   %fs
  1017e5:	06                   	push   %es
  1017e6:	1e                   	push   %ds
  1017e7:	60                   	pusha  
  1017e8:	66 b8 10 00          	mov    $0x10,%ax
  1017ec:	8e d8                	mov    %eax,%ds
  1017ee:	8e c0                	mov    %eax,%es
  1017f0:	8e e0                	mov    %eax,%fs
  1017f2:	8e e8                	mov    %eax,%gs
  1017f4:	89 e0                	mov    %esp,%eax
  1017f6:	50                   	push   %eax

001017f7 <isr3.1>:
  1017f7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1017fc:	ff d0                	call   *%eax
  1017fe:	e9 e5 fe ff ff       	jmp    1016e8 <all_ints>

00101803 <isr4>:
  101803:	6a 00                	push   $0x0
  101805:	6a 04                	push   $0x4
  101807:	0f a8                	push   %gs
  101809:	0f a0                	push   %fs
  10180b:	06                   	push   %es
  10180c:	1e                   	push   %ds
  10180d:	60                   	pusha  
  10180e:	66 b8 10 00          	mov    $0x10,%ax
  101812:	8e d8                	mov    %eax,%ds
  101814:	8e c0                	mov    %eax,%es
  101816:	8e e0                	mov    %eax,%fs
  101818:	8e e8                	mov    %eax,%gs
  10181a:	89 e0                	mov    %esp,%eax
  10181c:	50                   	push   %eax

0010181d <isr4.1>:
  10181d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101822:	ff d0                	call   *%eax
  101824:	e9 bf fe ff ff       	jmp    1016e8 <all_ints>

00101829 <isr5>:
  101829:	6a 00                	push   $0x0
  10182b:	6a 05                	push   $0x5
  10182d:	0f a8                	push   %gs
  10182f:	0f a0                	push   %fs
  101831:	06                   	push   %es
  101832:	1e                   	push   %ds
  101833:	60                   	pusha  
  101834:	66 b8 10 00          	mov    $0x10,%ax
  101838:	8e d8                	mov    %eax,%ds
  10183a:	8e c0                	mov    %eax,%es
  10183c:	8e e0                	mov    %eax,%fs
  10183e:	8e e8                	mov    %eax,%gs
  101840:	89 e0                	mov    %esp,%eax
  101842:	50                   	push   %eax

00101843 <isr5.1>:
  101843:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101848:	ff d0                	call   *%eax
  10184a:	e9 99 fe ff ff       	jmp    1016e8 <all_ints>

0010184f <isr6>:
  10184f:	6a 00                	push   $0x0
  101851:	6a 06                	push   $0x6
  101853:	0f a8                	push   %gs
  101855:	0f a0                	push   %fs
  101857:	06                   	push   %es
  101858:	1e                   	push   %ds
  101859:	60                   	pusha  
  10185a:	66 b8 10 00          	mov    $0x10,%ax
  10185e:	8e d8                	mov    %eax,%ds
  101860:	8e c0                	mov    %eax,%es
  101862:	8e e0                	mov    %eax,%fs
  101864:	8e e8                	mov    %eax,%gs
  101866:	89 e0                	mov    %esp,%eax
  101868:	50                   	push   %eax

00101869 <isr6.1>:
  101869:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10186e:	ff d0                	call   *%eax
  101870:	e9 73 fe ff ff       	jmp    1016e8 <all_ints>

00101875 <isr7>:
  101875:	6a 00                	push   $0x0
  101877:	6a 07                	push   $0x7
  101879:	0f a8                	push   %gs
  10187b:	0f a0                	push   %fs
  10187d:	06                   	push   %es
  10187e:	1e                   	push   %ds
  10187f:	60                   	pusha  
  101880:	66 b8 10 00          	mov    $0x10,%ax
  101884:	8e d8                	mov    %eax,%ds
  101886:	8e c0                	mov    %eax,%es
  101888:	8e e0                	mov    %eax,%fs
  10188a:	8e e8                	mov    %eax,%gs
  10188c:	89 e0                	mov    %esp,%eax
  10188e:	50                   	push   %eax

0010188f <isr7.1>:
  10188f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101894:	ff d0                	call   *%eax
  101896:	e9 4d fe ff ff       	jmp    1016e8 <all_ints>

0010189b <isr8>:
  10189b:	90                   	nop    
  10189c:	90                   	nop    
  10189d:	6a 08                	push   $0x8
  10189f:	0f a8                	push   %gs
  1018a1:	0f a0                	push   %fs
  1018a3:	06                   	push   %es
  1018a4:	1e                   	push   %ds
  1018a5:	60                   	pusha  
  1018a6:	66 b8 10 00          	mov    $0x10,%ax
  1018aa:	8e d8                	mov    %eax,%ds
  1018ac:	8e c0                	mov    %eax,%es
  1018ae:	8e e0                	mov    %eax,%fs
  1018b0:	8e e8                	mov    %eax,%gs
  1018b2:	89 e0                	mov    %esp,%eax
  1018b4:	50                   	push   %eax

001018b5 <isr8.1>:
  1018b5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1018ba:	ff d0                	call   *%eax
  1018bc:	e9 27 fe ff ff       	jmp    1016e8 <all_ints>

001018c1 <isr9>:
  1018c1:	6a 00                	push   $0x0
  1018c3:	6a 09                	push   $0x9
  1018c5:	0f a8                	push   %gs
  1018c7:	0f a0                	push   %fs
  1018c9:	06                   	push   %es
  1018ca:	1e                   	push   %ds
  1018cb:	60                   	pusha  
  1018cc:	66 b8 10 00          	mov    $0x10,%ax
  1018d0:	8e d8                	mov    %eax,%ds
  1018d2:	8e c0                	mov    %eax,%es
  1018d4:	8e e0                	mov    %eax,%fs
  1018d6:	8e e8                	mov    %eax,%gs
  1018d8:	89 e0                	mov    %esp,%eax
  1018da:	50                   	push   %eax

001018db <isr9.1>:
  1018db:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1018e0:	ff d0                	call   *%eax
  1018e2:	e9 01 fe ff ff       	jmp    1016e8 <all_ints>

001018e7 <isr0Ah>:
  1018e7:	90                   	nop    
  1018e8:	90                   	nop    
  1018e9:	6a 0a                	push   $0xa
  1018eb:	0f a8                	push   %gs
  1018ed:	0f a0                	push   %fs
  1018ef:	06                   	push   %es
  1018f0:	1e                   	push   %ds
  1018f1:	60                   	pusha  
  1018f2:	66 b8 10 00          	mov    $0x10,%ax
  1018f6:	8e d8                	mov    %eax,%ds
  1018f8:	8e c0                	mov    %eax,%es
  1018fa:	8e e0                	mov    %eax,%fs
  1018fc:	8e e8                	mov    %eax,%gs
  1018fe:	89 e0                	mov    %esp,%eax
  101900:	50                   	push   %eax

00101901 <isr0Ah.1>:
  101901:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101906:	ff d0                	call   *%eax
  101908:	e9 db fd ff ff       	jmp    1016e8 <all_ints>

0010190d <isr0Bh>:
  10190d:	90                   	nop    
  10190e:	90                   	nop    
  10190f:	6a 0b                	push   $0xb
  101911:	0f a8                	push   %gs
  101913:	0f a0                	push   %fs
  101915:	06                   	push   %es
  101916:	1e                   	push   %ds
  101917:	60                   	pusha  
  101918:	66 b8 10 00          	mov    $0x10,%ax
  10191c:	8e d8                	mov    %eax,%ds
  10191e:	8e c0                	mov    %eax,%es
  101920:	8e e0                	mov    %eax,%fs
  101922:	8e e8                	mov    %eax,%gs
  101924:	89 e0                	mov    %esp,%eax
  101926:	50                   	push   %eax

00101927 <isr0Bh.1>:
  101927:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10192c:	ff d0                	call   *%eax
  10192e:	e9 b5 fd ff ff       	jmp    1016e8 <all_ints>

00101933 <isr0Ch>:
  101933:	90                   	nop    
  101934:	90                   	nop    
  101935:	6a 0c                	push   $0xc
  101937:	0f a8                	push   %gs
  101939:	0f a0                	push   %fs
  10193b:	06                   	push   %es
  10193c:	1e                   	push   %ds
  10193d:	60                   	pusha  
  10193e:	66 b8 10 00          	mov    $0x10,%ax
  101942:	8e d8                	mov    %eax,%ds
  101944:	8e c0                	mov    %eax,%es
  101946:	8e e0                	mov    %eax,%fs
  101948:	8e e8                	mov    %eax,%gs
  10194a:	89 e0                	mov    %esp,%eax
  10194c:	50                   	push   %eax

0010194d <isr0Ch.1>:
  10194d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101952:	ff d0                	call   *%eax
  101954:	e9 8f fd ff ff       	jmp    1016e8 <all_ints>

00101959 <isr0Dh>:
  101959:	90                   	nop    
  10195a:	90                   	nop    
  10195b:	6a 0d                	push   $0xd
  10195d:	0f a8                	push   %gs
  10195f:	0f a0                	push   %fs
  101961:	06                   	push   %es
  101962:	1e                   	push   %ds
  101963:	60                   	pusha  
  101964:	66 b8 10 00          	mov    $0x10,%ax
  101968:	8e d8                	mov    %eax,%ds
  10196a:	8e c0                	mov    %eax,%es
  10196c:	8e e0                	mov    %eax,%fs
  10196e:	8e e8                	mov    %eax,%gs
  101970:	89 e0                	mov    %esp,%eax
  101972:	50                   	push   %eax

00101973 <isr0Dh.1>:
  101973:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101978:	ff d0                	call   *%eax
  10197a:	e9 69 fd ff ff       	jmp    1016e8 <all_ints>

0010197f <isr0Eh>:
  10197f:	90                   	nop    
  101980:	90                   	nop    
  101981:	6a 0e                	push   $0xe
  101983:	0f a8                	push   %gs
  101985:	0f a0                	push   %fs
  101987:	06                   	push   %es
  101988:	1e                   	push   %ds
  101989:	60                   	pusha  
  10198a:	66 b8 10 00          	mov    $0x10,%ax
  10198e:	8e d8                	mov    %eax,%ds
  101990:	8e c0                	mov    %eax,%es
  101992:	8e e0                	mov    %eax,%fs
  101994:	8e e8                	mov    %eax,%gs
  101996:	89 e0                	mov    %esp,%eax
  101998:	50                   	push   %eax

00101999 <isr0Eh.1>:
  101999:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10199e:	ff d0                	call   *%eax
  1019a0:	e9 43 fd ff ff       	jmp    1016e8 <all_ints>

001019a5 <isr0Fh>:
  1019a5:	6a 00                	push   $0x0
  1019a7:	6a 0f                	push   $0xf
  1019a9:	0f a8                	push   %gs
  1019ab:	0f a0                	push   %fs
  1019ad:	06                   	push   %es
  1019ae:	1e                   	push   %ds
  1019af:	60                   	pusha  
  1019b0:	66 b8 10 00          	mov    $0x10,%ax
  1019b4:	8e d8                	mov    %eax,%ds
  1019b6:	8e c0                	mov    %eax,%es
  1019b8:	8e e0                	mov    %eax,%fs
  1019ba:	8e e8                	mov    %eax,%gs
  1019bc:	89 e0                	mov    %esp,%eax
  1019be:	50                   	push   %eax

001019bf <isr0Fh.1>:
  1019bf:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1019c4:	ff d0                	call   *%eax
  1019c6:	e9 1d fd ff ff       	jmp    1016e8 <all_ints>

001019cb <isr10h>:
  1019cb:	6a 00                	push   $0x0
  1019cd:	6a 10                	push   $0x10
  1019cf:	0f a8                	push   %gs
  1019d1:	0f a0                	push   %fs
  1019d3:	06                   	push   %es
  1019d4:	1e                   	push   %ds
  1019d5:	60                   	pusha  
  1019d6:	66 b8 10 00          	mov    $0x10,%ax
  1019da:	8e d8                	mov    %eax,%ds
  1019dc:	8e c0                	mov    %eax,%es
  1019de:	8e e0                	mov    %eax,%fs
  1019e0:	8e e8                	mov    %eax,%gs
  1019e2:	89 e0                	mov    %esp,%eax
  1019e4:	50                   	push   %eax

001019e5 <isr10h.1>:
  1019e5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1019ea:	ff d0                	call   *%eax
  1019ec:	e9 f7 fc ff ff       	jmp    1016e8 <all_ints>

001019f1 <isr11h>:
  1019f1:	6a 00                	push   $0x0
  1019f3:	6a 11                	push   $0x11
  1019f5:	0f a8                	push   %gs
  1019f7:	0f a0                	push   %fs
  1019f9:	06                   	push   %es
  1019fa:	1e                   	push   %ds
  1019fb:	60                   	pusha  
  1019fc:	66 b8 10 00          	mov    $0x10,%ax
  101a00:	8e d8                	mov    %eax,%ds
  101a02:	8e c0                	mov    %eax,%es
  101a04:	8e e0                	mov    %eax,%fs
  101a06:	8e e8                	mov    %eax,%gs
  101a08:	89 e0                	mov    %esp,%eax
  101a0a:	50                   	push   %eax

00101a0b <isr11h.1>:
  101a0b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101a10:	ff d0                	call   *%eax
  101a12:	e9 d1 fc ff ff       	jmp    1016e8 <all_ints>

00101a17 <isr12h>:
  101a17:	6a 00                	push   $0x0
  101a19:	6a 12                	push   $0x12
  101a1b:	0f a8                	push   %gs
  101a1d:	0f a0                	push   %fs
  101a1f:	06                   	push   %es
  101a20:	1e                   	push   %ds
  101a21:	60                   	pusha  
  101a22:	66 b8 10 00          	mov    $0x10,%ax
  101a26:	8e d8                	mov    %eax,%ds
  101a28:	8e c0                	mov    %eax,%es
  101a2a:	8e e0                	mov    %eax,%fs
  101a2c:	8e e8                	mov    %eax,%gs
  101a2e:	89 e0                	mov    %esp,%eax
  101a30:	50                   	push   %eax

00101a31 <isr12h.1>:
  101a31:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101a36:	ff d0                	call   *%eax
  101a38:	e9 ab fc ff ff       	jmp    1016e8 <all_ints>

00101a3d <isr13h>:
  101a3d:	6a 00                	push   $0x0
  101a3f:	6a 13                	push   $0x13
  101a41:	0f a8                	push   %gs
  101a43:	0f a0                	push   %fs
  101a45:	06                   	push   %es
  101a46:	1e                   	push   %ds
  101a47:	60                   	pusha  
  101a48:	66 b8 10 00          	mov    $0x10,%ax
  101a4c:	8e d8                	mov    %eax,%ds
  101a4e:	8e c0                	mov    %eax,%es
  101a50:	8e e0                	mov    %eax,%fs
  101a52:	8e e8                	mov    %eax,%gs
  101a54:	89 e0                	mov    %esp,%eax
  101a56:	50                   	push   %eax

00101a57 <isr13h.1>:
  101a57:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101a5c:	ff d0                	call   *%eax
  101a5e:	e9 85 fc ff ff       	jmp    1016e8 <all_ints>

00101a63 <isr14h>:
  101a63:	6a 00                	push   $0x0
  101a65:	6a 14                	push   $0x14
  101a67:	0f a8                	push   %gs
  101a69:	0f a0                	push   %fs
  101a6b:	06                   	push   %es
  101a6c:	1e                   	push   %ds
  101a6d:	60                   	pusha  
  101a6e:	66 b8 10 00          	mov    $0x10,%ax
  101a72:	8e d8                	mov    %eax,%ds
  101a74:	8e c0                	mov    %eax,%es
  101a76:	8e e0                	mov    %eax,%fs
  101a78:	8e e8                	mov    %eax,%gs
  101a7a:	89 e0                	mov    %esp,%eax
  101a7c:	50                   	push   %eax

00101a7d <isr14h.1>:
  101a7d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101a82:	ff d0                	call   *%eax
  101a84:	e9 5f fc ff ff       	jmp    1016e8 <all_ints>

00101a89 <isr15h>:
  101a89:	6a 00                	push   $0x0
  101a8b:	6a 15                	push   $0x15
  101a8d:	0f a8                	push   %gs
  101a8f:	0f a0                	push   %fs
  101a91:	06                   	push   %es
  101a92:	1e                   	push   %ds
  101a93:	60                   	pusha  
  101a94:	66 b8 10 00          	mov    $0x10,%ax
  101a98:	8e d8                	mov    %eax,%ds
  101a9a:	8e c0                	mov    %eax,%es
  101a9c:	8e e0                	mov    %eax,%fs
  101a9e:	8e e8                	mov    %eax,%gs
  101aa0:	89 e0                	mov    %esp,%eax
  101aa2:	50                   	push   %eax

00101aa3 <isr15h.1>:
  101aa3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101aa8:	ff d0                	call   *%eax
  101aaa:	e9 39 fc ff ff       	jmp    1016e8 <all_ints>

00101aaf <isr16h>:
  101aaf:	6a 00                	push   $0x0
  101ab1:	6a 16                	push   $0x16
  101ab3:	0f a8                	push   %gs
  101ab5:	0f a0                	push   %fs
  101ab7:	06                   	push   %es
  101ab8:	1e                   	push   %ds
  101ab9:	60                   	pusha  
  101aba:	66 b8 10 00          	mov    $0x10,%ax
  101abe:	8e d8                	mov    %eax,%ds
  101ac0:	8e c0                	mov    %eax,%es
  101ac2:	8e e0                	mov    %eax,%fs
  101ac4:	8e e8                	mov    %eax,%gs
  101ac6:	89 e0                	mov    %esp,%eax
  101ac8:	50                   	push   %eax

00101ac9 <isr16h.1>:
  101ac9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101ace:	ff d0                	call   *%eax
  101ad0:	e9 13 fc ff ff       	jmp    1016e8 <all_ints>

00101ad5 <isr17h>:
  101ad5:	6a 00                	push   $0x0
  101ad7:	6a 17                	push   $0x17
  101ad9:	0f a8                	push   %gs
  101adb:	0f a0                	push   %fs
  101add:	06                   	push   %es
  101ade:	1e                   	push   %ds
  101adf:	60                   	pusha  
  101ae0:	66 b8 10 00          	mov    $0x10,%ax
  101ae4:	8e d8                	mov    %eax,%ds
  101ae6:	8e c0                	mov    %eax,%es
  101ae8:	8e e0                	mov    %eax,%fs
  101aea:	8e e8                	mov    %eax,%gs
  101aec:	89 e0                	mov    %esp,%eax
  101aee:	50                   	push   %eax

00101aef <isr17h.1>:
  101aef:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101af4:	ff d0                	call   *%eax
  101af6:	e9 ed fb ff ff       	jmp    1016e8 <all_ints>

00101afb <isr18h>:
  101afb:	6a 00                	push   $0x0
  101afd:	6a 18                	push   $0x18
  101aff:	0f a8                	push   %gs
  101b01:	0f a0                	push   %fs
  101b03:	06                   	push   %es
  101b04:	1e                   	push   %ds
  101b05:	60                   	pusha  
  101b06:	66 b8 10 00          	mov    $0x10,%ax
  101b0a:	8e d8                	mov    %eax,%ds
  101b0c:	8e c0                	mov    %eax,%es
  101b0e:	8e e0                	mov    %eax,%fs
  101b10:	8e e8                	mov    %eax,%gs
  101b12:	89 e0                	mov    %esp,%eax
  101b14:	50                   	push   %eax

00101b15 <isr18h.1>:
  101b15:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101b1a:	ff d0                	call   *%eax
  101b1c:	e9 c7 fb ff ff       	jmp    1016e8 <all_ints>

00101b21 <isr19h>:
  101b21:	6a 00                	push   $0x0
  101b23:	6a 19                	push   $0x19
  101b25:	0f a8                	push   %gs
  101b27:	0f a0                	push   %fs
  101b29:	06                   	push   %es
  101b2a:	1e                   	push   %ds
  101b2b:	60                   	pusha  
  101b2c:	66 b8 10 00          	mov    $0x10,%ax
  101b30:	8e d8                	mov    %eax,%ds
  101b32:	8e c0                	mov    %eax,%es
  101b34:	8e e0                	mov    %eax,%fs
  101b36:	8e e8                	mov    %eax,%gs
  101b38:	89 e0                	mov    %esp,%eax
  101b3a:	50                   	push   %eax

00101b3b <isr19h.1>:
  101b3b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101b40:	ff d0                	call   *%eax
  101b42:	e9 a1 fb ff ff       	jmp    1016e8 <all_ints>

00101b47 <isr1Ah>:
  101b47:	6a 00                	push   $0x0
  101b49:	6a 1a                	push   $0x1a
  101b4b:	0f a8                	push   %gs
  101b4d:	0f a0                	push   %fs
  101b4f:	06                   	push   %es
  101b50:	1e                   	push   %ds
  101b51:	60                   	pusha  
  101b52:	66 b8 10 00          	mov    $0x10,%ax
  101b56:	8e d8                	mov    %eax,%ds
  101b58:	8e c0                	mov    %eax,%es
  101b5a:	8e e0                	mov    %eax,%fs
  101b5c:	8e e8                	mov    %eax,%gs
  101b5e:	89 e0                	mov    %esp,%eax
  101b60:	50                   	push   %eax

00101b61 <isr1Ah.1>:
  101b61:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101b66:	ff d0                	call   *%eax
  101b68:	e9 7b fb ff ff       	jmp    1016e8 <all_ints>

00101b6d <isr1Bh>:
  101b6d:	6a 00                	push   $0x0
  101b6f:	6a 1b                	push   $0x1b
  101b71:	0f a8                	push   %gs
  101b73:	0f a0                	push   %fs
  101b75:	06                   	push   %es
  101b76:	1e                   	push   %ds
  101b77:	60                   	pusha  
  101b78:	66 b8 10 00          	mov    $0x10,%ax
  101b7c:	8e d8                	mov    %eax,%ds
  101b7e:	8e c0                	mov    %eax,%es
  101b80:	8e e0                	mov    %eax,%fs
  101b82:	8e e8                	mov    %eax,%gs
  101b84:	89 e0                	mov    %esp,%eax
  101b86:	50                   	push   %eax

00101b87 <isr1Bh.1>:
  101b87:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101b8c:	ff d0                	call   *%eax
  101b8e:	e9 55 fb ff ff       	jmp    1016e8 <all_ints>

00101b93 <isr1Ch>:
  101b93:	6a 00                	push   $0x0
  101b95:	6a 1c                	push   $0x1c
  101b97:	0f a8                	push   %gs
  101b99:	0f a0                	push   %fs
  101b9b:	06                   	push   %es
  101b9c:	1e                   	push   %ds
  101b9d:	60                   	pusha  
  101b9e:	66 b8 10 00          	mov    $0x10,%ax
  101ba2:	8e d8                	mov    %eax,%ds
  101ba4:	8e c0                	mov    %eax,%es
  101ba6:	8e e0                	mov    %eax,%fs
  101ba8:	8e e8                	mov    %eax,%gs
  101baa:	89 e0                	mov    %esp,%eax
  101bac:	50                   	push   %eax

00101bad <isr1Ch.1>:
  101bad:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101bb2:	ff d0                	call   *%eax
  101bb4:	e9 2f fb ff ff       	jmp    1016e8 <all_ints>

00101bb9 <isr1Dh>:
  101bb9:	6a 00                	push   $0x0
  101bbb:	6a 1d                	push   $0x1d
  101bbd:	0f a8                	push   %gs
  101bbf:	0f a0                	push   %fs
  101bc1:	06                   	push   %es
  101bc2:	1e                   	push   %ds
  101bc3:	60                   	pusha  
  101bc4:	66 b8 10 00          	mov    $0x10,%ax
  101bc8:	8e d8                	mov    %eax,%ds
  101bca:	8e c0                	mov    %eax,%es
  101bcc:	8e e0                	mov    %eax,%fs
  101bce:	8e e8                	mov    %eax,%gs
  101bd0:	89 e0                	mov    %esp,%eax
  101bd2:	50                   	push   %eax

00101bd3 <isr1Dh.1>:
  101bd3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101bd8:	ff d0                	call   *%eax
  101bda:	e9 09 fb ff ff       	jmp    1016e8 <all_ints>

00101bdf <isr1Eh>:
  101bdf:	6a 00                	push   $0x0
  101be1:	6a 1e                	push   $0x1e
  101be3:	0f a8                	push   %gs
  101be5:	0f a0                	push   %fs
  101be7:	06                   	push   %es
  101be8:	1e                   	push   %ds
  101be9:	60                   	pusha  
  101bea:	66 b8 10 00          	mov    $0x10,%ax
  101bee:	8e d8                	mov    %eax,%ds
  101bf0:	8e c0                	mov    %eax,%es
  101bf2:	8e e0                	mov    %eax,%fs
  101bf4:	8e e8                	mov    %eax,%gs
  101bf6:	89 e0                	mov    %esp,%eax
  101bf8:	50                   	push   %eax

00101bf9 <isr1Eh.1>:
  101bf9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101bfe:	ff d0                	call   *%eax
  101c00:	e9 e3 fa ff ff       	jmp    1016e8 <all_ints>

00101c05 <isr1Fh>:
  101c05:	6a 00                	push   $0x0
  101c07:	6a 1f                	push   $0x1f
  101c09:	0f a8                	push   %gs
  101c0b:	0f a0                	push   %fs
  101c0d:	06                   	push   %es
  101c0e:	1e                   	push   %ds
  101c0f:	60                   	pusha  
  101c10:	66 b8 10 00          	mov    $0x10,%ax
  101c14:	8e d8                	mov    %eax,%ds
  101c16:	8e c0                	mov    %eax,%es
  101c18:	8e e0                	mov    %eax,%fs
  101c1a:	8e e8                	mov    %eax,%gs
  101c1c:	89 e0                	mov    %esp,%eax
  101c1e:	50                   	push   %eax

00101c1f <isr1Fh.1>:
  101c1f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101c24:	ff d0                	call   *%eax
  101c26:	e9 bd fa ff ff       	jmp    1016e8 <all_ints>

00101c2b <isr20h>:
  101c2b:	6a 00                	push   $0x0
  101c2d:	6a 20                	push   $0x20
  101c2f:	0f a8                	push   %gs
  101c31:	0f a0                	push   %fs
  101c33:	06                   	push   %es
  101c34:	1e                   	push   %ds
  101c35:	60                   	pusha  
  101c36:	66 b8 10 00          	mov    $0x10,%ax
  101c3a:	8e d8                	mov    %eax,%ds
  101c3c:	8e c0                	mov    %eax,%es
  101c3e:	8e e0                	mov    %eax,%fs
  101c40:	8e e8                	mov    %eax,%gs
  101c42:	89 e0                	mov    %esp,%eax
  101c44:	50                   	push   %eax

00101c45 <isr20h.1>:
  101c45:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101c4a:	ff d0                	call   *%eax
  101c4c:	e9 97 fa ff ff       	jmp    1016e8 <all_ints>

00101c51 <isr21h>:
  101c51:	6a 00                	push   $0x0
  101c53:	6a 21                	push   $0x21
  101c55:	0f a8                	push   %gs
  101c57:	0f a0                	push   %fs
  101c59:	06                   	push   %es
  101c5a:	1e                   	push   %ds
  101c5b:	60                   	pusha  
  101c5c:	66 b8 10 00          	mov    $0x10,%ax
  101c60:	8e d8                	mov    %eax,%ds
  101c62:	8e c0                	mov    %eax,%es
  101c64:	8e e0                	mov    %eax,%fs
  101c66:	8e e8                	mov    %eax,%gs
  101c68:	89 e0                	mov    %esp,%eax
  101c6a:	50                   	push   %eax

00101c6b <isr21h.1>:
  101c6b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101c70:	ff d0                	call   *%eax
  101c72:	e9 71 fa ff ff       	jmp    1016e8 <all_ints>

00101c77 <isr22h>:
  101c77:	6a 00                	push   $0x0
  101c79:	6a 22                	push   $0x22
  101c7b:	0f a8                	push   %gs
  101c7d:	0f a0                	push   %fs
  101c7f:	06                   	push   %es
  101c80:	1e                   	push   %ds
  101c81:	60                   	pusha  
  101c82:	66 b8 10 00          	mov    $0x10,%ax
  101c86:	8e d8                	mov    %eax,%ds
  101c88:	8e c0                	mov    %eax,%es
  101c8a:	8e e0                	mov    %eax,%fs
  101c8c:	8e e8                	mov    %eax,%gs
  101c8e:	89 e0                	mov    %esp,%eax
  101c90:	50                   	push   %eax

00101c91 <isr22h.1>:
  101c91:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101c96:	ff d0                	call   *%eax
  101c98:	e9 4b fa ff ff       	jmp    1016e8 <all_ints>

00101c9d <isr23h>:
  101c9d:	6a 00                	push   $0x0
  101c9f:	6a 23                	push   $0x23
  101ca1:	0f a8                	push   %gs
  101ca3:	0f a0                	push   %fs
  101ca5:	06                   	push   %es
  101ca6:	1e                   	push   %ds
  101ca7:	60                   	pusha  
  101ca8:	66 b8 10 00          	mov    $0x10,%ax
  101cac:	8e d8                	mov    %eax,%ds
  101cae:	8e c0                	mov    %eax,%es
  101cb0:	8e e0                	mov    %eax,%fs
  101cb2:	8e e8                	mov    %eax,%gs
  101cb4:	89 e0                	mov    %esp,%eax
  101cb6:	50                   	push   %eax

00101cb7 <isr23h.1>:
  101cb7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101cbc:	ff d0                	call   *%eax
  101cbe:	e9 25 fa ff ff       	jmp    1016e8 <all_ints>

00101cc3 <isr24h>:
  101cc3:	6a 00                	push   $0x0
  101cc5:	6a 24                	push   $0x24
  101cc7:	0f a8                	push   %gs
  101cc9:	0f a0                	push   %fs
  101ccb:	06                   	push   %es
  101ccc:	1e                   	push   %ds
  101ccd:	60                   	pusha  
  101cce:	66 b8 10 00          	mov    $0x10,%ax
  101cd2:	8e d8                	mov    %eax,%ds
  101cd4:	8e c0                	mov    %eax,%es
  101cd6:	8e e0                	mov    %eax,%fs
  101cd8:	8e e8                	mov    %eax,%gs
  101cda:	89 e0                	mov    %esp,%eax
  101cdc:	50                   	push   %eax

00101cdd <isr24h.1>:
  101cdd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101ce2:	ff d0                	call   *%eax
  101ce4:	e9 ff f9 ff ff       	jmp    1016e8 <all_ints>

00101ce9 <isr25h>:
  101ce9:	6a 00                	push   $0x0
  101ceb:	6a 25                	push   $0x25
  101ced:	0f a8                	push   %gs
  101cef:	0f a0                	push   %fs
  101cf1:	06                   	push   %es
  101cf2:	1e                   	push   %ds
  101cf3:	60                   	pusha  
  101cf4:	66 b8 10 00          	mov    $0x10,%ax
  101cf8:	8e d8                	mov    %eax,%ds
  101cfa:	8e c0                	mov    %eax,%es
  101cfc:	8e e0                	mov    %eax,%fs
  101cfe:	8e e8                	mov    %eax,%gs
  101d00:	89 e0                	mov    %esp,%eax
  101d02:	50                   	push   %eax

00101d03 <isr25h.1>:
  101d03:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101d08:	ff d0                	call   *%eax
  101d0a:	e9 d9 f9 ff ff       	jmp    1016e8 <all_ints>

00101d0f <isr26h>:
  101d0f:	6a 00                	push   $0x0
  101d11:	6a 26                	push   $0x26
  101d13:	0f a8                	push   %gs
  101d15:	0f a0                	push   %fs
  101d17:	06                   	push   %es
  101d18:	1e                   	push   %ds
  101d19:	60                   	pusha  
  101d1a:	66 b8 10 00          	mov    $0x10,%ax
  101d1e:	8e d8                	mov    %eax,%ds
  101d20:	8e c0                	mov    %eax,%es
  101d22:	8e e0                	mov    %eax,%fs
  101d24:	8e e8                	mov    %eax,%gs
  101d26:	89 e0                	mov    %esp,%eax
  101d28:	50                   	push   %eax

00101d29 <isr26h.1>:
  101d29:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101d2e:	ff d0                	call   *%eax
  101d30:	e9 b3 f9 ff ff       	jmp    1016e8 <all_ints>

00101d35 <isr27h>:
  101d35:	6a 00                	push   $0x0
  101d37:	6a 27                	push   $0x27
  101d39:	0f a8                	push   %gs
  101d3b:	0f a0                	push   %fs
  101d3d:	06                   	push   %es
  101d3e:	1e                   	push   %ds
  101d3f:	60                   	pusha  
  101d40:	66 b8 10 00          	mov    $0x10,%ax
  101d44:	8e d8                	mov    %eax,%ds
  101d46:	8e c0                	mov    %eax,%es
  101d48:	8e e0                	mov    %eax,%fs
  101d4a:	8e e8                	mov    %eax,%gs
  101d4c:	89 e0                	mov    %esp,%eax
  101d4e:	50                   	push   %eax

00101d4f <isr27h.1>:
  101d4f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101d54:	ff d0                	call   *%eax
  101d56:	e9 8d f9 ff ff       	jmp    1016e8 <all_ints>

00101d5b <isr28h>:
  101d5b:	6a 00                	push   $0x0
  101d5d:	6a 28                	push   $0x28
  101d5f:	0f a8                	push   %gs
  101d61:	0f a0                	push   %fs
  101d63:	06                   	push   %es
  101d64:	1e                   	push   %ds
  101d65:	60                   	pusha  
  101d66:	66 b8 10 00          	mov    $0x10,%ax
  101d6a:	8e d8                	mov    %eax,%ds
  101d6c:	8e c0                	mov    %eax,%es
  101d6e:	8e e0                	mov    %eax,%fs
  101d70:	8e e8                	mov    %eax,%gs
  101d72:	89 e0                	mov    %esp,%eax
  101d74:	50                   	push   %eax

00101d75 <isr28h.1>:
  101d75:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101d7a:	ff d0                	call   *%eax
  101d7c:	e9 67 f9 ff ff       	jmp    1016e8 <all_ints>

00101d81 <isr29h>:
  101d81:	6a 00                	push   $0x0
  101d83:	6a 29                	push   $0x29
  101d85:	0f a8                	push   %gs
  101d87:	0f a0                	push   %fs
  101d89:	06                   	push   %es
  101d8a:	1e                   	push   %ds
  101d8b:	60                   	pusha  
  101d8c:	66 b8 10 00          	mov    $0x10,%ax
  101d90:	8e d8                	mov    %eax,%ds
  101d92:	8e c0                	mov    %eax,%es
  101d94:	8e e0                	mov    %eax,%fs
  101d96:	8e e8                	mov    %eax,%gs
  101d98:	89 e0                	mov    %esp,%eax
  101d9a:	50                   	push   %eax

00101d9b <isr29h.1>:
  101d9b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101da0:	ff d0                	call   *%eax
  101da2:	e9 41 f9 ff ff       	jmp    1016e8 <all_ints>

00101da7 <isr2Ah>:
  101da7:	6a 00                	push   $0x0
  101da9:	6a 2a                	push   $0x2a
  101dab:	0f a8                	push   %gs
  101dad:	0f a0                	push   %fs
  101daf:	06                   	push   %es
  101db0:	1e                   	push   %ds
  101db1:	60                   	pusha  
  101db2:	66 b8 10 00          	mov    $0x10,%ax
  101db6:	8e d8                	mov    %eax,%ds
  101db8:	8e c0                	mov    %eax,%es
  101dba:	8e e0                	mov    %eax,%fs
  101dbc:	8e e8                	mov    %eax,%gs
  101dbe:	89 e0                	mov    %esp,%eax
  101dc0:	50                   	push   %eax

00101dc1 <isr2Ah.1>:
  101dc1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101dc6:	ff d0                	call   *%eax
  101dc8:	e9 1b f9 ff ff       	jmp    1016e8 <all_ints>

00101dcd <isr2Bh>:
  101dcd:	6a 00                	push   $0x0
  101dcf:	6a 2b                	push   $0x2b
  101dd1:	0f a8                	push   %gs
  101dd3:	0f a0                	push   %fs
  101dd5:	06                   	push   %es
  101dd6:	1e                   	push   %ds
  101dd7:	60                   	pusha  
  101dd8:	66 b8 10 00          	mov    $0x10,%ax
  101ddc:	8e d8                	mov    %eax,%ds
  101dde:	8e c0                	mov    %eax,%es
  101de0:	8e e0                	mov    %eax,%fs
  101de2:	8e e8                	mov    %eax,%gs
  101de4:	89 e0                	mov    %esp,%eax
  101de6:	50                   	push   %eax

00101de7 <isr2Bh.1>:
  101de7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101dec:	ff d0                	call   *%eax
  101dee:	e9 f5 f8 ff ff       	jmp    1016e8 <all_ints>

00101df3 <isr2Ch>:
  101df3:	6a 00                	push   $0x0
  101df5:	6a 2c                	push   $0x2c
  101df7:	0f a8                	push   %gs
  101df9:	0f a0                	push   %fs
  101dfb:	06                   	push   %es
  101dfc:	1e                   	push   %ds
  101dfd:	60                   	pusha  
  101dfe:	66 b8 10 00          	mov    $0x10,%ax
  101e02:	8e d8                	mov    %eax,%ds
  101e04:	8e c0                	mov    %eax,%es
  101e06:	8e e0                	mov    %eax,%fs
  101e08:	8e e8                	mov    %eax,%gs
  101e0a:	89 e0                	mov    %esp,%eax
  101e0c:	50                   	push   %eax

00101e0d <isr2Ch.1>:
  101e0d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101e12:	ff d0                	call   *%eax
  101e14:	e9 cf f8 ff ff       	jmp    1016e8 <all_ints>

00101e19 <isr2Dh>:
  101e19:	6a 00                	push   $0x0
  101e1b:	6a 2d                	push   $0x2d
  101e1d:	0f a8                	push   %gs
  101e1f:	0f a0                	push   %fs
  101e21:	06                   	push   %es
  101e22:	1e                   	push   %ds
  101e23:	60                   	pusha  
  101e24:	66 b8 10 00          	mov    $0x10,%ax
  101e28:	8e d8                	mov    %eax,%ds
  101e2a:	8e c0                	mov    %eax,%es
  101e2c:	8e e0                	mov    %eax,%fs
  101e2e:	8e e8                	mov    %eax,%gs
  101e30:	89 e0                	mov    %esp,%eax
  101e32:	50                   	push   %eax

00101e33 <isr2Dh.1>:
  101e33:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101e38:	ff d0                	call   *%eax
  101e3a:	e9 a9 f8 ff ff       	jmp    1016e8 <all_ints>

00101e3f <isr2Eh>:
  101e3f:	6a 00                	push   $0x0
  101e41:	6a 2e                	push   $0x2e
  101e43:	0f a8                	push   %gs
  101e45:	0f a0                	push   %fs
  101e47:	06                   	push   %es
  101e48:	1e                   	push   %ds
  101e49:	60                   	pusha  
  101e4a:	66 b8 10 00          	mov    $0x10,%ax
  101e4e:	8e d8                	mov    %eax,%ds
  101e50:	8e c0                	mov    %eax,%es
  101e52:	8e e0                	mov    %eax,%fs
  101e54:	8e e8                	mov    %eax,%gs
  101e56:	89 e0                	mov    %esp,%eax
  101e58:	50                   	push   %eax

00101e59 <isr2Eh.1>:
  101e59:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101e5e:	ff d0                	call   *%eax
  101e60:	e9 83 f8 ff ff       	jmp    1016e8 <all_ints>

00101e65 <isr2Fh>:
  101e65:	6a 00                	push   $0x0
  101e67:	6a 2f                	push   $0x2f
  101e69:	0f a8                	push   %gs
  101e6b:	0f a0                	push   %fs
  101e6d:	06                   	push   %es
  101e6e:	1e                   	push   %ds
  101e6f:	60                   	pusha  
  101e70:	66 b8 10 00          	mov    $0x10,%ax
  101e74:	8e d8                	mov    %eax,%ds
  101e76:	8e c0                	mov    %eax,%es
  101e78:	8e e0                	mov    %eax,%fs
  101e7a:	8e e8                	mov    %eax,%gs
  101e7c:	89 e0                	mov    %esp,%eax
  101e7e:	50                   	push   %eax

00101e7f <isr2Fh.1>:
  101e7f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101e84:	ff d0                	call   *%eax
  101e86:	e9 5d f8 ff ff       	jmp    1016e8 <all_ints>

00101e8b <isr30h>:
  101e8b:	6a 00                	push   $0x0
  101e8d:	6a 30                	push   $0x30
  101e8f:	0f a8                	push   %gs
  101e91:	0f a0                	push   %fs
  101e93:	06                   	push   %es
  101e94:	1e                   	push   %ds
  101e95:	60                   	pusha  
  101e96:	66 b8 10 00          	mov    $0x10,%ax
  101e9a:	8e d8                	mov    %eax,%ds
  101e9c:	8e c0                	mov    %eax,%es
  101e9e:	8e e0                	mov    %eax,%fs
  101ea0:	8e e8                	mov    %eax,%gs
  101ea2:	89 e0                	mov    %esp,%eax
  101ea4:	50                   	push   %eax

00101ea5 <isr30h.1>:
  101ea5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101eaa:	ff d0                	call   *%eax
  101eac:	e9 37 f8 ff ff       	jmp    1016e8 <all_ints>

00101eb1 <isr49>:
  101eb1:	6a 00                	push   $0x0
  101eb3:	6a 31                	push   $0x31
  101eb5:	0f a8                	push   %gs
  101eb7:	0f a0                	push   %fs
  101eb9:	06                   	push   %es
  101eba:	1e                   	push   %ds
  101ebb:	60                   	pusha  
  101ebc:	66 b8 10 00          	mov    $0x10,%ax
  101ec0:	8e d8                	mov    %eax,%ds
  101ec2:	8e c0                	mov    %eax,%es
  101ec4:	8e e0                	mov    %eax,%fs
  101ec6:	8e e8                	mov    %eax,%gs
  101ec8:	89 e0                	mov    %esp,%eax
  101eca:	50                   	push   %eax

00101ecb <isr49.1>:
  101ecb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101ed0:	ff d0                	call   *%eax
  101ed2:	e9 11 f8 ff ff       	jmp    1016e8 <all_ints>

00101ed7 <isr50>:
  101ed7:	6a 00                	push   $0x0
  101ed9:	6a 32                	push   $0x32
  101edb:	0f a8                	push   %gs
  101edd:	0f a0                	push   %fs
  101edf:	06                   	push   %es
  101ee0:	1e                   	push   %ds
  101ee1:	60                   	pusha  
  101ee2:	66 b8 10 00          	mov    $0x10,%ax
  101ee6:	8e d8                	mov    %eax,%ds
  101ee8:	8e c0                	mov    %eax,%es
  101eea:	8e e0                	mov    %eax,%fs
  101eec:	8e e8                	mov    %eax,%gs
  101eee:	89 e0                	mov    %esp,%eax
  101ef0:	50                   	push   %eax

00101ef1 <isr50.1>:
  101ef1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101ef6:	ff d0                	call   *%eax
  101ef8:	e9 eb f7 ff ff       	jmp    1016e8 <all_ints>

00101efd <isr51>:
  101efd:	6a 00                	push   $0x0
  101eff:	6a 33                	push   $0x33
  101f01:	0f a8                	push   %gs
  101f03:	0f a0                	push   %fs
  101f05:	06                   	push   %es
  101f06:	1e                   	push   %ds
  101f07:	60                   	pusha  
  101f08:	66 b8 10 00          	mov    $0x10,%ax
  101f0c:	8e d8                	mov    %eax,%ds
  101f0e:	8e c0                	mov    %eax,%es
  101f10:	8e e0                	mov    %eax,%fs
  101f12:	8e e8                	mov    %eax,%gs
  101f14:	89 e0                	mov    %esp,%eax
  101f16:	50                   	push   %eax

00101f17 <isr51.1>:
  101f17:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101f1c:	ff d0                	call   *%eax
  101f1e:	e9 c5 f7 ff ff       	jmp    1016e8 <all_ints>

00101f23 <isr52>:
  101f23:	6a 00                	push   $0x0
  101f25:	6a 34                	push   $0x34
  101f27:	0f a8                	push   %gs
  101f29:	0f a0                	push   %fs
  101f2b:	06                   	push   %es
  101f2c:	1e                   	push   %ds
  101f2d:	60                   	pusha  
  101f2e:	66 b8 10 00          	mov    $0x10,%ax
  101f32:	8e d8                	mov    %eax,%ds
  101f34:	8e c0                	mov    %eax,%es
  101f36:	8e e0                	mov    %eax,%fs
  101f38:	8e e8                	mov    %eax,%gs
  101f3a:	89 e0                	mov    %esp,%eax
  101f3c:	50                   	push   %eax

00101f3d <isr52.1>:
  101f3d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101f42:	ff d0                	call   *%eax
  101f44:	e9 9f f7 ff ff       	jmp    1016e8 <all_ints>

00101f49 <isr53>:
  101f49:	6a 00                	push   $0x0
  101f4b:	6a 35                	push   $0x35
  101f4d:	0f a8                	push   %gs
  101f4f:	0f a0                	push   %fs
  101f51:	06                   	push   %es
  101f52:	1e                   	push   %ds
  101f53:	60                   	pusha  
  101f54:	66 b8 10 00          	mov    $0x10,%ax
  101f58:	8e d8                	mov    %eax,%ds
  101f5a:	8e c0                	mov    %eax,%es
  101f5c:	8e e0                	mov    %eax,%fs
  101f5e:	8e e8                	mov    %eax,%gs
  101f60:	89 e0                	mov    %esp,%eax
  101f62:	50                   	push   %eax

00101f63 <isr53.1>:
  101f63:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101f68:	ff d0                	call   *%eax
  101f6a:	e9 79 f7 ff ff       	jmp    1016e8 <all_ints>

00101f6f <isr54>:
  101f6f:	6a 00                	push   $0x0
  101f71:	6a 36                	push   $0x36
  101f73:	0f a8                	push   %gs
  101f75:	0f a0                	push   %fs
  101f77:	06                   	push   %es
  101f78:	1e                   	push   %ds
  101f79:	60                   	pusha  
  101f7a:	66 b8 10 00          	mov    $0x10,%ax
  101f7e:	8e d8                	mov    %eax,%ds
  101f80:	8e c0                	mov    %eax,%es
  101f82:	8e e0                	mov    %eax,%fs
  101f84:	8e e8                	mov    %eax,%gs
  101f86:	89 e0                	mov    %esp,%eax
  101f88:	50                   	push   %eax

00101f89 <isr54.1>:
  101f89:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101f8e:	ff d0                	call   *%eax
  101f90:	e9 53 f7 ff ff       	jmp    1016e8 <all_ints>

00101f95 <isr55>:
  101f95:	6a 00                	push   $0x0
  101f97:	6a 37                	push   $0x37
  101f99:	0f a8                	push   %gs
  101f9b:	0f a0                	push   %fs
  101f9d:	06                   	push   %es
  101f9e:	1e                   	push   %ds
  101f9f:	60                   	pusha  
  101fa0:	66 b8 10 00          	mov    $0x10,%ax
  101fa4:	8e d8                	mov    %eax,%ds
  101fa6:	8e c0                	mov    %eax,%es
  101fa8:	8e e0                	mov    %eax,%fs
  101faa:	8e e8                	mov    %eax,%gs
  101fac:	89 e0                	mov    %esp,%eax
  101fae:	50                   	push   %eax

00101faf <isr55.1>:
  101faf:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101fb4:	ff d0                	call   *%eax
  101fb6:	e9 2d f7 ff ff       	jmp    1016e8 <all_ints>

00101fbb <isr56>:
  101fbb:	6a 00                	push   $0x0
  101fbd:	6a 38                	push   $0x38
  101fbf:	0f a8                	push   %gs
  101fc1:	0f a0                	push   %fs
  101fc3:	06                   	push   %es
  101fc4:	1e                   	push   %ds
  101fc5:	60                   	pusha  
  101fc6:	66 b8 10 00          	mov    $0x10,%ax
  101fca:	8e d8                	mov    %eax,%ds
  101fcc:	8e c0                	mov    %eax,%es
  101fce:	8e e0                	mov    %eax,%fs
  101fd0:	8e e8                	mov    %eax,%gs
  101fd2:	89 e0                	mov    %esp,%eax
  101fd4:	50                   	push   %eax

00101fd5 <isr56.1>:
  101fd5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  101fda:	ff d0                	call   *%eax
  101fdc:	e9 07 f7 ff ff       	jmp    1016e8 <all_ints>

00101fe1 <isr57>:
  101fe1:	6a 00                	push   $0x0
  101fe3:	6a 39                	push   $0x39
  101fe5:	0f a8                	push   %gs
  101fe7:	0f a0                	push   %fs
  101fe9:	06                   	push   %es
  101fea:	1e                   	push   %ds
  101feb:	60                   	pusha  
  101fec:	66 b8 10 00          	mov    $0x10,%ax
  101ff0:	8e d8                	mov    %eax,%ds
  101ff2:	8e c0                	mov    %eax,%es
  101ff4:	8e e0                	mov    %eax,%fs
  101ff6:	8e e8                	mov    %eax,%gs
  101ff8:	89 e0                	mov    %esp,%eax
  101ffa:	50                   	push   %eax

00101ffb <isr57.1>:
  101ffb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102000:	ff d0                	call   *%eax
  102002:	e9 e1 f6 ff ff       	jmp    1016e8 <all_ints>

00102007 <isr58>:
  102007:	6a 00                	push   $0x0
  102009:	6a 3a                	push   $0x3a
  10200b:	0f a8                	push   %gs
  10200d:	0f a0                	push   %fs
  10200f:	06                   	push   %es
  102010:	1e                   	push   %ds
  102011:	60                   	pusha  
  102012:	66 b8 10 00          	mov    $0x10,%ax
  102016:	8e d8                	mov    %eax,%ds
  102018:	8e c0                	mov    %eax,%es
  10201a:	8e e0                	mov    %eax,%fs
  10201c:	8e e8                	mov    %eax,%gs
  10201e:	89 e0                	mov    %esp,%eax
  102020:	50                   	push   %eax

00102021 <isr58.1>:
  102021:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102026:	ff d0                	call   *%eax
  102028:	e9 bb f6 ff ff       	jmp    1016e8 <all_ints>

0010202d <isr59>:
  10202d:	6a 00                	push   $0x0
  10202f:	6a 3b                	push   $0x3b
  102031:	0f a8                	push   %gs
  102033:	0f a0                	push   %fs
  102035:	06                   	push   %es
  102036:	1e                   	push   %ds
  102037:	60                   	pusha  
  102038:	66 b8 10 00          	mov    $0x10,%ax
  10203c:	8e d8                	mov    %eax,%ds
  10203e:	8e c0                	mov    %eax,%es
  102040:	8e e0                	mov    %eax,%fs
  102042:	8e e8                	mov    %eax,%gs
  102044:	89 e0                	mov    %esp,%eax
  102046:	50                   	push   %eax

00102047 <isr59.1>:
  102047:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10204c:	ff d0                	call   *%eax
  10204e:	e9 95 f6 ff ff       	jmp    1016e8 <all_ints>

00102053 <isr60>:
  102053:	6a 00                	push   $0x0
  102055:	6a 3c                	push   $0x3c
  102057:	0f a8                	push   %gs
  102059:	0f a0                	push   %fs
  10205b:	06                   	push   %es
  10205c:	1e                   	push   %ds
  10205d:	60                   	pusha  
  10205e:	66 b8 10 00          	mov    $0x10,%ax
  102062:	8e d8                	mov    %eax,%ds
  102064:	8e c0                	mov    %eax,%es
  102066:	8e e0                	mov    %eax,%fs
  102068:	8e e8                	mov    %eax,%gs
  10206a:	89 e0                	mov    %esp,%eax
  10206c:	50                   	push   %eax

0010206d <isr60.1>:
  10206d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102072:	ff d0                	call   *%eax
  102074:	e9 6f f6 ff ff       	jmp    1016e8 <all_ints>

00102079 <isr61>:
  102079:	6a 00                	push   $0x0
  10207b:	6a 3d                	push   $0x3d
  10207d:	0f a8                	push   %gs
  10207f:	0f a0                	push   %fs
  102081:	06                   	push   %es
  102082:	1e                   	push   %ds
  102083:	60                   	pusha  
  102084:	66 b8 10 00          	mov    $0x10,%ax
  102088:	8e d8                	mov    %eax,%ds
  10208a:	8e c0                	mov    %eax,%es
  10208c:	8e e0                	mov    %eax,%fs
  10208e:	8e e8                	mov    %eax,%gs
  102090:	89 e0                	mov    %esp,%eax
  102092:	50                   	push   %eax

00102093 <isr61.1>:
  102093:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102098:	ff d0                	call   *%eax
  10209a:	e9 49 f6 ff ff       	jmp    1016e8 <all_ints>

0010209f <isr62>:
  10209f:	6a 00                	push   $0x0
  1020a1:	6a 3e                	push   $0x3e
  1020a3:	0f a8                	push   %gs
  1020a5:	0f a0                	push   %fs
  1020a7:	06                   	push   %es
  1020a8:	1e                   	push   %ds
  1020a9:	60                   	pusha  
  1020aa:	66 b8 10 00          	mov    $0x10,%ax
  1020ae:	8e d8                	mov    %eax,%ds
  1020b0:	8e c0                	mov    %eax,%es
  1020b2:	8e e0                	mov    %eax,%fs
  1020b4:	8e e8                	mov    %eax,%gs
  1020b6:	89 e0                	mov    %esp,%eax
  1020b8:	50                   	push   %eax

001020b9 <isr62.1>:
  1020b9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1020be:	ff d0                	call   *%eax
  1020c0:	e9 23 f6 ff ff       	jmp    1016e8 <all_ints>

001020c5 <isr63>:
  1020c5:	6a 00                	push   $0x0
  1020c7:	6a 3f                	push   $0x3f
  1020c9:	0f a8                	push   %gs
  1020cb:	0f a0                	push   %fs
  1020cd:	06                   	push   %es
  1020ce:	1e                   	push   %ds
  1020cf:	60                   	pusha  
  1020d0:	66 b8 10 00          	mov    $0x10,%ax
  1020d4:	8e d8                	mov    %eax,%ds
  1020d6:	8e c0                	mov    %eax,%es
  1020d8:	8e e0                	mov    %eax,%fs
  1020da:	8e e8                	mov    %eax,%gs
  1020dc:	89 e0                	mov    %esp,%eax
  1020de:	50                   	push   %eax

001020df <isr63.1>:
  1020df:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1020e4:	ff d0                	call   *%eax
  1020e6:	e9 fd f5 ff ff       	jmp    1016e8 <all_ints>

001020eb <isr64>:
  1020eb:	6a 00                	push   $0x0
  1020ed:	6a 40                	push   $0x40
  1020ef:	0f a8                	push   %gs
  1020f1:	0f a0                	push   %fs
  1020f3:	06                   	push   %es
  1020f4:	1e                   	push   %ds
  1020f5:	60                   	pusha  
  1020f6:	66 b8 10 00          	mov    $0x10,%ax
  1020fa:	8e d8                	mov    %eax,%ds
  1020fc:	8e c0                	mov    %eax,%es
  1020fe:	8e e0                	mov    %eax,%fs
  102100:	8e e8                	mov    %eax,%gs
  102102:	89 e0                	mov    %esp,%eax
  102104:	50                   	push   %eax

00102105 <isr64.1>:
  102105:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10210a:	ff d0                	call   *%eax
  10210c:	e9 d7 f5 ff ff       	jmp    1016e8 <all_ints>

00102111 <isr65>:
  102111:	6a 00                	push   $0x0
  102113:	6a 41                	push   $0x41
  102115:	0f a8                	push   %gs
  102117:	0f a0                	push   %fs
  102119:	06                   	push   %es
  10211a:	1e                   	push   %ds
  10211b:	60                   	pusha  
  10211c:	66 b8 10 00          	mov    $0x10,%ax
  102120:	8e d8                	mov    %eax,%ds
  102122:	8e c0                	mov    %eax,%es
  102124:	8e e0                	mov    %eax,%fs
  102126:	8e e8                	mov    %eax,%gs
  102128:	89 e0                	mov    %esp,%eax
  10212a:	50                   	push   %eax

0010212b <isr65.1>:
  10212b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102130:	ff d0                	call   *%eax
  102132:	e9 b1 f5 ff ff       	jmp    1016e8 <all_ints>

00102137 <isr66>:
  102137:	6a 00                	push   $0x0
  102139:	6a 42                	push   $0x42
  10213b:	0f a8                	push   %gs
  10213d:	0f a0                	push   %fs
  10213f:	06                   	push   %es
  102140:	1e                   	push   %ds
  102141:	60                   	pusha  
  102142:	66 b8 10 00          	mov    $0x10,%ax
  102146:	8e d8                	mov    %eax,%ds
  102148:	8e c0                	mov    %eax,%es
  10214a:	8e e0                	mov    %eax,%fs
  10214c:	8e e8                	mov    %eax,%gs
  10214e:	89 e0                	mov    %esp,%eax
  102150:	50                   	push   %eax

00102151 <isr66.1>:
  102151:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102156:	ff d0                	call   *%eax
  102158:	e9 8b f5 ff ff       	jmp    1016e8 <all_ints>

0010215d <isr67>:
  10215d:	6a 00                	push   $0x0
  10215f:	6a 43                	push   $0x43
  102161:	0f a8                	push   %gs
  102163:	0f a0                	push   %fs
  102165:	06                   	push   %es
  102166:	1e                   	push   %ds
  102167:	60                   	pusha  
  102168:	66 b8 10 00          	mov    $0x10,%ax
  10216c:	8e d8                	mov    %eax,%ds
  10216e:	8e c0                	mov    %eax,%es
  102170:	8e e0                	mov    %eax,%fs
  102172:	8e e8                	mov    %eax,%gs
  102174:	89 e0                	mov    %esp,%eax
  102176:	50                   	push   %eax

00102177 <isr67.1>:
  102177:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10217c:	ff d0                	call   *%eax
  10217e:	e9 65 f5 ff ff       	jmp    1016e8 <all_ints>

00102183 <isr68>:
  102183:	6a 00                	push   $0x0
  102185:	6a 44                	push   $0x44
  102187:	0f a8                	push   %gs
  102189:	0f a0                	push   %fs
  10218b:	06                   	push   %es
  10218c:	1e                   	push   %ds
  10218d:	60                   	pusha  
  10218e:	66 b8 10 00          	mov    $0x10,%ax
  102192:	8e d8                	mov    %eax,%ds
  102194:	8e c0                	mov    %eax,%es
  102196:	8e e0                	mov    %eax,%fs
  102198:	8e e8                	mov    %eax,%gs
  10219a:	89 e0                	mov    %esp,%eax
  10219c:	50                   	push   %eax

0010219d <isr68.1>:
  10219d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1021a2:	ff d0                	call   *%eax
  1021a4:	e9 3f f5 ff ff       	jmp    1016e8 <all_ints>

001021a9 <isr69>:
  1021a9:	6a 00                	push   $0x0
  1021ab:	6a 45                	push   $0x45
  1021ad:	0f a8                	push   %gs
  1021af:	0f a0                	push   %fs
  1021b1:	06                   	push   %es
  1021b2:	1e                   	push   %ds
  1021b3:	60                   	pusha  
  1021b4:	66 b8 10 00          	mov    $0x10,%ax
  1021b8:	8e d8                	mov    %eax,%ds
  1021ba:	8e c0                	mov    %eax,%es
  1021bc:	8e e0                	mov    %eax,%fs
  1021be:	8e e8                	mov    %eax,%gs
  1021c0:	89 e0                	mov    %esp,%eax
  1021c2:	50                   	push   %eax

001021c3 <isr69.1>:
  1021c3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1021c8:	ff d0                	call   *%eax
  1021ca:	e9 19 f5 ff ff       	jmp    1016e8 <all_ints>

001021cf <isr70>:
  1021cf:	6a 00                	push   $0x0
  1021d1:	6a 46                	push   $0x46
  1021d3:	0f a8                	push   %gs
  1021d5:	0f a0                	push   %fs
  1021d7:	06                   	push   %es
  1021d8:	1e                   	push   %ds
  1021d9:	60                   	pusha  
  1021da:	66 b8 10 00          	mov    $0x10,%ax
  1021de:	8e d8                	mov    %eax,%ds
  1021e0:	8e c0                	mov    %eax,%es
  1021e2:	8e e0                	mov    %eax,%fs
  1021e4:	8e e8                	mov    %eax,%gs
  1021e6:	89 e0                	mov    %esp,%eax
  1021e8:	50                   	push   %eax

001021e9 <isr70.1>:
  1021e9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1021ee:	ff d0                	call   *%eax
  1021f0:	e9 f3 f4 ff ff       	jmp    1016e8 <all_ints>

001021f5 <isr71>:
  1021f5:	6a 00                	push   $0x0
  1021f7:	6a 47                	push   $0x47
  1021f9:	0f a8                	push   %gs
  1021fb:	0f a0                	push   %fs
  1021fd:	06                   	push   %es
  1021fe:	1e                   	push   %ds
  1021ff:	60                   	pusha  
  102200:	66 b8 10 00          	mov    $0x10,%ax
  102204:	8e d8                	mov    %eax,%ds
  102206:	8e c0                	mov    %eax,%es
  102208:	8e e0                	mov    %eax,%fs
  10220a:	8e e8                	mov    %eax,%gs
  10220c:	89 e0                	mov    %esp,%eax
  10220e:	50                   	push   %eax

0010220f <isr71.1>:
  10220f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102214:	ff d0                	call   *%eax
  102216:	e9 cd f4 ff ff       	jmp    1016e8 <all_ints>

0010221b <isr72>:
  10221b:	6a 00                	push   $0x0
  10221d:	6a 48                	push   $0x48
  10221f:	0f a8                	push   %gs
  102221:	0f a0                	push   %fs
  102223:	06                   	push   %es
  102224:	1e                   	push   %ds
  102225:	60                   	pusha  
  102226:	66 b8 10 00          	mov    $0x10,%ax
  10222a:	8e d8                	mov    %eax,%ds
  10222c:	8e c0                	mov    %eax,%es
  10222e:	8e e0                	mov    %eax,%fs
  102230:	8e e8                	mov    %eax,%gs
  102232:	89 e0                	mov    %esp,%eax
  102234:	50                   	push   %eax

00102235 <isr72.1>:
  102235:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10223a:	ff d0                	call   *%eax
  10223c:	e9 a7 f4 ff ff       	jmp    1016e8 <all_ints>

00102241 <isr73>:
  102241:	6a 00                	push   $0x0
  102243:	6a 49                	push   $0x49
  102245:	0f a8                	push   %gs
  102247:	0f a0                	push   %fs
  102249:	06                   	push   %es
  10224a:	1e                   	push   %ds
  10224b:	60                   	pusha  
  10224c:	66 b8 10 00          	mov    $0x10,%ax
  102250:	8e d8                	mov    %eax,%ds
  102252:	8e c0                	mov    %eax,%es
  102254:	8e e0                	mov    %eax,%fs
  102256:	8e e8                	mov    %eax,%gs
  102258:	89 e0                	mov    %esp,%eax
  10225a:	50                   	push   %eax

0010225b <isr73.1>:
  10225b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102260:	ff d0                	call   *%eax
  102262:	e9 81 f4 ff ff       	jmp    1016e8 <all_ints>

00102267 <isr74>:
  102267:	6a 00                	push   $0x0
  102269:	6a 4a                	push   $0x4a
  10226b:	0f a8                	push   %gs
  10226d:	0f a0                	push   %fs
  10226f:	06                   	push   %es
  102270:	1e                   	push   %ds
  102271:	60                   	pusha  
  102272:	66 b8 10 00          	mov    $0x10,%ax
  102276:	8e d8                	mov    %eax,%ds
  102278:	8e c0                	mov    %eax,%es
  10227a:	8e e0                	mov    %eax,%fs
  10227c:	8e e8                	mov    %eax,%gs
  10227e:	89 e0                	mov    %esp,%eax
  102280:	50                   	push   %eax

00102281 <isr74.1>:
  102281:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102286:	ff d0                	call   *%eax
  102288:	e9 5b f4 ff ff       	jmp    1016e8 <all_ints>

0010228d <isr75>:
  10228d:	6a 00                	push   $0x0
  10228f:	6a 4b                	push   $0x4b
  102291:	0f a8                	push   %gs
  102293:	0f a0                	push   %fs
  102295:	06                   	push   %es
  102296:	1e                   	push   %ds
  102297:	60                   	pusha  
  102298:	66 b8 10 00          	mov    $0x10,%ax
  10229c:	8e d8                	mov    %eax,%ds
  10229e:	8e c0                	mov    %eax,%es
  1022a0:	8e e0                	mov    %eax,%fs
  1022a2:	8e e8                	mov    %eax,%gs
  1022a4:	89 e0                	mov    %esp,%eax
  1022a6:	50                   	push   %eax

001022a7 <isr75.1>:
  1022a7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1022ac:	ff d0                	call   *%eax
  1022ae:	e9 35 f4 ff ff       	jmp    1016e8 <all_ints>

001022b3 <isr76>:
  1022b3:	6a 00                	push   $0x0
  1022b5:	6a 4c                	push   $0x4c
  1022b7:	0f a8                	push   %gs
  1022b9:	0f a0                	push   %fs
  1022bb:	06                   	push   %es
  1022bc:	1e                   	push   %ds
  1022bd:	60                   	pusha  
  1022be:	66 b8 10 00          	mov    $0x10,%ax
  1022c2:	8e d8                	mov    %eax,%ds
  1022c4:	8e c0                	mov    %eax,%es
  1022c6:	8e e0                	mov    %eax,%fs
  1022c8:	8e e8                	mov    %eax,%gs
  1022ca:	89 e0                	mov    %esp,%eax
  1022cc:	50                   	push   %eax

001022cd <isr76.1>:
  1022cd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1022d2:	ff d0                	call   *%eax
  1022d4:	e9 0f f4 ff ff       	jmp    1016e8 <all_ints>

001022d9 <isr77>:
  1022d9:	6a 00                	push   $0x0
  1022db:	6a 4d                	push   $0x4d
  1022dd:	0f a8                	push   %gs
  1022df:	0f a0                	push   %fs
  1022e1:	06                   	push   %es
  1022e2:	1e                   	push   %ds
  1022e3:	60                   	pusha  
  1022e4:	66 b8 10 00          	mov    $0x10,%ax
  1022e8:	8e d8                	mov    %eax,%ds
  1022ea:	8e c0                	mov    %eax,%es
  1022ec:	8e e0                	mov    %eax,%fs
  1022ee:	8e e8                	mov    %eax,%gs
  1022f0:	89 e0                	mov    %esp,%eax
  1022f2:	50                   	push   %eax

001022f3 <isr77.1>:
  1022f3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1022f8:	ff d0                	call   *%eax
  1022fa:	e9 e9 f3 ff ff       	jmp    1016e8 <all_ints>

001022ff <isr78>:
  1022ff:	6a 00                	push   $0x0
  102301:	6a 4e                	push   $0x4e
  102303:	0f a8                	push   %gs
  102305:	0f a0                	push   %fs
  102307:	06                   	push   %es
  102308:	1e                   	push   %ds
  102309:	60                   	pusha  
  10230a:	66 b8 10 00          	mov    $0x10,%ax
  10230e:	8e d8                	mov    %eax,%ds
  102310:	8e c0                	mov    %eax,%es
  102312:	8e e0                	mov    %eax,%fs
  102314:	8e e8                	mov    %eax,%gs
  102316:	89 e0                	mov    %esp,%eax
  102318:	50                   	push   %eax

00102319 <isr78.1>:
  102319:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10231e:	ff d0                	call   *%eax
  102320:	e9 c3 f3 ff ff       	jmp    1016e8 <all_ints>

00102325 <isr79>:
  102325:	6a 00                	push   $0x0
  102327:	6a 4f                	push   $0x4f
  102329:	0f a8                	push   %gs
  10232b:	0f a0                	push   %fs
  10232d:	06                   	push   %es
  10232e:	1e                   	push   %ds
  10232f:	60                   	pusha  
  102330:	66 b8 10 00          	mov    $0x10,%ax
  102334:	8e d8                	mov    %eax,%ds
  102336:	8e c0                	mov    %eax,%es
  102338:	8e e0                	mov    %eax,%fs
  10233a:	8e e8                	mov    %eax,%gs
  10233c:	89 e0                	mov    %esp,%eax
  10233e:	50                   	push   %eax

0010233f <isr79.1>:
  10233f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102344:	ff d0                	call   *%eax
  102346:	e9 9d f3 ff ff       	jmp    1016e8 <all_ints>

0010234b <isr80>:
  10234b:	6a 00                	push   $0x0
  10234d:	6a 50                	push   $0x50
  10234f:	0f a8                	push   %gs
  102351:	0f a0                	push   %fs
  102353:	06                   	push   %es
  102354:	1e                   	push   %ds
  102355:	60                   	pusha  
  102356:	66 b8 10 00          	mov    $0x10,%ax
  10235a:	8e d8                	mov    %eax,%ds
  10235c:	8e c0                	mov    %eax,%es
  10235e:	8e e0                	mov    %eax,%fs
  102360:	8e e8                	mov    %eax,%gs
  102362:	89 e0                	mov    %esp,%eax
  102364:	50                   	push   %eax

00102365 <isr80.1>:
  102365:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10236a:	ff d0                	call   *%eax
  10236c:	e9 77 f3 ff ff       	jmp    1016e8 <all_ints>

00102371 <isr81>:
  102371:	6a 00                	push   $0x0
  102373:	6a 51                	push   $0x51
  102375:	0f a8                	push   %gs
  102377:	0f a0                	push   %fs
  102379:	06                   	push   %es
  10237a:	1e                   	push   %ds
  10237b:	60                   	pusha  
  10237c:	66 b8 10 00          	mov    $0x10,%ax
  102380:	8e d8                	mov    %eax,%ds
  102382:	8e c0                	mov    %eax,%es
  102384:	8e e0                	mov    %eax,%fs
  102386:	8e e8                	mov    %eax,%gs
  102388:	89 e0                	mov    %esp,%eax
  10238a:	50                   	push   %eax

0010238b <isr81.1>:
  10238b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102390:	ff d0                	call   *%eax
  102392:	e9 51 f3 ff ff       	jmp    1016e8 <all_ints>

00102397 <isr82>:
  102397:	6a 00                	push   $0x0
  102399:	6a 52                	push   $0x52
  10239b:	0f a8                	push   %gs
  10239d:	0f a0                	push   %fs
  10239f:	06                   	push   %es
  1023a0:	1e                   	push   %ds
  1023a1:	60                   	pusha  
  1023a2:	66 b8 10 00          	mov    $0x10,%ax
  1023a6:	8e d8                	mov    %eax,%ds
  1023a8:	8e c0                	mov    %eax,%es
  1023aa:	8e e0                	mov    %eax,%fs
  1023ac:	8e e8                	mov    %eax,%gs
  1023ae:	89 e0                	mov    %esp,%eax
  1023b0:	50                   	push   %eax

001023b1 <isr82.1>:
  1023b1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1023b6:	ff d0                	call   *%eax
  1023b8:	e9 2b f3 ff ff       	jmp    1016e8 <all_ints>

001023bd <isr83>:
  1023bd:	6a 00                	push   $0x0
  1023bf:	6a 53                	push   $0x53
  1023c1:	0f a8                	push   %gs
  1023c3:	0f a0                	push   %fs
  1023c5:	06                   	push   %es
  1023c6:	1e                   	push   %ds
  1023c7:	60                   	pusha  
  1023c8:	66 b8 10 00          	mov    $0x10,%ax
  1023cc:	8e d8                	mov    %eax,%ds
  1023ce:	8e c0                	mov    %eax,%es
  1023d0:	8e e0                	mov    %eax,%fs
  1023d2:	8e e8                	mov    %eax,%gs
  1023d4:	89 e0                	mov    %esp,%eax
  1023d6:	50                   	push   %eax

001023d7 <isr83.1>:
  1023d7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1023dc:	ff d0                	call   *%eax
  1023de:	e9 05 f3 ff ff       	jmp    1016e8 <all_ints>

001023e3 <isr84>:
  1023e3:	6a 00                	push   $0x0
  1023e5:	6a 54                	push   $0x54
  1023e7:	0f a8                	push   %gs
  1023e9:	0f a0                	push   %fs
  1023eb:	06                   	push   %es
  1023ec:	1e                   	push   %ds
  1023ed:	60                   	pusha  
  1023ee:	66 b8 10 00          	mov    $0x10,%ax
  1023f2:	8e d8                	mov    %eax,%ds
  1023f4:	8e c0                	mov    %eax,%es
  1023f6:	8e e0                	mov    %eax,%fs
  1023f8:	8e e8                	mov    %eax,%gs
  1023fa:	89 e0                	mov    %esp,%eax
  1023fc:	50                   	push   %eax

001023fd <isr84.1>:
  1023fd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102402:	ff d0                	call   *%eax
  102404:	e9 df f2 ff ff       	jmp    1016e8 <all_ints>

00102409 <isr85>:
  102409:	6a 00                	push   $0x0
  10240b:	6a 55                	push   $0x55
  10240d:	0f a8                	push   %gs
  10240f:	0f a0                	push   %fs
  102411:	06                   	push   %es
  102412:	1e                   	push   %ds
  102413:	60                   	pusha  
  102414:	66 b8 10 00          	mov    $0x10,%ax
  102418:	8e d8                	mov    %eax,%ds
  10241a:	8e c0                	mov    %eax,%es
  10241c:	8e e0                	mov    %eax,%fs
  10241e:	8e e8                	mov    %eax,%gs
  102420:	89 e0                	mov    %esp,%eax
  102422:	50                   	push   %eax

00102423 <isr85.1>:
  102423:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102428:	ff d0                	call   *%eax
  10242a:	e9 b9 f2 ff ff       	jmp    1016e8 <all_ints>

0010242f <isr86>:
  10242f:	6a 00                	push   $0x0
  102431:	6a 56                	push   $0x56
  102433:	0f a8                	push   %gs
  102435:	0f a0                	push   %fs
  102437:	06                   	push   %es
  102438:	1e                   	push   %ds
  102439:	60                   	pusha  
  10243a:	66 b8 10 00          	mov    $0x10,%ax
  10243e:	8e d8                	mov    %eax,%ds
  102440:	8e c0                	mov    %eax,%es
  102442:	8e e0                	mov    %eax,%fs
  102444:	8e e8                	mov    %eax,%gs
  102446:	89 e0                	mov    %esp,%eax
  102448:	50                   	push   %eax

00102449 <isr86.1>:
  102449:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10244e:	ff d0                	call   *%eax
  102450:	e9 93 f2 ff ff       	jmp    1016e8 <all_ints>

00102455 <isr87>:
  102455:	6a 00                	push   $0x0
  102457:	6a 57                	push   $0x57
  102459:	0f a8                	push   %gs
  10245b:	0f a0                	push   %fs
  10245d:	06                   	push   %es
  10245e:	1e                   	push   %ds
  10245f:	60                   	pusha  
  102460:	66 b8 10 00          	mov    $0x10,%ax
  102464:	8e d8                	mov    %eax,%ds
  102466:	8e c0                	mov    %eax,%es
  102468:	8e e0                	mov    %eax,%fs
  10246a:	8e e8                	mov    %eax,%gs
  10246c:	89 e0                	mov    %esp,%eax
  10246e:	50                   	push   %eax

0010246f <isr87.1>:
  10246f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102474:	ff d0                	call   *%eax
  102476:	e9 6d f2 ff ff       	jmp    1016e8 <all_ints>

0010247b <isr88>:
  10247b:	6a 00                	push   $0x0
  10247d:	6a 58                	push   $0x58
  10247f:	0f a8                	push   %gs
  102481:	0f a0                	push   %fs
  102483:	06                   	push   %es
  102484:	1e                   	push   %ds
  102485:	60                   	pusha  
  102486:	66 b8 10 00          	mov    $0x10,%ax
  10248a:	8e d8                	mov    %eax,%ds
  10248c:	8e c0                	mov    %eax,%es
  10248e:	8e e0                	mov    %eax,%fs
  102490:	8e e8                	mov    %eax,%gs
  102492:	89 e0                	mov    %esp,%eax
  102494:	50                   	push   %eax

00102495 <isr88.1>:
  102495:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10249a:	ff d0                	call   *%eax
  10249c:	e9 47 f2 ff ff       	jmp    1016e8 <all_ints>

001024a1 <isr89>:
  1024a1:	6a 00                	push   $0x0
  1024a3:	6a 59                	push   $0x59
  1024a5:	0f a8                	push   %gs
  1024a7:	0f a0                	push   %fs
  1024a9:	06                   	push   %es
  1024aa:	1e                   	push   %ds
  1024ab:	60                   	pusha  
  1024ac:	66 b8 10 00          	mov    $0x10,%ax
  1024b0:	8e d8                	mov    %eax,%ds
  1024b2:	8e c0                	mov    %eax,%es
  1024b4:	8e e0                	mov    %eax,%fs
  1024b6:	8e e8                	mov    %eax,%gs
  1024b8:	89 e0                	mov    %esp,%eax
  1024ba:	50                   	push   %eax

001024bb <isr89.1>:
  1024bb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1024c0:	ff d0                	call   *%eax
  1024c2:	e9 21 f2 ff ff       	jmp    1016e8 <all_ints>

001024c7 <isr90>:
  1024c7:	6a 00                	push   $0x0
  1024c9:	6a 5a                	push   $0x5a
  1024cb:	0f a8                	push   %gs
  1024cd:	0f a0                	push   %fs
  1024cf:	06                   	push   %es
  1024d0:	1e                   	push   %ds
  1024d1:	60                   	pusha  
  1024d2:	66 b8 10 00          	mov    $0x10,%ax
  1024d6:	8e d8                	mov    %eax,%ds
  1024d8:	8e c0                	mov    %eax,%es
  1024da:	8e e0                	mov    %eax,%fs
  1024dc:	8e e8                	mov    %eax,%gs
  1024de:	89 e0                	mov    %esp,%eax
  1024e0:	50                   	push   %eax

001024e1 <isr90.1>:
  1024e1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1024e6:	ff d0                	call   *%eax
  1024e8:	e9 fb f1 ff ff       	jmp    1016e8 <all_ints>

001024ed <isr91>:
  1024ed:	6a 00                	push   $0x0
  1024ef:	6a 5b                	push   $0x5b
  1024f1:	0f a8                	push   %gs
  1024f3:	0f a0                	push   %fs
  1024f5:	06                   	push   %es
  1024f6:	1e                   	push   %ds
  1024f7:	60                   	pusha  
  1024f8:	66 b8 10 00          	mov    $0x10,%ax
  1024fc:	8e d8                	mov    %eax,%ds
  1024fe:	8e c0                	mov    %eax,%es
  102500:	8e e0                	mov    %eax,%fs
  102502:	8e e8                	mov    %eax,%gs
  102504:	89 e0                	mov    %esp,%eax
  102506:	50                   	push   %eax

00102507 <isr91.1>:
  102507:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10250c:	ff d0                	call   *%eax
  10250e:	e9 d5 f1 ff ff       	jmp    1016e8 <all_ints>

00102513 <isr92>:
  102513:	6a 00                	push   $0x0
  102515:	6a 5c                	push   $0x5c
  102517:	0f a8                	push   %gs
  102519:	0f a0                	push   %fs
  10251b:	06                   	push   %es
  10251c:	1e                   	push   %ds
  10251d:	60                   	pusha  
  10251e:	66 b8 10 00          	mov    $0x10,%ax
  102522:	8e d8                	mov    %eax,%ds
  102524:	8e c0                	mov    %eax,%es
  102526:	8e e0                	mov    %eax,%fs
  102528:	8e e8                	mov    %eax,%gs
  10252a:	89 e0                	mov    %esp,%eax
  10252c:	50                   	push   %eax

0010252d <isr92.1>:
  10252d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102532:	ff d0                	call   *%eax
  102534:	e9 af f1 ff ff       	jmp    1016e8 <all_ints>

00102539 <isr93>:
  102539:	6a 00                	push   $0x0
  10253b:	6a 5d                	push   $0x5d
  10253d:	0f a8                	push   %gs
  10253f:	0f a0                	push   %fs
  102541:	06                   	push   %es
  102542:	1e                   	push   %ds
  102543:	60                   	pusha  
  102544:	66 b8 10 00          	mov    $0x10,%ax
  102548:	8e d8                	mov    %eax,%ds
  10254a:	8e c0                	mov    %eax,%es
  10254c:	8e e0                	mov    %eax,%fs
  10254e:	8e e8                	mov    %eax,%gs
  102550:	89 e0                	mov    %esp,%eax
  102552:	50                   	push   %eax

00102553 <isr93.1>:
  102553:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102558:	ff d0                	call   *%eax
  10255a:	e9 89 f1 ff ff       	jmp    1016e8 <all_ints>

0010255f <isr94>:
  10255f:	6a 00                	push   $0x0
  102561:	6a 5e                	push   $0x5e
  102563:	0f a8                	push   %gs
  102565:	0f a0                	push   %fs
  102567:	06                   	push   %es
  102568:	1e                   	push   %ds
  102569:	60                   	pusha  
  10256a:	66 b8 10 00          	mov    $0x10,%ax
  10256e:	8e d8                	mov    %eax,%ds
  102570:	8e c0                	mov    %eax,%es
  102572:	8e e0                	mov    %eax,%fs
  102574:	8e e8                	mov    %eax,%gs
  102576:	89 e0                	mov    %esp,%eax
  102578:	50                   	push   %eax

00102579 <isr94.1>:
  102579:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10257e:	ff d0                	call   *%eax
  102580:	e9 63 f1 ff ff       	jmp    1016e8 <all_ints>

00102585 <isr95>:
  102585:	6a 00                	push   $0x0
  102587:	6a 5f                	push   $0x5f
  102589:	0f a8                	push   %gs
  10258b:	0f a0                	push   %fs
  10258d:	06                   	push   %es
  10258e:	1e                   	push   %ds
  10258f:	60                   	pusha  
  102590:	66 b8 10 00          	mov    $0x10,%ax
  102594:	8e d8                	mov    %eax,%ds
  102596:	8e c0                	mov    %eax,%es
  102598:	8e e0                	mov    %eax,%fs
  10259a:	8e e8                	mov    %eax,%gs
  10259c:	89 e0                	mov    %esp,%eax
  10259e:	50                   	push   %eax

0010259f <isr95.1>:
  10259f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1025a4:	ff d0                	call   *%eax
  1025a6:	e9 3d f1 ff ff       	jmp    1016e8 <all_ints>

001025ab <isr96>:
  1025ab:	6a 00                	push   $0x0
  1025ad:	6a 60                	push   $0x60
  1025af:	0f a8                	push   %gs
  1025b1:	0f a0                	push   %fs
  1025b3:	06                   	push   %es
  1025b4:	1e                   	push   %ds
  1025b5:	60                   	pusha  
  1025b6:	66 b8 10 00          	mov    $0x10,%ax
  1025ba:	8e d8                	mov    %eax,%ds
  1025bc:	8e c0                	mov    %eax,%es
  1025be:	8e e0                	mov    %eax,%fs
  1025c0:	8e e8                	mov    %eax,%gs
  1025c2:	89 e0                	mov    %esp,%eax
  1025c4:	50                   	push   %eax

001025c5 <isr96.1>:
  1025c5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1025ca:	ff d0                	call   *%eax
  1025cc:	e9 17 f1 ff ff       	jmp    1016e8 <all_ints>

001025d1 <isr97>:
  1025d1:	6a 00                	push   $0x0
  1025d3:	6a 61                	push   $0x61
  1025d5:	0f a8                	push   %gs
  1025d7:	0f a0                	push   %fs
  1025d9:	06                   	push   %es
  1025da:	1e                   	push   %ds
  1025db:	60                   	pusha  
  1025dc:	66 b8 10 00          	mov    $0x10,%ax
  1025e0:	8e d8                	mov    %eax,%ds
  1025e2:	8e c0                	mov    %eax,%es
  1025e4:	8e e0                	mov    %eax,%fs
  1025e6:	8e e8                	mov    %eax,%gs
  1025e8:	89 e0                	mov    %esp,%eax
  1025ea:	50                   	push   %eax

001025eb <isr97.1>:
  1025eb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1025f0:	ff d0                	call   *%eax
  1025f2:	e9 f1 f0 ff ff       	jmp    1016e8 <all_ints>

001025f7 <isr98>:
  1025f7:	6a 00                	push   $0x0
  1025f9:	6a 62                	push   $0x62
  1025fb:	0f a8                	push   %gs
  1025fd:	0f a0                	push   %fs
  1025ff:	06                   	push   %es
  102600:	1e                   	push   %ds
  102601:	60                   	pusha  
  102602:	66 b8 10 00          	mov    $0x10,%ax
  102606:	8e d8                	mov    %eax,%ds
  102608:	8e c0                	mov    %eax,%es
  10260a:	8e e0                	mov    %eax,%fs
  10260c:	8e e8                	mov    %eax,%gs
  10260e:	89 e0                	mov    %esp,%eax
  102610:	50                   	push   %eax

00102611 <isr98.1>:
  102611:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102616:	ff d0                	call   *%eax
  102618:	e9 cb f0 ff ff       	jmp    1016e8 <all_ints>

0010261d <isr99>:
  10261d:	6a 00                	push   $0x0
  10261f:	6a 63                	push   $0x63
  102621:	0f a8                	push   %gs
  102623:	0f a0                	push   %fs
  102625:	06                   	push   %es
  102626:	1e                   	push   %ds
  102627:	60                   	pusha  
  102628:	66 b8 10 00          	mov    $0x10,%ax
  10262c:	8e d8                	mov    %eax,%ds
  10262e:	8e c0                	mov    %eax,%es
  102630:	8e e0                	mov    %eax,%fs
  102632:	8e e8                	mov    %eax,%gs
  102634:	89 e0                	mov    %esp,%eax
  102636:	50                   	push   %eax

00102637 <isr99.1>:
  102637:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10263c:	ff d0                	call   *%eax
  10263e:	e9 a5 f0 ff ff       	jmp    1016e8 <all_ints>

00102643 <isr100>:
  102643:	6a 00                	push   $0x0
  102645:	6a 64                	push   $0x64
  102647:	0f a8                	push   %gs
  102649:	0f a0                	push   %fs
  10264b:	06                   	push   %es
  10264c:	1e                   	push   %ds
  10264d:	60                   	pusha  
  10264e:	66 b8 10 00          	mov    $0x10,%ax
  102652:	8e d8                	mov    %eax,%ds
  102654:	8e c0                	mov    %eax,%es
  102656:	8e e0                	mov    %eax,%fs
  102658:	8e e8                	mov    %eax,%gs
  10265a:	89 e0                	mov    %esp,%eax
  10265c:	50                   	push   %eax

0010265d <isr100.1>:
  10265d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102662:	ff d0                	call   *%eax
  102664:	e9 7f f0 ff ff       	jmp    1016e8 <all_ints>

00102669 <isr101>:
  102669:	6a 00                	push   $0x0
  10266b:	6a 65                	push   $0x65
  10266d:	0f a8                	push   %gs
  10266f:	0f a0                	push   %fs
  102671:	06                   	push   %es
  102672:	1e                   	push   %ds
  102673:	60                   	pusha  
  102674:	66 b8 10 00          	mov    $0x10,%ax
  102678:	8e d8                	mov    %eax,%ds
  10267a:	8e c0                	mov    %eax,%es
  10267c:	8e e0                	mov    %eax,%fs
  10267e:	8e e8                	mov    %eax,%gs
  102680:	89 e0                	mov    %esp,%eax
  102682:	50                   	push   %eax

00102683 <isr101.1>:
  102683:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102688:	ff d0                	call   *%eax
  10268a:	e9 59 f0 ff ff       	jmp    1016e8 <all_ints>

0010268f <isr102>:
  10268f:	6a 00                	push   $0x0
  102691:	6a 66                	push   $0x66
  102693:	0f a8                	push   %gs
  102695:	0f a0                	push   %fs
  102697:	06                   	push   %es
  102698:	1e                   	push   %ds
  102699:	60                   	pusha  
  10269a:	66 b8 10 00          	mov    $0x10,%ax
  10269e:	8e d8                	mov    %eax,%ds
  1026a0:	8e c0                	mov    %eax,%es
  1026a2:	8e e0                	mov    %eax,%fs
  1026a4:	8e e8                	mov    %eax,%gs
  1026a6:	89 e0                	mov    %esp,%eax
  1026a8:	50                   	push   %eax

001026a9 <isr102.1>:
  1026a9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1026ae:	ff d0                	call   *%eax
  1026b0:	e9 33 f0 ff ff       	jmp    1016e8 <all_ints>

001026b5 <isr103>:
  1026b5:	6a 00                	push   $0x0
  1026b7:	6a 67                	push   $0x67
  1026b9:	0f a8                	push   %gs
  1026bb:	0f a0                	push   %fs
  1026bd:	06                   	push   %es
  1026be:	1e                   	push   %ds
  1026bf:	60                   	pusha  
  1026c0:	66 b8 10 00          	mov    $0x10,%ax
  1026c4:	8e d8                	mov    %eax,%ds
  1026c6:	8e c0                	mov    %eax,%es
  1026c8:	8e e0                	mov    %eax,%fs
  1026ca:	8e e8                	mov    %eax,%gs
  1026cc:	89 e0                	mov    %esp,%eax
  1026ce:	50                   	push   %eax

001026cf <isr103.1>:
  1026cf:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1026d4:	ff d0                	call   *%eax
  1026d6:	e9 0d f0 ff ff       	jmp    1016e8 <all_ints>

001026db <isr104>:
  1026db:	6a 00                	push   $0x0
  1026dd:	6a 68                	push   $0x68
  1026df:	0f a8                	push   %gs
  1026e1:	0f a0                	push   %fs
  1026e3:	06                   	push   %es
  1026e4:	1e                   	push   %ds
  1026e5:	60                   	pusha  
  1026e6:	66 b8 10 00          	mov    $0x10,%ax
  1026ea:	8e d8                	mov    %eax,%ds
  1026ec:	8e c0                	mov    %eax,%es
  1026ee:	8e e0                	mov    %eax,%fs
  1026f0:	8e e8                	mov    %eax,%gs
  1026f2:	89 e0                	mov    %esp,%eax
  1026f4:	50                   	push   %eax

001026f5 <isr104.1>:
  1026f5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1026fa:	ff d0                	call   *%eax
  1026fc:	e9 e7 ef ff ff       	jmp    1016e8 <all_ints>

00102701 <isr105>:
  102701:	6a 00                	push   $0x0
  102703:	6a 69                	push   $0x69
  102705:	0f a8                	push   %gs
  102707:	0f a0                	push   %fs
  102709:	06                   	push   %es
  10270a:	1e                   	push   %ds
  10270b:	60                   	pusha  
  10270c:	66 b8 10 00          	mov    $0x10,%ax
  102710:	8e d8                	mov    %eax,%ds
  102712:	8e c0                	mov    %eax,%es
  102714:	8e e0                	mov    %eax,%fs
  102716:	8e e8                	mov    %eax,%gs
  102718:	89 e0                	mov    %esp,%eax
  10271a:	50                   	push   %eax

0010271b <isr105.1>:
  10271b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102720:	ff d0                	call   *%eax
  102722:	e9 c1 ef ff ff       	jmp    1016e8 <all_ints>

00102727 <isr106>:
  102727:	6a 00                	push   $0x0
  102729:	6a 6a                	push   $0x6a
  10272b:	0f a8                	push   %gs
  10272d:	0f a0                	push   %fs
  10272f:	06                   	push   %es
  102730:	1e                   	push   %ds
  102731:	60                   	pusha  
  102732:	66 b8 10 00          	mov    $0x10,%ax
  102736:	8e d8                	mov    %eax,%ds
  102738:	8e c0                	mov    %eax,%es
  10273a:	8e e0                	mov    %eax,%fs
  10273c:	8e e8                	mov    %eax,%gs
  10273e:	89 e0                	mov    %esp,%eax
  102740:	50                   	push   %eax

00102741 <isr106.1>:
  102741:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102746:	ff d0                	call   *%eax
  102748:	e9 9b ef ff ff       	jmp    1016e8 <all_ints>

0010274d <isr107>:
  10274d:	6a 00                	push   $0x0
  10274f:	6a 6b                	push   $0x6b
  102751:	0f a8                	push   %gs
  102753:	0f a0                	push   %fs
  102755:	06                   	push   %es
  102756:	1e                   	push   %ds
  102757:	60                   	pusha  
  102758:	66 b8 10 00          	mov    $0x10,%ax
  10275c:	8e d8                	mov    %eax,%ds
  10275e:	8e c0                	mov    %eax,%es
  102760:	8e e0                	mov    %eax,%fs
  102762:	8e e8                	mov    %eax,%gs
  102764:	89 e0                	mov    %esp,%eax
  102766:	50                   	push   %eax

00102767 <isr107.1>:
  102767:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10276c:	ff d0                	call   *%eax
  10276e:	e9 75 ef ff ff       	jmp    1016e8 <all_ints>

00102773 <isr108>:
  102773:	6a 00                	push   $0x0
  102775:	6a 6c                	push   $0x6c
  102777:	0f a8                	push   %gs
  102779:	0f a0                	push   %fs
  10277b:	06                   	push   %es
  10277c:	1e                   	push   %ds
  10277d:	60                   	pusha  
  10277e:	66 b8 10 00          	mov    $0x10,%ax
  102782:	8e d8                	mov    %eax,%ds
  102784:	8e c0                	mov    %eax,%es
  102786:	8e e0                	mov    %eax,%fs
  102788:	8e e8                	mov    %eax,%gs
  10278a:	89 e0                	mov    %esp,%eax
  10278c:	50                   	push   %eax

0010278d <isr108.1>:
  10278d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102792:	ff d0                	call   *%eax
  102794:	e9 4f ef ff ff       	jmp    1016e8 <all_ints>

00102799 <isr109>:
  102799:	6a 00                	push   $0x0
  10279b:	6a 6d                	push   $0x6d
  10279d:	0f a8                	push   %gs
  10279f:	0f a0                	push   %fs
  1027a1:	06                   	push   %es
  1027a2:	1e                   	push   %ds
  1027a3:	60                   	pusha  
  1027a4:	66 b8 10 00          	mov    $0x10,%ax
  1027a8:	8e d8                	mov    %eax,%ds
  1027aa:	8e c0                	mov    %eax,%es
  1027ac:	8e e0                	mov    %eax,%fs
  1027ae:	8e e8                	mov    %eax,%gs
  1027b0:	89 e0                	mov    %esp,%eax
  1027b2:	50                   	push   %eax

001027b3 <isr109.1>:
  1027b3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1027b8:	ff d0                	call   *%eax
  1027ba:	e9 29 ef ff ff       	jmp    1016e8 <all_ints>

001027bf <isr110>:
  1027bf:	6a 00                	push   $0x0
  1027c1:	6a 6e                	push   $0x6e
  1027c3:	0f a8                	push   %gs
  1027c5:	0f a0                	push   %fs
  1027c7:	06                   	push   %es
  1027c8:	1e                   	push   %ds
  1027c9:	60                   	pusha  
  1027ca:	66 b8 10 00          	mov    $0x10,%ax
  1027ce:	8e d8                	mov    %eax,%ds
  1027d0:	8e c0                	mov    %eax,%es
  1027d2:	8e e0                	mov    %eax,%fs
  1027d4:	8e e8                	mov    %eax,%gs
  1027d6:	89 e0                	mov    %esp,%eax
  1027d8:	50                   	push   %eax

001027d9 <isr110.1>:
  1027d9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1027de:	ff d0                	call   *%eax
  1027e0:	e9 03 ef ff ff       	jmp    1016e8 <all_ints>

001027e5 <isr111>:
  1027e5:	6a 00                	push   $0x0
  1027e7:	6a 6f                	push   $0x6f
  1027e9:	0f a8                	push   %gs
  1027eb:	0f a0                	push   %fs
  1027ed:	06                   	push   %es
  1027ee:	1e                   	push   %ds
  1027ef:	60                   	pusha  
  1027f0:	66 b8 10 00          	mov    $0x10,%ax
  1027f4:	8e d8                	mov    %eax,%ds
  1027f6:	8e c0                	mov    %eax,%es
  1027f8:	8e e0                	mov    %eax,%fs
  1027fa:	8e e8                	mov    %eax,%gs
  1027fc:	89 e0                	mov    %esp,%eax
  1027fe:	50                   	push   %eax

001027ff <isr111.1>:
  1027ff:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102804:	ff d0                	call   *%eax
  102806:	e9 dd ee ff ff       	jmp    1016e8 <all_ints>

0010280b <isr112>:
  10280b:	6a 00                	push   $0x0
  10280d:	6a 70                	push   $0x70
  10280f:	0f a8                	push   %gs
  102811:	0f a0                	push   %fs
  102813:	06                   	push   %es
  102814:	1e                   	push   %ds
  102815:	60                   	pusha  
  102816:	66 b8 10 00          	mov    $0x10,%ax
  10281a:	8e d8                	mov    %eax,%ds
  10281c:	8e c0                	mov    %eax,%es
  10281e:	8e e0                	mov    %eax,%fs
  102820:	8e e8                	mov    %eax,%gs
  102822:	89 e0                	mov    %esp,%eax
  102824:	50                   	push   %eax

00102825 <isr112.1>:
  102825:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10282a:	ff d0                	call   *%eax
  10282c:	e9 b7 ee ff ff       	jmp    1016e8 <all_ints>

00102831 <isr113>:
  102831:	6a 00                	push   $0x0
  102833:	6a 71                	push   $0x71
  102835:	0f a8                	push   %gs
  102837:	0f a0                	push   %fs
  102839:	06                   	push   %es
  10283a:	1e                   	push   %ds
  10283b:	60                   	pusha  
  10283c:	66 b8 10 00          	mov    $0x10,%ax
  102840:	8e d8                	mov    %eax,%ds
  102842:	8e c0                	mov    %eax,%es
  102844:	8e e0                	mov    %eax,%fs
  102846:	8e e8                	mov    %eax,%gs
  102848:	89 e0                	mov    %esp,%eax
  10284a:	50                   	push   %eax

0010284b <isr113.1>:
  10284b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102850:	ff d0                	call   *%eax
  102852:	e9 91 ee ff ff       	jmp    1016e8 <all_ints>

00102857 <isr114>:
  102857:	6a 00                	push   $0x0
  102859:	6a 72                	push   $0x72
  10285b:	0f a8                	push   %gs
  10285d:	0f a0                	push   %fs
  10285f:	06                   	push   %es
  102860:	1e                   	push   %ds
  102861:	60                   	pusha  
  102862:	66 b8 10 00          	mov    $0x10,%ax
  102866:	8e d8                	mov    %eax,%ds
  102868:	8e c0                	mov    %eax,%es
  10286a:	8e e0                	mov    %eax,%fs
  10286c:	8e e8                	mov    %eax,%gs
  10286e:	89 e0                	mov    %esp,%eax
  102870:	50                   	push   %eax

00102871 <isr114.1>:
  102871:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102876:	ff d0                	call   *%eax
  102878:	e9 6b ee ff ff       	jmp    1016e8 <all_ints>

0010287d <isr115>:
  10287d:	6a 00                	push   $0x0
  10287f:	6a 73                	push   $0x73
  102881:	0f a8                	push   %gs
  102883:	0f a0                	push   %fs
  102885:	06                   	push   %es
  102886:	1e                   	push   %ds
  102887:	60                   	pusha  
  102888:	66 b8 10 00          	mov    $0x10,%ax
  10288c:	8e d8                	mov    %eax,%ds
  10288e:	8e c0                	mov    %eax,%es
  102890:	8e e0                	mov    %eax,%fs
  102892:	8e e8                	mov    %eax,%gs
  102894:	89 e0                	mov    %esp,%eax
  102896:	50                   	push   %eax

00102897 <isr115.1>:
  102897:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10289c:	ff d0                	call   *%eax
  10289e:	e9 45 ee ff ff       	jmp    1016e8 <all_ints>

001028a3 <isr116>:
  1028a3:	6a 00                	push   $0x0
  1028a5:	6a 74                	push   $0x74
  1028a7:	0f a8                	push   %gs
  1028a9:	0f a0                	push   %fs
  1028ab:	06                   	push   %es
  1028ac:	1e                   	push   %ds
  1028ad:	60                   	pusha  
  1028ae:	66 b8 10 00          	mov    $0x10,%ax
  1028b2:	8e d8                	mov    %eax,%ds
  1028b4:	8e c0                	mov    %eax,%es
  1028b6:	8e e0                	mov    %eax,%fs
  1028b8:	8e e8                	mov    %eax,%gs
  1028ba:	89 e0                	mov    %esp,%eax
  1028bc:	50                   	push   %eax

001028bd <isr116.1>:
  1028bd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1028c2:	ff d0                	call   *%eax
  1028c4:	e9 1f ee ff ff       	jmp    1016e8 <all_ints>

001028c9 <isr117>:
  1028c9:	6a 00                	push   $0x0
  1028cb:	6a 75                	push   $0x75
  1028cd:	0f a8                	push   %gs
  1028cf:	0f a0                	push   %fs
  1028d1:	06                   	push   %es
  1028d2:	1e                   	push   %ds
  1028d3:	60                   	pusha  
  1028d4:	66 b8 10 00          	mov    $0x10,%ax
  1028d8:	8e d8                	mov    %eax,%ds
  1028da:	8e c0                	mov    %eax,%es
  1028dc:	8e e0                	mov    %eax,%fs
  1028de:	8e e8                	mov    %eax,%gs
  1028e0:	89 e0                	mov    %esp,%eax
  1028e2:	50                   	push   %eax

001028e3 <isr117.1>:
  1028e3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1028e8:	ff d0                	call   *%eax
  1028ea:	e9 f9 ed ff ff       	jmp    1016e8 <all_ints>

001028ef <isr118>:
  1028ef:	6a 00                	push   $0x0
  1028f1:	6a 76                	push   $0x76
  1028f3:	0f a8                	push   %gs
  1028f5:	0f a0                	push   %fs
  1028f7:	06                   	push   %es
  1028f8:	1e                   	push   %ds
  1028f9:	60                   	pusha  
  1028fa:	66 b8 10 00          	mov    $0x10,%ax
  1028fe:	8e d8                	mov    %eax,%ds
  102900:	8e c0                	mov    %eax,%es
  102902:	8e e0                	mov    %eax,%fs
  102904:	8e e8                	mov    %eax,%gs
  102906:	89 e0                	mov    %esp,%eax
  102908:	50                   	push   %eax

00102909 <isr118.1>:
  102909:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10290e:	ff d0                	call   *%eax
  102910:	e9 d3 ed ff ff       	jmp    1016e8 <all_ints>

00102915 <isr119>:
  102915:	6a 00                	push   $0x0
  102917:	6a 77                	push   $0x77
  102919:	0f a8                	push   %gs
  10291b:	0f a0                	push   %fs
  10291d:	06                   	push   %es
  10291e:	1e                   	push   %ds
  10291f:	60                   	pusha  
  102920:	66 b8 10 00          	mov    $0x10,%ax
  102924:	8e d8                	mov    %eax,%ds
  102926:	8e c0                	mov    %eax,%es
  102928:	8e e0                	mov    %eax,%fs
  10292a:	8e e8                	mov    %eax,%gs
  10292c:	89 e0                	mov    %esp,%eax
  10292e:	50                   	push   %eax

0010292f <isr119.1>:
  10292f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102934:	ff d0                	call   *%eax
  102936:	e9 ad ed ff ff       	jmp    1016e8 <all_ints>

0010293b <isr120>:
  10293b:	6a 00                	push   $0x0
  10293d:	6a 78                	push   $0x78
  10293f:	0f a8                	push   %gs
  102941:	0f a0                	push   %fs
  102943:	06                   	push   %es
  102944:	1e                   	push   %ds
  102945:	60                   	pusha  
  102946:	66 b8 10 00          	mov    $0x10,%ax
  10294a:	8e d8                	mov    %eax,%ds
  10294c:	8e c0                	mov    %eax,%es
  10294e:	8e e0                	mov    %eax,%fs
  102950:	8e e8                	mov    %eax,%gs
  102952:	89 e0                	mov    %esp,%eax
  102954:	50                   	push   %eax

00102955 <isr120.1>:
  102955:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10295a:	ff d0                	call   *%eax
  10295c:	e9 87 ed ff ff       	jmp    1016e8 <all_ints>

00102961 <isr121>:
  102961:	6a 00                	push   $0x0
  102963:	6a 79                	push   $0x79
  102965:	0f a8                	push   %gs
  102967:	0f a0                	push   %fs
  102969:	06                   	push   %es
  10296a:	1e                   	push   %ds
  10296b:	60                   	pusha  
  10296c:	66 b8 10 00          	mov    $0x10,%ax
  102970:	8e d8                	mov    %eax,%ds
  102972:	8e c0                	mov    %eax,%es
  102974:	8e e0                	mov    %eax,%fs
  102976:	8e e8                	mov    %eax,%gs
  102978:	89 e0                	mov    %esp,%eax
  10297a:	50                   	push   %eax

0010297b <isr121.1>:
  10297b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102980:	ff d0                	call   *%eax
  102982:	e9 61 ed ff ff       	jmp    1016e8 <all_ints>

00102987 <isr122>:
  102987:	6a 00                	push   $0x0
  102989:	6a 7a                	push   $0x7a
  10298b:	0f a8                	push   %gs
  10298d:	0f a0                	push   %fs
  10298f:	06                   	push   %es
  102990:	1e                   	push   %ds
  102991:	60                   	pusha  
  102992:	66 b8 10 00          	mov    $0x10,%ax
  102996:	8e d8                	mov    %eax,%ds
  102998:	8e c0                	mov    %eax,%es
  10299a:	8e e0                	mov    %eax,%fs
  10299c:	8e e8                	mov    %eax,%gs
  10299e:	89 e0                	mov    %esp,%eax
  1029a0:	50                   	push   %eax

001029a1 <isr122.1>:
  1029a1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1029a6:	ff d0                	call   *%eax
  1029a8:	e9 3b ed ff ff       	jmp    1016e8 <all_ints>

001029ad <isr123>:
  1029ad:	6a 00                	push   $0x0
  1029af:	6a 7b                	push   $0x7b
  1029b1:	0f a8                	push   %gs
  1029b3:	0f a0                	push   %fs
  1029b5:	06                   	push   %es
  1029b6:	1e                   	push   %ds
  1029b7:	60                   	pusha  
  1029b8:	66 b8 10 00          	mov    $0x10,%ax
  1029bc:	8e d8                	mov    %eax,%ds
  1029be:	8e c0                	mov    %eax,%es
  1029c0:	8e e0                	mov    %eax,%fs
  1029c2:	8e e8                	mov    %eax,%gs
  1029c4:	89 e0                	mov    %esp,%eax
  1029c6:	50                   	push   %eax

001029c7 <isr123.1>:
  1029c7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1029cc:	ff d0                	call   *%eax
  1029ce:	e9 15 ed ff ff       	jmp    1016e8 <all_ints>

001029d3 <isr124>:
  1029d3:	6a 00                	push   $0x0
  1029d5:	6a 7c                	push   $0x7c
  1029d7:	0f a8                	push   %gs
  1029d9:	0f a0                	push   %fs
  1029db:	06                   	push   %es
  1029dc:	1e                   	push   %ds
  1029dd:	60                   	pusha  
  1029de:	66 b8 10 00          	mov    $0x10,%ax
  1029e2:	8e d8                	mov    %eax,%ds
  1029e4:	8e c0                	mov    %eax,%es
  1029e6:	8e e0                	mov    %eax,%fs
  1029e8:	8e e8                	mov    %eax,%gs
  1029ea:	89 e0                	mov    %esp,%eax
  1029ec:	50                   	push   %eax

001029ed <isr124.1>:
  1029ed:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1029f2:	ff d0                	call   *%eax
  1029f4:	e9 ef ec ff ff       	jmp    1016e8 <all_ints>

001029f9 <isr125>:
  1029f9:	6a 00                	push   $0x0
  1029fb:	6a 7d                	push   $0x7d
  1029fd:	0f a8                	push   %gs
  1029ff:	0f a0                	push   %fs
  102a01:	06                   	push   %es
  102a02:	1e                   	push   %ds
  102a03:	60                   	pusha  
  102a04:	66 b8 10 00          	mov    $0x10,%ax
  102a08:	8e d8                	mov    %eax,%ds
  102a0a:	8e c0                	mov    %eax,%es
  102a0c:	8e e0                	mov    %eax,%fs
  102a0e:	8e e8                	mov    %eax,%gs
  102a10:	89 e0                	mov    %esp,%eax
  102a12:	50                   	push   %eax

00102a13 <isr125.1>:
  102a13:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102a18:	ff d0                	call   *%eax
  102a1a:	e9 c9 ec ff ff       	jmp    1016e8 <all_ints>

00102a1f <isr126>:
  102a1f:	6a 00                	push   $0x0
  102a21:	6a 7e                	push   $0x7e
  102a23:	0f a8                	push   %gs
  102a25:	0f a0                	push   %fs
  102a27:	06                   	push   %es
  102a28:	1e                   	push   %ds
  102a29:	60                   	pusha  
  102a2a:	66 b8 10 00          	mov    $0x10,%ax
  102a2e:	8e d8                	mov    %eax,%ds
  102a30:	8e c0                	mov    %eax,%es
  102a32:	8e e0                	mov    %eax,%fs
  102a34:	8e e8                	mov    %eax,%gs
  102a36:	89 e0                	mov    %esp,%eax
  102a38:	50                   	push   %eax

00102a39 <isr126.1>:
  102a39:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102a3e:	ff d0                	call   *%eax
  102a40:	e9 a3 ec ff ff       	jmp    1016e8 <all_ints>

00102a45 <isr127>:
  102a45:	6a 00                	push   $0x0
  102a47:	6a 7f                	push   $0x7f
  102a49:	0f a8                	push   %gs
  102a4b:	0f a0                	push   %fs
  102a4d:	06                   	push   %es
  102a4e:	1e                   	push   %ds
  102a4f:	60                   	pusha  
  102a50:	66 b8 10 00          	mov    $0x10,%ax
  102a54:	8e d8                	mov    %eax,%ds
  102a56:	8e c0                	mov    %eax,%es
  102a58:	8e e0                	mov    %eax,%fs
  102a5a:	8e e8                	mov    %eax,%gs
  102a5c:	89 e0                	mov    %esp,%eax
  102a5e:	50                   	push   %eax

00102a5f <isr127.1>:
  102a5f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102a64:	ff d0                	call   *%eax
  102a66:	e9 7d ec ff ff       	jmp    1016e8 <all_ints>

00102a6b <isr128>:
  102a6b:	6a 00                	push   $0x0
  102a6d:	6a 80                	push   $0xffffff80
  102a6f:	0f a8                	push   %gs
  102a71:	0f a0                	push   %fs
  102a73:	06                   	push   %es
  102a74:	1e                   	push   %ds
  102a75:	60                   	pusha  
  102a76:	66 b8 10 00          	mov    $0x10,%ax
  102a7a:	8e d8                	mov    %eax,%ds
  102a7c:	8e c0                	mov    %eax,%es
  102a7e:	8e e0                	mov    %eax,%fs
  102a80:	8e e8                	mov    %eax,%gs
  102a82:	89 e0                	mov    %esp,%eax
  102a84:	50                   	push   %eax

00102a85 <isr128.1>:
  102a85:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102a8a:	ff d0                	call   *%eax
  102a8c:	e9 57 ec ff ff       	jmp    1016e8 <all_ints>

00102a91 <isr129>:
  102a91:	6a 00                	push   $0x0
  102a93:	6a 81                	push   $0xffffff81
  102a95:	0f a8                	push   %gs
  102a97:	0f a0                	push   %fs
  102a99:	06                   	push   %es
  102a9a:	1e                   	push   %ds
  102a9b:	60                   	pusha  
  102a9c:	66 b8 10 00          	mov    $0x10,%ax
  102aa0:	8e d8                	mov    %eax,%ds
  102aa2:	8e c0                	mov    %eax,%es
  102aa4:	8e e0                	mov    %eax,%fs
  102aa6:	8e e8                	mov    %eax,%gs
  102aa8:	89 e0                	mov    %esp,%eax
  102aaa:	50                   	push   %eax

00102aab <isr129.1>:
  102aab:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102ab0:	ff d0                	call   *%eax
  102ab2:	e9 31 ec ff ff       	jmp    1016e8 <all_ints>

00102ab7 <isr130>:
  102ab7:	6a 00                	push   $0x0
  102ab9:	6a 82                	push   $0xffffff82
  102abb:	0f a8                	push   %gs
  102abd:	0f a0                	push   %fs
  102abf:	06                   	push   %es
  102ac0:	1e                   	push   %ds
  102ac1:	60                   	pusha  
  102ac2:	66 b8 10 00          	mov    $0x10,%ax
  102ac6:	8e d8                	mov    %eax,%ds
  102ac8:	8e c0                	mov    %eax,%es
  102aca:	8e e0                	mov    %eax,%fs
  102acc:	8e e8                	mov    %eax,%gs
  102ace:	89 e0                	mov    %esp,%eax
  102ad0:	50                   	push   %eax

00102ad1 <isr130.1>:
  102ad1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102ad6:	ff d0                	call   *%eax
  102ad8:	e9 0b ec ff ff       	jmp    1016e8 <all_ints>

00102add <isr131>:
  102add:	6a 00                	push   $0x0
  102adf:	6a 83                	push   $0xffffff83
  102ae1:	0f a8                	push   %gs
  102ae3:	0f a0                	push   %fs
  102ae5:	06                   	push   %es
  102ae6:	1e                   	push   %ds
  102ae7:	60                   	pusha  
  102ae8:	66 b8 10 00          	mov    $0x10,%ax
  102aec:	8e d8                	mov    %eax,%ds
  102aee:	8e c0                	mov    %eax,%es
  102af0:	8e e0                	mov    %eax,%fs
  102af2:	8e e8                	mov    %eax,%gs
  102af4:	89 e0                	mov    %esp,%eax
  102af6:	50                   	push   %eax

00102af7 <isr131.1>:
  102af7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102afc:	ff d0                	call   *%eax
  102afe:	e9 e5 eb ff ff       	jmp    1016e8 <all_ints>

00102b03 <isr132>:
  102b03:	6a 00                	push   $0x0
  102b05:	6a 84                	push   $0xffffff84
  102b07:	0f a8                	push   %gs
  102b09:	0f a0                	push   %fs
  102b0b:	06                   	push   %es
  102b0c:	1e                   	push   %ds
  102b0d:	60                   	pusha  
  102b0e:	66 b8 10 00          	mov    $0x10,%ax
  102b12:	8e d8                	mov    %eax,%ds
  102b14:	8e c0                	mov    %eax,%es
  102b16:	8e e0                	mov    %eax,%fs
  102b18:	8e e8                	mov    %eax,%gs
  102b1a:	89 e0                	mov    %esp,%eax
  102b1c:	50                   	push   %eax

00102b1d <isr132.1>:
  102b1d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102b22:	ff d0                	call   *%eax
  102b24:	e9 bf eb ff ff       	jmp    1016e8 <all_ints>

00102b29 <isr133>:
  102b29:	6a 00                	push   $0x0
  102b2b:	6a 85                	push   $0xffffff85
  102b2d:	0f a8                	push   %gs
  102b2f:	0f a0                	push   %fs
  102b31:	06                   	push   %es
  102b32:	1e                   	push   %ds
  102b33:	60                   	pusha  
  102b34:	66 b8 10 00          	mov    $0x10,%ax
  102b38:	8e d8                	mov    %eax,%ds
  102b3a:	8e c0                	mov    %eax,%es
  102b3c:	8e e0                	mov    %eax,%fs
  102b3e:	8e e8                	mov    %eax,%gs
  102b40:	89 e0                	mov    %esp,%eax
  102b42:	50                   	push   %eax

00102b43 <isr133.1>:
  102b43:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102b48:	ff d0                	call   *%eax
  102b4a:	e9 99 eb ff ff       	jmp    1016e8 <all_ints>

00102b4f <isr134>:
  102b4f:	6a 00                	push   $0x0
  102b51:	6a 86                	push   $0xffffff86
  102b53:	0f a8                	push   %gs
  102b55:	0f a0                	push   %fs
  102b57:	06                   	push   %es
  102b58:	1e                   	push   %ds
  102b59:	60                   	pusha  
  102b5a:	66 b8 10 00          	mov    $0x10,%ax
  102b5e:	8e d8                	mov    %eax,%ds
  102b60:	8e c0                	mov    %eax,%es
  102b62:	8e e0                	mov    %eax,%fs
  102b64:	8e e8                	mov    %eax,%gs
  102b66:	89 e0                	mov    %esp,%eax
  102b68:	50                   	push   %eax

00102b69 <isr134.1>:
  102b69:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102b6e:	ff d0                	call   *%eax
  102b70:	e9 73 eb ff ff       	jmp    1016e8 <all_ints>

00102b75 <isr135>:
  102b75:	6a 00                	push   $0x0
  102b77:	6a 87                	push   $0xffffff87
  102b79:	0f a8                	push   %gs
  102b7b:	0f a0                	push   %fs
  102b7d:	06                   	push   %es
  102b7e:	1e                   	push   %ds
  102b7f:	60                   	pusha  
  102b80:	66 b8 10 00          	mov    $0x10,%ax
  102b84:	8e d8                	mov    %eax,%ds
  102b86:	8e c0                	mov    %eax,%es
  102b88:	8e e0                	mov    %eax,%fs
  102b8a:	8e e8                	mov    %eax,%gs
  102b8c:	89 e0                	mov    %esp,%eax
  102b8e:	50                   	push   %eax

00102b8f <isr135.1>:
  102b8f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102b94:	ff d0                	call   *%eax
  102b96:	e9 4d eb ff ff       	jmp    1016e8 <all_ints>

00102b9b <isr136>:
  102b9b:	6a 00                	push   $0x0
  102b9d:	6a 88                	push   $0xffffff88
  102b9f:	0f a8                	push   %gs
  102ba1:	0f a0                	push   %fs
  102ba3:	06                   	push   %es
  102ba4:	1e                   	push   %ds
  102ba5:	60                   	pusha  
  102ba6:	66 b8 10 00          	mov    $0x10,%ax
  102baa:	8e d8                	mov    %eax,%ds
  102bac:	8e c0                	mov    %eax,%es
  102bae:	8e e0                	mov    %eax,%fs
  102bb0:	8e e8                	mov    %eax,%gs
  102bb2:	89 e0                	mov    %esp,%eax
  102bb4:	50                   	push   %eax

00102bb5 <isr136.1>:
  102bb5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102bba:	ff d0                	call   *%eax
  102bbc:	e9 27 eb ff ff       	jmp    1016e8 <all_ints>

00102bc1 <isr137>:
  102bc1:	6a 00                	push   $0x0
  102bc3:	6a 89                	push   $0xffffff89
  102bc5:	0f a8                	push   %gs
  102bc7:	0f a0                	push   %fs
  102bc9:	06                   	push   %es
  102bca:	1e                   	push   %ds
  102bcb:	60                   	pusha  
  102bcc:	66 b8 10 00          	mov    $0x10,%ax
  102bd0:	8e d8                	mov    %eax,%ds
  102bd2:	8e c0                	mov    %eax,%es
  102bd4:	8e e0                	mov    %eax,%fs
  102bd6:	8e e8                	mov    %eax,%gs
  102bd8:	89 e0                	mov    %esp,%eax
  102bda:	50                   	push   %eax

00102bdb <isr137.1>:
  102bdb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102be0:	ff d0                	call   *%eax
  102be2:	e9 01 eb ff ff       	jmp    1016e8 <all_ints>

00102be7 <isr138>:
  102be7:	6a 00                	push   $0x0
  102be9:	6a 8a                	push   $0xffffff8a
  102beb:	0f a8                	push   %gs
  102bed:	0f a0                	push   %fs
  102bef:	06                   	push   %es
  102bf0:	1e                   	push   %ds
  102bf1:	60                   	pusha  
  102bf2:	66 b8 10 00          	mov    $0x10,%ax
  102bf6:	8e d8                	mov    %eax,%ds
  102bf8:	8e c0                	mov    %eax,%es
  102bfa:	8e e0                	mov    %eax,%fs
  102bfc:	8e e8                	mov    %eax,%gs
  102bfe:	89 e0                	mov    %esp,%eax
  102c00:	50                   	push   %eax

00102c01 <isr138.1>:
  102c01:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102c06:	ff d0                	call   *%eax
  102c08:	e9 db ea ff ff       	jmp    1016e8 <all_ints>

00102c0d <isr139>:
  102c0d:	6a 00                	push   $0x0
  102c0f:	6a 8b                	push   $0xffffff8b
  102c11:	0f a8                	push   %gs
  102c13:	0f a0                	push   %fs
  102c15:	06                   	push   %es
  102c16:	1e                   	push   %ds
  102c17:	60                   	pusha  
  102c18:	66 b8 10 00          	mov    $0x10,%ax
  102c1c:	8e d8                	mov    %eax,%ds
  102c1e:	8e c0                	mov    %eax,%es
  102c20:	8e e0                	mov    %eax,%fs
  102c22:	8e e8                	mov    %eax,%gs
  102c24:	89 e0                	mov    %esp,%eax
  102c26:	50                   	push   %eax

00102c27 <isr139.1>:
  102c27:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102c2c:	ff d0                	call   *%eax
  102c2e:	e9 b5 ea ff ff       	jmp    1016e8 <all_ints>

00102c33 <isr140>:
  102c33:	6a 00                	push   $0x0
  102c35:	6a 8c                	push   $0xffffff8c
  102c37:	0f a8                	push   %gs
  102c39:	0f a0                	push   %fs
  102c3b:	06                   	push   %es
  102c3c:	1e                   	push   %ds
  102c3d:	60                   	pusha  
  102c3e:	66 b8 10 00          	mov    $0x10,%ax
  102c42:	8e d8                	mov    %eax,%ds
  102c44:	8e c0                	mov    %eax,%es
  102c46:	8e e0                	mov    %eax,%fs
  102c48:	8e e8                	mov    %eax,%gs
  102c4a:	89 e0                	mov    %esp,%eax
  102c4c:	50                   	push   %eax

00102c4d <isr140.1>:
  102c4d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102c52:	ff d0                	call   *%eax
  102c54:	e9 8f ea ff ff       	jmp    1016e8 <all_ints>

00102c59 <isr141>:
  102c59:	6a 00                	push   $0x0
  102c5b:	6a 8d                	push   $0xffffff8d
  102c5d:	0f a8                	push   %gs
  102c5f:	0f a0                	push   %fs
  102c61:	06                   	push   %es
  102c62:	1e                   	push   %ds
  102c63:	60                   	pusha  
  102c64:	66 b8 10 00          	mov    $0x10,%ax
  102c68:	8e d8                	mov    %eax,%ds
  102c6a:	8e c0                	mov    %eax,%es
  102c6c:	8e e0                	mov    %eax,%fs
  102c6e:	8e e8                	mov    %eax,%gs
  102c70:	89 e0                	mov    %esp,%eax
  102c72:	50                   	push   %eax

00102c73 <isr141.1>:
  102c73:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102c78:	ff d0                	call   *%eax
  102c7a:	e9 69 ea ff ff       	jmp    1016e8 <all_ints>

00102c7f <isr142>:
  102c7f:	6a 00                	push   $0x0
  102c81:	6a 8e                	push   $0xffffff8e
  102c83:	0f a8                	push   %gs
  102c85:	0f a0                	push   %fs
  102c87:	06                   	push   %es
  102c88:	1e                   	push   %ds
  102c89:	60                   	pusha  
  102c8a:	66 b8 10 00          	mov    $0x10,%ax
  102c8e:	8e d8                	mov    %eax,%ds
  102c90:	8e c0                	mov    %eax,%es
  102c92:	8e e0                	mov    %eax,%fs
  102c94:	8e e8                	mov    %eax,%gs
  102c96:	89 e0                	mov    %esp,%eax
  102c98:	50                   	push   %eax

00102c99 <isr142.1>:
  102c99:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102c9e:	ff d0                	call   *%eax
  102ca0:	e9 43 ea ff ff       	jmp    1016e8 <all_ints>

00102ca5 <isr143>:
  102ca5:	6a 00                	push   $0x0
  102ca7:	6a 8f                	push   $0xffffff8f
  102ca9:	0f a8                	push   %gs
  102cab:	0f a0                	push   %fs
  102cad:	06                   	push   %es
  102cae:	1e                   	push   %ds
  102caf:	60                   	pusha  
  102cb0:	66 b8 10 00          	mov    $0x10,%ax
  102cb4:	8e d8                	mov    %eax,%ds
  102cb6:	8e c0                	mov    %eax,%es
  102cb8:	8e e0                	mov    %eax,%fs
  102cba:	8e e8                	mov    %eax,%gs
  102cbc:	89 e0                	mov    %esp,%eax
  102cbe:	50                   	push   %eax

00102cbf <isr143.1>:
  102cbf:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102cc4:	ff d0                	call   *%eax
  102cc6:	e9 1d ea ff ff       	jmp    1016e8 <all_ints>

00102ccb <isr144>:
  102ccb:	6a 00                	push   $0x0
  102ccd:	6a 90                	push   $0xffffff90
  102ccf:	0f a8                	push   %gs
  102cd1:	0f a0                	push   %fs
  102cd3:	06                   	push   %es
  102cd4:	1e                   	push   %ds
  102cd5:	60                   	pusha  
  102cd6:	66 b8 10 00          	mov    $0x10,%ax
  102cda:	8e d8                	mov    %eax,%ds
  102cdc:	8e c0                	mov    %eax,%es
  102cde:	8e e0                	mov    %eax,%fs
  102ce0:	8e e8                	mov    %eax,%gs
  102ce2:	89 e0                	mov    %esp,%eax
  102ce4:	50                   	push   %eax

00102ce5 <isr144.1>:
  102ce5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102cea:	ff d0                	call   *%eax
  102cec:	e9 f7 e9 ff ff       	jmp    1016e8 <all_ints>

00102cf1 <isr145>:
  102cf1:	6a 00                	push   $0x0
  102cf3:	6a 91                	push   $0xffffff91
  102cf5:	0f a8                	push   %gs
  102cf7:	0f a0                	push   %fs
  102cf9:	06                   	push   %es
  102cfa:	1e                   	push   %ds
  102cfb:	60                   	pusha  
  102cfc:	66 b8 10 00          	mov    $0x10,%ax
  102d00:	8e d8                	mov    %eax,%ds
  102d02:	8e c0                	mov    %eax,%es
  102d04:	8e e0                	mov    %eax,%fs
  102d06:	8e e8                	mov    %eax,%gs
  102d08:	89 e0                	mov    %esp,%eax
  102d0a:	50                   	push   %eax

00102d0b <isr145.1>:
  102d0b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102d10:	ff d0                	call   *%eax
  102d12:	e9 d1 e9 ff ff       	jmp    1016e8 <all_ints>

00102d17 <isr146>:
  102d17:	6a 00                	push   $0x0
  102d19:	6a 92                	push   $0xffffff92
  102d1b:	0f a8                	push   %gs
  102d1d:	0f a0                	push   %fs
  102d1f:	06                   	push   %es
  102d20:	1e                   	push   %ds
  102d21:	60                   	pusha  
  102d22:	66 b8 10 00          	mov    $0x10,%ax
  102d26:	8e d8                	mov    %eax,%ds
  102d28:	8e c0                	mov    %eax,%es
  102d2a:	8e e0                	mov    %eax,%fs
  102d2c:	8e e8                	mov    %eax,%gs
  102d2e:	89 e0                	mov    %esp,%eax
  102d30:	50                   	push   %eax

00102d31 <isr146.1>:
  102d31:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102d36:	ff d0                	call   *%eax
  102d38:	e9 ab e9 ff ff       	jmp    1016e8 <all_ints>

00102d3d <isr147>:
  102d3d:	6a 00                	push   $0x0
  102d3f:	6a 93                	push   $0xffffff93
  102d41:	0f a8                	push   %gs
  102d43:	0f a0                	push   %fs
  102d45:	06                   	push   %es
  102d46:	1e                   	push   %ds
  102d47:	60                   	pusha  
  102d48:	66 b8 10 00          	mov    $0x10,%ax
  102d4c:	8e d8                	mov    %eax,%ds
  102d4e:	8e c0                	mov    %eax,%es
  102d50:	8e e0                	mov    %eax,%fs
  102d52:	8e e8                	mov    %eax,%gs
  102d54:	89 e0                	mov    %esp,%eax
  102d56:	50                   	push   %eax

00102d57 <isr147.1>:
  102d57:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102d5c:	ff d0                	call   *%eax
  102d5e:	e9 85 e9 ff ff       	jmp    1016e8 <all_ints>

00102d63 <isr148>:
  102d63:	6a 00                	push   $0x0
  102d65:	6a 94                	push   $0xffffff94
  102d67:	0f a8                	push   %gs
  102d69:	0f a0                	push   %fs
  102d6b:	06                   	push   %es
  102d6c:	1e                   	push   %ds
  102d6d:	60                   	pusha  
  102d6e:	66 b8 10 00          	mov    $0x10,%ax
  102d72:	8e d8                	mov    %eax,%ds
  102d74:	8e c0                	mov    %eax,%es
  102d76:	8e e0                	mov    %eax,%fs
  102d78:	8e e8                	mov    %eax,%gs
  102d7a:	89 e0                	mov    %esp,%eax
  102d7c:	50                   	push   %eax

00102d7d <isr148.1>:
  102d7d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102d82:	ff d0                	call   *%eax
  102d84:	e9 5f e9 ff ff       	jmp    1016e8 <all_ints>

00102d89 <isr149>:
  102d89:	6a 00                	push   $0x0
  102d8b:	6a 95                	push   $0xffffff95
  102d8d:	0f a8                	push   %gs
  102d8f:	0f a0                	push   %fs
  102d91:	06                   	push   %es
  102d92:	1e                   	push   %ds
  102d93:	60                   	pusha  
  102d94:	66 b8 10 00          	mov    $0x10,%ax
  102d98:	8e d8                	mov    %eax,%ds
  102d9a:	8e c0                	mov    %eax,%es
  102d9c:	8e e0                	mov    %eax,%fs
  102d9e:	8e e8                	mov    %eax,%gs
  102da0:	89 e0                	mov    %esp,%eax
  102da2:	50                   	push   %eax

00102da3 <isr149.1>:
  102da3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102da8:	ff d0                	call   *%eax
  102daa:	e9 39 e9 ff ff       	jmp    1016e8 <all_ints>

00102daf <isr150>:
  102daf:	6a 00                	push   $0x0
  102db1:	6a 96                	push   $0xffffff96
  102db3:	0f a8                	push   %gs
  102db5:	0f a0                	push   %fs
  102db7:	06                   	push   %es
  102db8:	1e                   	push   %ds
  102db9:	60                   	pusha  
  102dba:	66 b8 10 00          	mov    $0x10,%ax
  102dbe:	8e d8                	mov    %eax,%ds
  102dc0:	8e c0                	mov    %eax,%es
  102dc2:	8e e0                	mov    %eax,%fs
  102dc4:	8e e8                	mov    %eax,%gs
  102dc6:	89 e0                	mov    %esp,%eax
  102dc8:	50                   	push   %eax

00102dc9 <isr150.1>:
  102dc9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102dce:	ff d0                	call   *%eax
  102dd0:	e9 13 e9 ff ff       	jmp    1016e8 <all_ints>

00102dd5 <isr151>:
  102dd5:	6a 00                	push   $0x0
  102dd7:	6a 97                	push   $0xffffff97
  102dd9:	0f a8                	push   %gs
  102ddb:	0f a0                	push   %fs
  102ddd:	06                   	push   %es
  102dde:	1e                   	push   %ds
  102ddf:	60                   	pusha  
  102de0:	66 b8 10 00          	mov    $0x10,%ax
  102de4:	8e d8                	mov    %eax,%ds
  102de6:	8e c0                	mov    %eax,%es
  102de8:	8e e0                	mov    %eax,%fs
  102dea:	8e e8                	mov    %eax,%gs
  102dec:	89 e0                	mov    %esp,%eax
  102dee:	50                   	push   %eax

00102def <isr151.1>:
  102def:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102df4:	ff d0                	call   *%eax
  102df6:	e9 ed e8 ff ff       	jmp    1016e8 <all_ints>

00102dfb <isr152>:
  102dfb:	6a 00                	push   $0x0
  102dfd:	6a 98                	push   $0xffffff98
  102dff:	0f a8                	push   %gs
  102e01:	0f a0                	push   %fs
  102e03:	06                   	push   %es
  102e04:	1e                   	push   %ds
  102e05:	60                   	pusha  
  102e06:	66 b8 10 00          	mov    $0x10,%ax
  102e0a:	8e d8                	mov    %eax,%ds
  102e0c:	8e c0                	mov    %eax,%es
  102e0e:	8e e0                	mov    %eax,%fs
  102e10:	8e e8                	mov    %eax,%gs
  102e12:	89 e0                	mov    %esp,%eax
  102e14:	50                   	push   %eax

00102e15 <isr152.1>:
  102e15:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102e1a:	ff d0                	call   *%eax
  102e1c:	e9 c7 e8 ff ff       	jmp    1016e8 <all_ints>

00102e21 <isr153>:
  102e21:	6a 00                	push   $0x0
  102e23:	6a 99                	push   $0xffffff99
  102e25:	0f a8                	push   %gs
  102e27:	0f a0                	push   %fs
  102e29:	06                   	push   %es
  102e2a:	1e                   	push   %ds
  102e2b:	60                   	pusha  
  102e2c:	66 b8 10 00          	mov    $0x10,%ax
  102e30:	8e d8                	mov    %eax,%ds
  102e32:	8e c0                	mov    %eax,%es
  102e34:	8e e0                	mov    %eax,%fs
  102e36:	8e e8                	mov    %eax,%gs
  102e38:	89 e0                	mov    %esp,%eax
  102e3a:	50                   	push   %eax

00102e3b <isr153.1>:
  102e3b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102e40:	ff d0                	call   *%eax
  102e42:	e9 a1 e8 ff ff       	jmp    1016e8 <all_ints>

00102e47 <isr154>:
  102e47:	6a 00                	push   $0x0
  102e49:	6a 9a                	push   $0xffffff9a
  102e4b:	0f a8                	push   %gs
  102e4d:	0f a0                	push   %fs
  102e4f:	06                   	push   %es
  102e50:	1e                   	push   %ds
  102e51:	60                   	pusha  
  102e52:	66 b8 10 00          	mov    $0x10,%ax
  102e56:	8e d8                	mov    %eax,%ds
  102e58:	8e c0                	mov    %eax,%es
  102e5a:	8e e0                	mov    %eax,%fs
  102e5c:	8e e8                	mov    %eax,%gs
  102e5e:	89 e0                	mov    %esp,%eax
  102e60:	50                   	push   %eax

00102e61 <isr154.1>:
  102e61:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102e66:	ff d0                	call   *%eax
  102e68:	e9 7b e8 ff ff       	jmp    1016e8 <all_ints>

00102e6d <isr155>:
  102e6d:	6a 00                	push   $0x0
  102e6f:	6a 9b                	push   $0xffffff9b
  102e71:	0f a8                	push   %gs
  102e73:	0f a0                	push   %fs
  102e75:	06                   	push   %es
  102e76:	1e                   	push   %ds
  102e77:	60                   	pusha  
  102e78:	66 b8 10 00          	mov    $0x10,%ax
  102e7c:	8e d8                	mov    %eax,%ds
  102e7e:	8e c0                	mov    %eax,%es
  102e80:	8e e0                	mov    %eax,%fs
  102e82:	8e e8                	mov    %eax,%gs
  102e84:	89 e0                	mov    %esp,%eax
  102e86:	50                   	push   %eax

00102e87 <isr155.1>:
  102e87:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102e8c:	ff d0                	call   *%eax
  102e8e:	e9 55 e8 ff ff       	jmp    1016e8 <all_ints>

00102e93 <isr156>:
  102e93:	6a 00                	push   $0x0
  102e95:	6a 9c                	push   $0xffffff9c
  102e97:	0f a8                	push   %gs
  102e99:	0f a0                	push   %fs
  102e9b:	06                   	push   %es
  102e9c:	1e                   	push   %ds
  102e9d:	60                   	pusha  
  102e9e:	66 b8 10 00          	mov    $0x10,%ax
  102ea2:	8e d8                	mov    %eax,%ds
  102ea4:	8e c0                	mov    %eax,%es
  102ea6:	8e e0                	mov    %eax,%fs
  102ea8:	8e e8                	mov    %eax,%gs
  102eaa:	89 e0                	mov    %esp,%eax
  102eac:	50                   	push   %eax

00102ead <isr156.1>:
  102ead:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102eb2:	ff d0                	call   *%eax
  102eb4:	e9 2f e8 ff ff       	jmp    1016e8 <all_ints>

00102eb9 <isr157>:
  102eb9:	6a 00                	push   $0x0
  102ebb:	6a 9d                	push   $0xffffff9d
  102ebd:	0f a8                	push   %gs
  102ebf:	0f a0                	push   %fs
  102ec1:	06                   	push   %es
  102ec2:	1e                   	push   %ds
  102ec3:	60                   	pusha  
  102ec4:	66 b8 10 00          	mov    $0x10,%ax
  102ec8:	8e d8                	mov    %eax,%ds
  102eca:	8e c0                	mov    %eax,%es
  102ecc:	8e e0                	mov    %eax,%fs
  102ece:	8e e8                	mov    %eax,%gs
  102ed0:	89 e0                	mov    %esp,%eax
  102ed2:	50                   	push   %eax

00102ed3 <isr157.1>:
  102ed3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102ed8:	ff d0                	call   *%eax
  102eda:	e9 09 e8 ff ff       	jmp    1016e8 <all_ints>

00102edf <isr158>:
  102edf:	6a 00                	push   $0x0
  102ee1:	6a 9e                	push   $0xffffff9e
  102ee3:	0f a8                	push   %gs
  102ee5:	0f a0                	push   %fs
  102ee7:	06                   	push   %es
  102ee8:	1e                   	push   %ds
  102ee9:	60                   	pusha  
  102eea:	66 b8 10 00          	mov    $0x10,%ax
  102eee:	8e d8                	mov    %eax,%ds
  102ef0:	8e c0                	mov    %eax,%es
  102ef2:	8e e0                	mov    %eax,%fs
  102ef4:	8e e8                	mov    %eax,%gs
  102ef6:	89 e0                	mov    %esp,%eax
  102ef8:	50                   	push   %eax

00102ef9 <isr158.1>:
  102ef9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102efe:	ff d0                	call   *%eax
  102f00:	e9 e3 e7 ff ff       	jmp    1016e8 <all_ints>

00102f05 <isr159>:
  102f05:	6a 00                	push   $0x0
  102f07:	6a 9f                	push   $0xffffff9f
  102f09:	0f a8                	push   %gs
  102f0b:	0f a0                	push   %fs
  102f0d:	06                   	push   %es
  102f0e:	1e                   	push   %ds
  102f0f:	60                   	pusha  
  102f10:	66 b8 10 00          	mov    $0x10,%ax
  102f14:	8e d8                	mov    %eax,%ds
  102f16:	8e c0                	mov    %eax,%es
  102f18:	8e e0                	mov    %eax,%fs
  102f1a:	8e e8                	mov    %eax,%gs
  102f1c:	89 e0                	mov    %esp,%eax
  102f1e:	50                   	push   %eax

00102f1f <isr159.1>:
  102f1f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102f24:	ff d0                	call   *%eax
  102f26:	e9 bd e7 ff ff       	jmp    1016e8 <all_ints>

00102f2b <isr160>:
  102f2b:	6a 00                	push   $0x0
  102f2d:	6a a0                	push   $0xffffffa0
  102f2f:	0f a8                	push   %gs
  102f31:	0f a0                	push   %fs
  102f33:	06                   	push   %es
  102f34:	1e                   	push   %ds
  102f35:	60                   	pusha  
  102f36:	66 b8 10 00          	mov    $0x10,%ax
  102f3a:	8e d8                	mov    %eax,%ds
  102f3c:	8e c0                	mov    %eax,%es
  102f3e:	8e e0                	mov    %eax,%fs
  102f40:	8e e8                	mov    %eax,%gs
  102f42:	89 e0                	mov    %esp,%eax
  102f44:	50                   	push   %eax

00102f45 <isr160.1>:
  102f45:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102f4a:	ff d0                	call   *%eax
  102f4c:	e9 97 e7 ff ff       	jmp    1016e8 <all_ints>

00102f51 <isr161>:
  102f51:	6a 00                	push   $0x0
  102f53:	6a a1                	push   $0xffffffa1
  102f55:	0f a8                	push   %gs
  102f57:	0f a0                	push   %fs
  102f59:	06                   	push   %es
  102f5a:	1e                   	push   %ds
  102f5b:	60                   	pusha  
  102f5c:	66 b8 10 00          	mov    $0x10,%ax
  102f60:	8e d8                	mov    %eax,%ds
  102f62:	8e c0                	mov    %eax,%es
  102f64:	8e e0                	mov    %eax,%fs
  102f66:	8e e8                	mov    %eax,%gs
  102f68:	89 e0                	mov    %esp,%eax
  102f6a:	50                   	push   %eax

00102f6b <isr161.1>:
  102f6b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102f70:	ff d0                	call   *%eax
  102f72:	e9 71 e7 ff ff       	jmp    1016e8 <all_ints>

00102f77 <isr162>:
  102f77:	6a 00                	push   $0x0
  102f79:	6a a2                	push   $0xffffffa2
  102f7b:	0f a8                	push   %gs
  102f7d:	0f a0                	push   %fs
  102f7f:	06                   	push   %es
  102f80:	1e                   	push   %ds
  102f81:	60                   	pusha  
  102f82:	66 b8 10 00          	mov    $0x10,%ax
  102f86:	8e d8                	mov    %eax,%ds
  102f88:	8e c0                	mov    %eax,%es
  102f8a:	8e e0                	mov    %eax,%fs
  102f8c:	8e e8                	mov    %eax,%gs
  102f8e:	89 e0                	mov    %esp,%eax
  102f90:	50                   	push   %eax

00102f91 <isr162.1>:
  102f91:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102f96:	ff d0                	call   *%eax
  102f98:	e9 4b e7 ff ff       	jmp    1016e8 <all_ints>

00102f9d <isr163>:
  102f9d:	6a 00                	push   $0x0
  102f9f:	6a a3                	push   $0xffffffa3
  102fa1:	0f a8                	push   %gs
  102fa3:	0f a0                	push   %fs
  102fa5:	06                   	push   %es
  102fa6:	1e                   	push   %ds
  102fa7:	60                   	pusha  
  102fa8:	66 b8 10 00          	mov    $0x10,%ax
  102fac:	8e d8                	mov    %eax,%ds
  102fae:	8e c0                	mov    %eax,%es
  102fb0:	8e e0                	mov    %eax,%fs
  102fb2:	8e e8                	mov    %eax,%gs
  102fb4:	89 e0                	mov    %esp,%eax
  102fb6:	50                   	push   %eax

00102fb7 <isr163.1>:
  102fb7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102fbc:	ff d0                	call   *%eax
  102fbe:	e9 25 e7 ff ff       	jmp    1016e8 <all_ints>

00102fc3 <isr164>:
  102fc3:	6a 00                	push   $0x0
  102fc5:	6a a4                	push   $0xffffffa4
  102fc7:	0f a8                	push   %gs
  102fc9:	0f a0                	push   %fs
  102fcb:	06                   	push   %es
  102fcc:	1e                   	push   %ds
  102fcd:	60                   	pusha  
  102fce:	66 b8 10 00          	mov    $0x10,%ax
  102fd2:	8e d8                	mov    %eax,%ds
  102fd4:	8e c0                	mov    %eax,%es
  102fd6:	8e e0                	mov    %eax,%fs
  102fd8:	8e e8                	mov    %eax,%gs
  102fda:	89 e0                	mov    %esp,%eax
  102fdc:	50                   	push   %eax

00102fdd <isr164.1>:
  102fdd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  102fe2:	ff d0                	call   *%eax
  102fe4:	e9 ff e6 ff ff       	jmp    1016e8 <all_ints>

00102fe9 <isr165>:
  102fe9:	6a 00                	push   $0x0
  102feb:	6a a5                	push   $0xffffffa5
  102fed:	0f a8                	push   %gs
  102fef:	0f a0                	push   %fs
  102ff1:	06                   	push   %es
  102ff2:	1e                   	push   %ds
  102ff3:	60                   	pusha  
  102ff4:	66 b8 10 00          	mov    $0x10,%ax
  102ff8:	8e d8                	mov    %eax,%ds
  102ffa:	8e c0                	mov    %eax,%es
  102ffc:	8e e0                	mov    %eax,%fs
  102ffe:	8e e8                	mov    %eax,%gs
  103000:	89 e0                	mov    %esp,%eax
  103002:	50                   	push   %eax

00103003 <isr165.1>:
  103003:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103008:	ff d0                	call   *%eax
  10300a:	e9 d9 e6 ff ff       	jmp    1016e8 <all_ints>

0010300f <isr166>:
  10300f:	6a 00                	push   $0x0
  103011:	6a a6                	push   $0xffffffa6
  103013:	0f a8                	push   %gs
  103015:	0f a0                	push   %fs
  103017:	06                   	push   %es
  103018:	1e                   	push   %ds
  103019:	60                   	pusha  
  10301a:	66 b8 10 00          	mov    $0x10,%ax
  10301e:	8e d8                	mov    %eax,%ds
  103020:	8e c0                	mov    %eax,%es
  103022:	8e e0                	mov    %eax,%fs
  103024:	8e e8                	mov    %eax,%gs
  103026:	89 e0                	mov    %esp,%eax
  103028:	50                   	push   %eax

00103029 <isr166.1>:
  103029:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10302e:	ff d0                	call   *%eax
  103030:	e9 b3 e6 ff ff       	jmp    1016e8 <all_ints>

00103035 <isr167>:
  103035:	6a 00                	push   $0x0
  103037:	6a a7                	push   $0xffffffa7
  103039:	0f a8                	push   %gs
  10303b:	0f a0                	push   %fs
  10303d:	06                   	push   %es
  10303e:	1e                   	push   %ds
  10303f:	60                   	pusha  
  103040:	66 b8 10 00          	mov    $0x10,%ax
  103044:	8e d8                	mov    %eax,%ds
  103046:	8e c0                	mov    %eax,%es
  103048:	8e e0                	mov    %eax,%fs
  10304a:	8e e8                	mov    %eax,%gs
  10304c:	89 e0                	mov    %esp,%eax
  10304e:	50                   	push   %eax

0010304f <isr167.1>:
  10304f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103054:	ff d0                	call   *%eax
  103056:	e9 8d e6 ff ff       	jmp    1016e8 <all_ints>

0010305b <isr168>:
  10305b:	6a 00                	push   $0x0
  10305d:	6a a8                	push   $0xffffffa8
  10305f:	0f a8                	push   %gs
  103061:	0f a0                	push   %fs
  103063:	06                   	push   %es
  103064:	1e                   	push   %ds
  103065:	60                   	pusha  
  103066:	66 b8 10 00          	mov    $0x10,%ax
  10306a:	8e d8                	mov    %eax,%ds
  10306c:	8e c0                	mov    %eax,%es
  10306e:	8e e0                	mov    %eax,%fs
  103070:	8e e8                	mov    %eax,%gs
  103072:	89 e0                	mov    %esp,%eax
  103074:	50                   	push   %eax

00103075 <isr168.1>:
  103075:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10307a:	ff d0                	call   *%eax
  10307c:	e9 67 e6 ff ff       	jmp    1016e8 <all_ints>

00103081 <isr169>:
  103081:	6a 00                	push   $0x0
  103083:	6a a9                	push   $0xffffffa9
  103085:	0f a8                	push   %gs
  103087:	0f a0                	push   %fs
  103089:	06                   	push   %es
  10308a:	1e                   	push   %ds
  10308b:	60                   	pusha  
  10308c:	66 b8 10 00          	mov    $0x10,%ax
  103090:	8e d8                	mov    %eax,%ds
  103092:	8e c0                	mov    %eax,%es
  103094:	8e e0                	mov    %eax,%fs
  103096:	8e e8                	mov    %eax,%gs
  103098:	89 e0                	mov    %esp,%eax
  10309a:	50                   	push   %eax

0010309b <isr169.1>:
  10309b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1030a0:	ff d0                	call   *%eax
  1030a2:	e9 41 e6 ff ff       	jmp    1016e8 <all_ints>

001030a7 <isr170>:
  1030a7:	6a 00                	push   $0x0
  1030a9:	6a aa                	push   $0xffffffaa
  1030ab:	0f a8                	push   %gs
  1030ad:	0f a0                	push   %fs
  1030af:	06                   	push   %es
  1030b0:	1e                   	push   %ds
  1030b1:	60                   	pusha  
  1030b2:	66 b8 10 00          	mov    $0x10,%ax
  1030b6:	8e d8                	mov    %eax,%ds
  1030b8:	8e c0                	mov    %eax,%es
  1030ba:	8e e0                	mov    %eax,%fs
  1030bc:	8e e8                	mov    %eax,%gs
  1030be:	89 e0                	mov    %esp,%eax
  1030c0:	50                   	push   %eax

001030c1 <isr170.1>:
  1030c1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1030c6:	ff d0                	call   *%eax
  1030c8:	e9 1b e6 ff ff       	jmp    1016e8 <all_ints>

001030cd <isr171>:
  1030cd:	6a 00                	push   $0x0
  1030cf:	6a ab                	push   $0xffffffab
  1030d1:	0f a8                	push   %gs
  1030d3:	0f a0                	push   %fs
  1030d5:	06                   	push   %es
  1030d6:	1e                   	push   %ds
  1030d7:	60                   	pusha  
  1030d8:	66 b8 10 00          	mov    $0x10,%ax
  1030dc:	8e d8                	mov    %eax,%ds
  1030de:	8e c0                	mov    %eax,%es
  1030e0:	8e e0                	mov    %eax,%fs
  1030e2:	8e e8                	mov    %eax,%gs
  1030e4:	89 e0                	mov    %esp,%eax
  1030e6:	50                   	push   %eax

001030e7 <isr171.1>:
  1030e7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1030ec:	ff d0                	call   *%eax
  1030ee:	e9 f5 e5 ff ff       	jmp    1016e8 <all_ints>

001030f3 <isr172>:
  1030f3:	6a 00                	push   $0x0
  1030f5:	6a ac                	push   $0xffffffac
  1030f7:	0f a8                	push   %gs
  1030f9:	0f a0                	push   %fs
  1030fb:	06                   	push   %es
  1030fc:	1e                   	push   %ds
  1030fd:	60                   	pusha  
  1030fe:	66 b8 10 00          	mov    $0x10,%ax
  103102:	8e d8                	mov    %eax,%ds
  103104:	8e c0                	mov    %eax,%es
  103106:	8e e0                	mov    %eax,%fs
  103108:	8e e8                	mov    %eax,%gs
  10310a:	89 e0                	mov    %esp,%eax
  10310c:	50                   	push   %eax

0010310d <isr172.1>:
  10310d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103112:	ff d0                	call   *%eax
  103114:	e9 cf e5 ff ff       	jmp    1016e8 <all_ints>

00103119 <isr173>:
  103119:	6a 00                	push   $0x0
  10311b:	6a ad                	push   $0xffffffad
  10311d:	0f a8                	push   %gs
  10311f:	0f a0                	push   %fs
  103121:	06                   	push   %es
  103122:	1e                   	push   %ds
  103123:	60                   	pusha  
  103124:	66 b8 10 00          	mov    $0x10,%ax
  103128:	8e d8                	mov    %eax,%ds
  10312a:	8e c0                	mov    %eax,%es
  10312c:	8e e0                	mov    %eax,%fs
  10312e:	8e e8                	mov    %eax,%gs
  103130:	89 e0                	mov    %esp,%eax
  103132:	50                   	push   %eax

00103133 <isr173.1>:
  103133:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103138:	ff d0                	call   *%eax
  10313a:	e9 a9 e5 ff ff       	jmp    1016e8 <all_ints>

0010313f <isr174>:
  10313f:	6a 00                	push   $0x0
  103141:	6a ae                	push   $0xffffffae
  103143:	0f a8                	push   %gs
  103145:	0f a0                	push   %fs
  103147:	06                   	push   %es
  103148:	1e                   	push   %ds
  103149:	60                   	pusha  
  10314a:	66 b8 10 00          	mov    $0x10,%ax
  10314e:	8e d8                	mov    %eax,%ds
  103150:	8e c0                	mov    %eax,%es
  103152:	8e e0                	mov    %eax,%fs
  103154:	8e e8                	mov    %eax,%gs
  103156:	89 e0                	mov    %esp,%eax
  103158:	50                   	push   %eax

00103159 <isr174.1>:
  103159:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10315e:	ff d0                	call   *%eax
  103160:	e9 83 e5 ff ff       	jmp    1016e8 <all_ints>

00103165 <isr175>:
  103165:	6a 00                	push   $0x0
  103167:	6a af                	push   $0xffffffaf
  103169:	0f a8                	push   %gs
  10316b:	0f a0                	push   %fs
  10316d:	06                   	push   %es
  10316e:	1e                   	push   %ds
  10316f:	60                   	pusha  
  103170:	66 b8 10 00          	mov    $0x10,%ax
  103174:	8e d8                	mov    %eax,%ds
  103176:	8e c0                	mov    %eax,%es
  103178:	8e e0                	mov    %eax,%fs
  10317a:	8e e8                	mov    %eax,%gs
  10317c:	89 e0                	mov    %esp,%eax
  10317e:	50                   	push   %eax

0010317f <isr175.1>:
  10317f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103184:	ff d0                	call   *%eax
  103186:	e9 5d e5 ff ff       	jmp    1016e8 <all_ints>

0010318b <isr176>:
  10318b:	6a 00                	push   $0x0
  10318d:	6a b0                	push   $0xffffffb0
  10318f:	0f a8                	push   %gs
  103191:	0f a0                	push   %fs
  103193:	06                   	push   %es
  103194:	1e                   	push   %ds
  103195:	60                   	pusha  
  103196:	66 b8 10 00          	mov    $0x10,%ax
  10319a:	8e d8                	mov    %eax,%ds
  10319c:	8e c0                	mov    %eax,%es
  10319e:	8e e0                	mov    %eax,%fs
  1031a0:	8e e8                	mov    %eax,%gs
  1031a2:	89 e0                	mov    %esp,%eax
  1031a4:	50                   	push   %eax

001031a5 <isr176.1>:
  1031a5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1031aa:	ff d0                	call   *%eax
  1031ac:	e9 37 e5 ff ff       	jmp    1016e8 <all_ints>

001031b1 <isr177>:
  1031b1:	6a 00                	push   $0x0
  1031b3:	6a b1                	push   $0xffffffb1
  1031b5:	0f a8                	push   %gs
  1031b7:	0f a0                	push   %fs
  1031b9:	06                   	push   %es
  1031ba:	1e                   	push   %ds
  1031bb:	60                   	pusha  
  1031bc:	66 b8 10 00          	mov    $0x10,%ax
  1031c0:	8e d8                	mov    %eax,%ds
  1031c2:	8e c0                	mov    %eax,%es
  1031c4:	8e e0                	mov    %eax,%fs
  1031c6:	8e e8                	mov    %eax,%gs
  1031c8:	89 e0                	mov    %esp,%eax
  1031ca:	50                   	push   %eax

001031cb <isr177.1>:
  1031cb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1031d0:	ff d0                	call   *%eax
  1031d2:	e9 11 e5 ff ff       	jmp    1016e8 <all_ints>

001031d7 <isr178>:
  1031d7:	6a 00                	push   $0x0
  1031d9:	6a b2                	push   $0xffffffb2
  1031db:	0f a8                	push   %gs
  1031dd:	0f a0                	push   %fs
  1031df:	06                   	push   %es
  1031e0:	1e                   	push   %ds
  1031e1:	60                   	pusha  
  1031e2:	66 b8 10 00          	mov    $0x10,%ax
  1031e6:	8e d8                	mov    %eax,%ds
  1031e8:	8e c0                	mov    %eax,%es
  1031ea:	8e e0                	mov    %eax,%fs
  1031ec:	8e e8                	mov    %eax,%gs
  1031ee:	89 e0                	mov    %esp,%eax
  1031f0:	50                   	push   %eax

001031f1 <isr178.1>:
  1031f1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1031f6:	ff d0                	call   *%eax
  1031f8:	e9 eb e4 ff ff       	jmp    1016e8 <all_ints>

001031fd <isr179>:
  1031fd:	6a 00                	push   $0x0
  1031ff:	6a b3                	push   $0xffffffb3
  103201:	0f a8                	push   %gs
  103203:	0f a0                	push   %fs
  103205:	06                   	push   %es
  103206:	1e                   	push   %ds
  103207:	60                   	pusha  
  103208:	66 b8 10 00          	mov    $0x10,%ax
  10320c:	8e d8                	mov    %eax,%ds
  10320e:	8e c0                	mov    %eax,%es
  103210:	8e e0                	mov    %eax,%fs
  103212:	8e e8                	mov    %eax,%gs
  103214:	89 e0                	mov    %esp,%eax
  103216:	50                   	push   %eax

00103217 <isr179.1>:
  103217:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10321c:	ff d0                	call   *%eax
  10321e:	e9 c5 e4 ff ff       	jmp    1016e8 <all_ints>

00103223 <isr180>:
  103223:	6a 00                	push   $0x0
  103225:	6a b4                	push   $0xffffffb4
  103227:	0f a8                	push   %gs
  103229:	0f a0                	push   %fs
  10322b:	06                   	push   %es
  10322c:	1e                   	push   %ds
  10322d:	60                   	pusha  
  10322e:	66 b8 10 00          	mov    $0x10,%ax
  103232:	8e d8                	mov    %eax,%ds
  103234:	8e c0                	mov    %eax,%es
  103236:	8e e0                	mov    %eax,%fs
  103238:	8e e8                	mov    %eax,%gs
  10323a:	89 e0                	mov    %esp,%eax
  10323c:	50                   	push   %eax

0010323d <isr180.1>:
  10323d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103242:	ff d0                	call   *%eax
  103244:	e9 9f e4 ff ff       	jmp    1016e8 <all_ints>

00103249 <isr181>:
  103249:	6a 00                	push   $0x0
  10324b:	6a b5                	push   $0xffffffb5
  10324d:	0f a8                	push   %gs
  10324f:	0f a0                	push   %fs
  103251:	06                   	push   %es
  103252:	1e                   	push   %ds
  103253:	60                   	pusha  
  103254:	66 b8 10 00          	mov    $0x10,%ax
  103258:	8e d8                	mov    %eax,%ds
  10325a:	8e c0                	mov    %eax,%es
  10325c:	8e e0                	mov    %eax,%fs
  10325e:	8e e8                	mov    %eax,%gs
  103260:	89 e0                	mov    %esp,%eax
  103262:	50                   	push   %eax

00103263 <isr181.1>:
  103263:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103268:	ff d0                	call   *%eax
  10326a:	e9 79 e4 ff ff       	jmp    1016e8 <all_ints>

0010326f <isr182>:
  10326f:	6a 00                	push   $0x0
  103271:	6a b6                	push   $0xffffffb6
  103273:	0f a8                	push   %gs
  103275:	0f a0                	push   %fs
  103277:	06                   	push   %es
  103278:	1e                   	push   %ds
  103279:	60                   	pusha  
  10327a:	66 b8 10 00          	mov    $0x10,%ax
  10327e:	8e d8                	mov    %eax,%ds
  103280:	8e c0                	mov    %eax,%es
  103282:	8e e0                	mov    %eax,%fs
  103284:	8e e8                	mov    %eax,%gs
  103286:	89 e0                	mov    %esp,%eax
  103288:	50                   	push   %eax

00103289 <isr182.1>:
  103289:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10328e:	ff d0                	call   *%eax
  103290:	e9 53 e4 ff ff       	jmp    1016e8 <all_ints>

00103295 <isr183>:
  103295:	6a 00                	push   $0x0
  103297:	6a b7                	push   $0xffffffb7
  103299:	0f a8                	push   %gs
  10329b:	0f a0                	push   %fs
  10329d:	06                   	push   %es
  10329e:	1e                   	push   %ds
  10329f:	60                   	pusha  
  1032a0:	66 b8 10 00          	mov    $0x10,%ax
  1032a4:	8e d8                	mov    %eax,%ds
  1032a6:	8e c0                	mov    %eax,%es
  1032a8:	8e e0                	mov    %eax,%fs
  1032aa:	8e e8                	mov    %eax,%gs
  1032ac:	89 e0                	mov    %esp,%eax
  1032ae:	50                   	push   %eax

001032af <isr183.1>:
  1032af:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1032b4:	ff d0                	call   *%eax
  1032b6:	e9 2d e4 ff ff       	jmp    1016e8 <all_ints>

001032bb <isr184>:
  1032bb:	6a 00                	push   $0x0
  1032bd:	6a b8                	push   $0xffffffb8
  1032bf:	0f a8                	push   %gs
  1032c1:	0f a0                	push   %fs
  1032c3:	06                   	push   %es
  1032c4:	1e                   	push   %ds
  1032c5:	60                   	pusha  
  1032c6:	66 b8 10 00          	mov    $0x10,%ax
  1032ca:	8e d8                	mov    %eax,%ds
  1032cc:	8e c0                	mov    %eax,%es
  1032ce:	8e e0                	mov    %eax,%fs
  1032d0:	8e e8                	mov    %eax,%gs
  1032d2:	89 e0                	mov    %esp,%eax
  1032d4:	50                   	push   %eax

001032d5 <isr184.1>:
  1032d5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1032da:	ff d0                	call   *%eax
  1032dc:	e9 07 e4 ff ff       	jmp    1016e8 <all_ints>

001032e1 <isr185>:
  1032e1:	6a 00                	push   $0x0
  1032e3:	6a b9                	push   $0xffffffb9
  1032e5:	0f a8                	push   %gs
  1032e7:	0f a0                	push   %fs
  1032e9:	06                   	push   %es
  1032ea:	1e                   	push   %ds
  1032eb:	60                   	pusha  
  1032ec:	66 b8 10 00          	mov    $0x10,%ax
  1032f0:	8e d8                	mov    %eax,%ds
  1032f2:	8e c0                	mov    %eax,%es
  1032f4:	8e e0                	mov    %eax,%fs
  1032f6:	8e e8                	mov    %eax,%gs
  1032f8:	89 e0                	mov    %esp,%eax
  1032fa:	50                   	push   %eax

001032fb <isr185.1>:
  1032fb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103300:	ff d0                	call   *%eax
  103302:	e9 e1 e3 ff ff       	jmp    1016e8 <all_ints>

00103307 <isr186>:
  103307:	6a 00                	push   $0x0
  103309:	6a ba                	push   $0xffffffba
  10330b:	0f a8                	push   %gs
  10330d:	0f a0                	push   %fs
  10330f:	06                   	push   %es
  103310:	1e                   	push   %ds
  103311:	60                   	pusha  
  103312:	66 b8 10 00          	mov    $0x10,%ax
  103316:	8e d8                	mov    %eax,%ds
  103318:	8e c0                	mov    %eax,%es
  10331a:	8e e0                	mov    %eax,%fs
  10331c:	8e e8                	mov    %eax,%gs
  10331e:	89 e0                	mov    %esp,%eax
  103320:	50                   	push   %eax

00103321 <isr186.1>:
  103321:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103326:	ff d0                	call   *%eax
  103328:	e9 bb e3 ff ff       	jmp    1016e8 <all_ints>

0010332d <isr187>:
  10332d:	6a 00                	push   $0x0
  10332f:	6a bb                	push   $0xffffffbb
  103331:	0f a8                	push   %gs
  103333:	0f a0                	push   %fs
  103335:	06                   	push   %es
  103336:	1e                   	push   %ds
  103337:	60                   	pusha  
  103338:	66 b8 10 00          	mov    $0x10,%ax
  10333c:	8e d8                	mov    %eax,%ds
  10333e:	8e c0                	mov    %eax,%es
  103340:	8e e0                	mov    %eax,%fs
  103342:	8e e8                	mov    %eax,%gs
  103344:	89 e0                	mov    %esp,%eax
  103346:	50                   	push   %eax

00103347 <isr187.1>:
  103347:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10334c:	ff d0                	call   *%eax
  10334e:	e9 95 e3 ff ff       	jmp    1016e8 <all_ints>

00103353 <isr188>:
  103353:	6a 00                	push   $0x0
  103355:	6a bc                	push   $0xffffffbc
  103357:	0f a8                	push   %gs
  103359:	0f a0                	push   %fs
  10335b:	06                   	push   %es
  10335c:	1e                   	push   %ds
  10335d:	60                   	pusha  
  10335e:	66 b8 10 00          	mov    $0x10,%ax
  103362:	8e d8                	mov    %eax,%ds
  103364:	8e c0                	mov    %eax,%es
  103366:	8e e0                	mov    %eax,%fs
  103368:	8e e8                	mov    %eax,%gs
  10336a:	89 e0                	mov    %esp,%eax
  10336c:	50                   	push   %eax

0010336d <isr188.1>:
  10336d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103372:	ff d0                	call   *%eax
  103374:	e9 6f e3 ff ff       	jmp    1016e8 <all_ints>

00103379 <isr189>:
  103379:	6a 00                	push   $0x0
  10337b:	6a bd                	push   $0xffffffbd
  10337d:	0f a8                	push   %gs
  10337f:	0f a0                	push   %fs
  103381:	06                   	push   %es
  103382:	1e                   	push   %ds
  103383:	60                   	pusha  
  103384:	66 b8 10 00          	mov    $0x10,%ax
  103388:	8e d8                	mov    %eax,%ds
  10338a:	8e c0                	mov    %eax,%es
  10338c:	8e e0                	mov    %eax,%fs
  10338e:	8e e8                	mov    %eax,%gs
  103390:	89 e0                	mov    %esp,%eax
  103392:	50                   	push   %eax

00103393 <isr189.1>:
  103393:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103398:	ff d0                	call   *%eax
  10339a:	e9 49 e3 ff ff       	jmp    1016e8 <all_ints>

0010339f <isr190>:
  10339f:	6a 00                	push   $0x0
  1033a1:	6a be                	push   $0xffffffbe
  1033a3:	0f a8                	push   %gs
  1033a5:	0f a0                	push   %fs
  1033a7:	06                   	push   %es
  1033a8:	1e                   	push   %ds
  1033a9:	60                   	pusha  
  1033aa:	66 b8 10 00          	mov    $0x10,%ax
  1033ae:	8e d8                	mov    %eax,%ds
  1033b0:	8e c0                	mov    %eax,%es
  1033b2:	8e e0                	mov    %eax,%fs
  1033b4:	8e e8                	mov    %eax,%gs
  1033b6:	89 e0                	mov    %esp,%eax
  1033b8:	50                   	push   %eax

001033b9 <isr190.1>:
  1033b9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1033be:	ff d0                	call   *%eax
  1033c0:	e9 23 e3 ff ff       	jmp    1016e8 <all_ints>

001033c5 <isr191>:
  1033c5:	6a 00                	push   $0x0
  1033c7:	6a bf                	push   $0xffffffbf
  1033c9:	0f a8                	push   %gs
  1033cb:	0f a0                	push   %fs
  1033cd:	06                   	push   %es
  1033ce:	1e                   	push   %ds
  1033cf:	60                   	pusha  
  1033d0:	66 b8 10 00          	mov    $0x10,%ax
  1033d4:	8e d8                	mov    %eax,%ds
  1033d6:	8e c0                	mov    %eax,%es
  1033d8:	8e e0                	mov    %eax,%fs
  1033da:	8e e8                	mov    %eax,%gs
  1033dc:	89 e0                	mov    %esp,%eax
  1033de:	50                   	push   %eax

001033df <isr191.1>:
  1033df:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1033e4:	ff d0                	call   *%eax
  1033e6:	e9 fd e2 ff ff       	jmp    1016e8 <all_ints>

001033eb <isr192>:
  1033eb:	6a 00                	push   $0x0
  1033ed:	6a c0                	push   $0xffffffc0
  1033ef:	0f a8                	push   %gs
  1033f1:	0f a0                	push   %fs
  1033f3:	06                   	push   %es
  1033f4:	1e                   	push   %ds
  1033f5:	60                   	pusha  
  1033f6:	66 b8 10 00          	mov    $0x10,%ax
  1033fa:	8e d8                	mov    %eax,%ds
  1033fc:	8e c0                	mov    %eax,%es
  1033fe:	8e e0                	mov    %eax,%fs
  103400:	8e e8                	mov    %eax,%gs
  103402:	89 e0                	mov    %esp,%eax
  103404:	50                   	push   %eax

00103405 <isr192.1>:
  103405:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10340a:	ff d0                	call   *%eax
  10340c:	e9 d7 e2 ff ff       	jmp    1016e8 <all_ints>

00103411 <isr193>:
  103411:	6a 00                	push   $0x0
  103413:	6a c1                	push   $0xffffffc1
  103415:	0f a8                	push   %gs
  103417:	0f a0                	push   %fs
  103419:	06                   	push   %es
  10341a:	1e                   	push   %ds
  10341b:	60                   	pusha  
  10341c:	66 b8 10 00          	mov    $0x10,%ax
  103420:	8e d8                	mov    %eax,%ds
  103422:	8e c0                	mov    %eax,%es
  103424:	8e e0                	mov    %eax,%fs
  103426:	8e e8                	mov    %eax,%gs
  103428:	89 e0                	mov    %esp,%eax
  10342a:	50                   	push   %eax

0010342b <isr193.1>:
  10342b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103430:	ff d0                	call   *%eax
  103432:	e9 b1 e2 ff ff       	jmp    1016e8 <all_ints>

00103437 <isr194>:
  103437:	6a 00                	push   $0x0
  103439:	6a c2                	push   $0xffffffc2
  10343b:	0f a8                	push   %gs
  10343d:	0f a0                	push   %fs
  10343f:	06                   	push   %es
  103440:	1e                   	push   %ds
  103441:	60                   	pusha  
  103442:	66 b8 10 00          	mov    $0x10,%ax
  103446:	8e d8                	mov    %eax,%ds
  103448:	8e c0                	mov    %eax,%es
  10344a:	8e e0                	mov    %eax,%fs
  10344c:	8e e8                	mov    %eax,%gs
  10344e:	89 e0                	mov    %esp,%eax
  103450:	50                   	push   %eax

00103451 <isr194.1>:
  103451:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103456:	ff d0                	call   *%eax
  103458:	e9 8b e2 ff ff       	jmp    1016e8 <all_ints>

0010345d <isr195>:
  10345d:	6a 00                	push   $0x0
  10345f:	6a c3                	push   $0xffffffc3
  103461:	0f a8                	push   %gs
  103463:	0f a0                	push   %fs
  103465:	06                   	push   %es
  103466:	1e                   	push   %ds
  103467:	60                   	pusha  
  103468:	66 b8 10 00          	mov    $0x10,%ax
  10346c:	8e d8                	mov    %eax,%ds
  10346e:	8e c0                	mov    %eax,%es
  103470:	8e e0                	mov    %eax,%fs
  103472:	8e e8                	mov    %eax,%gs
  103474:	89 e0                	mov    %esp,%eax
  103476:	50                   	push   %eax

00103477 <isr195.1>:
  103477:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10347c:	ff d0                	call   *%eax
  10347e:	e9 65 e2 ff ff       	jmp    1016e8 <all_ints>

00103483 <isr196>:
  103483:	6a 00                	push   $0x0
  103485:	6a c4                	push   $0xffffffc4
  103487:	0f a8                	push   %gs
  103489:	0f a0                	push   %fs
  10348b:	06                   	push   %es
  10348c:	1e                   	push   %ds
  10348d:	60                   	pusha  
  10348e:	66 b8 10 00          	mov    $0x10,%ax
  103492:	8e d8                	mov    %eax,%ds
  103494:	8e c0                	mov    %eax,%es
  103496:	8e e0                	mov    %eax,%fs
  103498:	8e e8                	mov    %eax,%gs
  10349a:	89 e0                	mov    %esp,%eax
  10349c:	50                   	push   %eax

0010349d <isr196.1>:
  10349d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1034a2:	ff d0                	call   *%eax
  1034a4:	e9 3f e2 ff ff       	jmp    1016e8 <all_ints>

001034a9 <isr197>:
  1034a9:	6a 00                	push   $0x0
  1034ab:	6a c5                	push   $0xffffffc5
  1034ad:	0f a8                	push   %gs
  1034af:	0f a0                	push   %fs
  1034b1:	06                   	push   %es
  1034b2:	1e                   	push   %ds
  1034b3:	60                   	pusha  
  1034b4:	66 b8 10 00          	mov    $0x10,%ax
  1034b8:	8e d8                	mov    %eax,%ds
  1034ba:	8e c0                	mov    %eax,%es
  1034bc:	8e e0                	mov    %eax,%fs
  1034be:	8e e8                	mov    %eax,%gs
  1034c0:	89 e0                	mov    %esp,%eax
  1034c2:	50                   	push   %eax

001034c3 <isr197.1>:
  1034c3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1034c8:	ff d0                	call   *%eax
  1034ca:	e9 19 e2 ff ff       	jmp    1016e8 <all_ints>

001034cf <isr198>:
  1034cf:	6a 00                	push   $0x0
  1034d1:	6a c6                	push   $0xffffffc6
  1034d3:	0f a8                	push   %gs
  1034d5:	0f a0                	push   %fs
  1034d7:	06                   	push   %es
  1034d8:	1e                   	push   %ds
  1034d9:	60                   	pusha  
  1034da:	66 b8 10 00          	mov    $0x10,%ax
  1034de:	8e d8                	mov    %eax,%ds
  1034e0:	8e c0                	mov    %eax,%es
  1034e2:	8e e0                	mov    %eax,%fs
  1034e4:	8e e8                	mov    %eax,%gs
  1034e6:	89 e0                	mov    %esp,%eax
  1034e8:	50                   	push   %eax

001034e9 <isr198.1>:
  1034e9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1034ee:	ff d0                	call   *%eax
  1034f0:	e9 f3 e1 ff ff       	jmp    1016e8 <all_ints>

001034f5 <isr199>:
  1034f5:	6a 00                	push   $0x0
  1034f7:	6a c7                	push   $0xffffffc7
  1034f9:	0f a8                	push   %gs
  1034fb:	0f a0                	push   %fs
  1034fd:	06                   	push   %es
  1034fe:	1e                   	push   %ds
  1034ff:	60                   	pusha  
  103500:	66 b8 10 00          	mov    $0x10,%ax
  103504:	8e d8                	mov    %eax,%ds
  103506:	8e c0                	mov    %eax,%es
  103508:	8e e0                	mov    %eax,%fs
  10350a:	8e e8                	mov    %eax,%gs
  10350c:	89 e0                	mov    %esp,%eax
  10350e:	50                   	push   %eax

0010350f <isr199.1>:
  10350f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103514:	ff d0                	call   *%eax
  103516:	e9 cd e1 ff ff       	jmp    1016e8 <all_ints>

0010351b <isr200>:
  10351b:	6a 00                	push   $0x0
  10351d:	6a c8                	push   $0xffffffc8
  10351f:	0f a8                	push   %gs
  103521:	0f a0                	push   %fs
  103523:	06                   	push   %es
  103524:	1e                   	push   %ds
  103525:	60                   	pusha  
  103526:	66 b8 10 00          	mov    $0x10,%ax
  10352a:	8e d8                	mov    %eax,%ds
  10352c:	8e c0                	mov    %eax,%es
  10352e:	8e e0                	mov    %eax,%fs
  103530:	8e e8                	mov    %eax,%gs
  103532:	89 e0                	mov    %esp,%eax
  103534:	50                   	push   %eax

00103535 <isr200.1>:
  103535:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10353a:	ff d0                	call   *%eax
  10353c:	e9 a7 e1 ff ff       	jmp    1016e8 <all_ints>

00103541 <isr201>:
  103541:	6a 00                	push   $0x0
  103543:	6a c9                	push   $0xffffffc9
  103545:	0f a8                	push   %gs
  103547:	0f a0                	push   %fs
  103549:	06                   	push   %es
  10354a:	1e                   	push   %ds
  10354b:	60                   	pusha  
  10354c:	66 b8 10 00          	mov    $0x10,%ax
  103550:	8e d8                	mov    %eax,%ds
  103552:	8e c0                	mov    %eax,%es
  103554:	8e e0                	mov    %eax,%fs
  103556:	8e e8                	mov    %eax,%gs
  103558:	89 e0                	mov    %esp,%eax
  10355a:	50                   	push   %eax

0010355b <isr201.1>:
  10355b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103560:	ff d0                	call   *%eax
  103562:	e9 81 e1 ff ff       	jmp    1016e8 <all_ints>

00103567 <isr202>:
  103567:	6a 00                	push   $0x0
  103569:	6a ca                	push   $0xffffffca
  10356b:	0f a8                	push   %gs
  10356d:	0f a0                	push   %fs
  10356f:	06                   	push   %es
  103570:	1e                   	push   %ds
  103571:	60                   	pusha  
  103572:	66 b8 10 00          	mov    $0x10,%ax
  103576:	8e d8                	mov    %eax,%ds
  103578:	8e c0                	mov    %eax,%es
  10357a:	8e e0                	mov    %eax,%fs
  10357c:	8e e8                	mov    %eax,%gs
  10357e:	89 e0                	mov    %esp,%eax
  103580:	50                   	push   %eax

00103581 <isr202.1>:
  103581:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103586:	ff d0                	call   *%eax
  103588:	e9 5b e1 ff ff       	jmp    1016e8 <all_ints>

0010358d <isr203>:
  10358d:	6a 00                	push   $0x0
  10358f:	6a cb                	push   $0xffffffcb
  103591:	0f a8                	push   %gs
  103593:	0f a0                	push   %fs
  103595:	06                   	push   %es
  103596:	1e                   	push   %ds
  103597:	60                   	pusha  
  103598:	66 b8 10 00          	mov    $0x10,%ax
  10359c:	8e d8                	mov    %eax,%ds
  10359e:	8e c0                	mov    %eax,%es
  1035a0:	8e e0                	mov    %eax,%fs
  1035a2:	8e e8                	mov    %eax,%gs
  1035a4:	89 e0                	mov    %esp,%eax
  1035a6:	50                   	push   %eax

001035a7 <isr203.1>:
  1035a7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1035ac:	ff d0                	call   *%eax
  1035ae:	e9 35 e1 ff ff       	jmp    1016e8 <all_ints>

001035b3 <isr204>:
  1035b3:	6a 00                	push   $0x0
  1035b5:	6a cc                	push   $0xffffffcc
  1035b7:	0f a8                	push   %gs
  1035b9:	0f a0                	push   %fs
  1035bb:	06                   	push   %es
  1035bc:	1e                   	push   %ds
  1035bd:	60                   	pusha  
  1035be:	66 b8 10 00          	mov    $0x10,%ax
  1035c2:	8e d8                	mov    %eax,%ds
  1035c4:	8e c0                	mov    %eax,%es
  1035c6:	8e e0                	mov    %eax,%fs
  1035c8:	8e e8                	mov    %eax,%gs
  1035ca:	89 e0                	mov    %esp,%eax
  1035cc:	50                   	push   %eax

001035cd <isr204.1>:
  1035cd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1035d2:	ff d0                	call   *%eax
  1035d4:	e9 0f e1 ff ff       	jmp    1016e8 <all_ints>

001035d9 <isr205>:
  1035d9:	6a 00                	push   $0x0
  1035db:	6a cd                	push   $0xffffffcd
  1035dd:	0f a8                	push   %gs
  1035df:	0f a0                	push   %fs
  1035e1:	06                   	push   %es
  1035e2:	1e                   	push   %ds
  1035e3:	60                   	pusha  
  1035e4:	66 b8 10 00          	mov    $0x10,%ax
  1035e8:	8e d8                	mov    %eax,%ds
  1035ea:	8e c0                	mov    %eax,%es
  1035ec:	8e e0                	mov    %eax,%fs
  1035ee:	8e e8                	mov    %eax,%gs
  1035f0:	89 e0                	mov    %esp,%eax
  1035f2:	50                   	push   %eax

001035f3 <isr205.1>:
  1035f3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1035f8:	ff d0                	call   *%eax
  1035fa:	e9 e9 e0 ff ff       	jmp    1016e8 <all_ints>

001035ff <isr206>:
  1035ff:	6a 00                	push   $0x0
  103601:	6a ce                	push   $0xffffffce
  103603:	0f a8                	push   %gs
  103605:	0f a0                	push   %fs
  103607:	06                   	push   %es
  103608:	1e                   	push   %ds
  103609:	60                   	pusha  
  10360a:	66 b8 10 00          	mov    $0x10,%ax
  10360e:	8e d8                	mov    %eax,%ds
  103610:	8e c0                	mov    %eax,%es
  103612:	8e e0                	mov    %eax,%fs
  103614:	8e e8                	mov    %eax,%gs
  103616:	89 e0                	mov    %esp,%eax
  103618:	50                   	push   %eax

00103619 <isr206.1>:
  103619:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10361e:	ff d0                	call   *%eax
  103620:	e9 c3 e0 ff ff       	jmp    1016e8 <all_ints>

00103625 <isr207>:
  103625:	6a 00                	push   $0x0
  103627:	6a cf                	push   $0xffffffcf
  103629:	0f a8                	push   %gs
  10362b:	0f a0                	push   %fs
  10362d:	06                   	push   %es
  10362e:	1e                   	push   %ds
  10362f:	60                   	pusha  
  103630:	66 b8 10 00          	mov    $0x10,%ax
  103634:	8e d8                	mov    %eax,%ds
  103636:	8e c0                	mov    %eax,%es
  103638:	8e e0                	mov    %eax,%fs
  10363a:	8e e8                	mov    %eax,%gs
  10363c:	89 e0                	mov    %esp,%eax
  10363e:	50                   	push   %eax

0010363f <isr207.1>:
  10363f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103644:	ff d0                	call   *%eax
  103646:	e9 9d e0 ff ff       	jmp    1016e8 <all_ints>

0010364b <isr208>:
  10364b:	6a 00                	push   $0x0
  10364d:	6a d0                	push   $0xffffffd0
  10364f:	0f a8                	push   %gs
  103651:	0f a0                	push   %fs
  103653:	06                   	push   %es
  103654:	1e                   	push   %ds
  103655:	60                   	pusha  
  103656:	66 b8 10 00          	mov    $0x10,%ax
  10365a:	8e d8                	mov    %eax,%ds
  10365c:	8e c0                	mov    %eax,%es
  10365e:	8e e0                	mov    %eax,%fs
  103660:	8e e8                	mov    %eax,%gs
  103662:	89 e0                	mov    %esp,%eax
  103664:	50                   	push   %eax

00103665 <isr208.1>:
  103665:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10366a:	ff d0                	call   *%eax
  10366c:	e9 77 e0 ff ff       	jmp    1016e8 <all_ints>

00103671 <isr209>:
  103671:	6a 00                	push   $0x0
  103673:	6a d1                	push   $0xffffffd1
  103675:	0f a8                	push   %gs
  103677:	0f a0                	push   %fs
  103679:	06                   	push   %es
  10367a:	1e                   	push   %ds
  10367b:	60                   	pusha  
  10367c:	66 b8 10 00          	mov    $0x10,%ax
  103680:	8e d8                	mov    %eax,%ds
  103682:	8e c0                	mov    %eax,%es
  103684:	8e e0                	mov    %eax,%fs
  103686:	8e e8                	mov    %eax,%gs
  103688:	89 e0                	mov    %esp,%eax
  10368a:	50                   	push   %eax

0010368b <isr209.1>:
  10368b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103690:	ff d0                	call   *%eax
  103692:	e9 51 e0 ff ff       	jmp    1016e8 <all_ints>

00103697 <isr210>:
  103697:	6a 00                	push   $0x0
  103699:	6a d2                	push   $0xffffffd2
  10369b:	0f a8                	push   %gs
  10369d:	0f a0                	push   %fs
  10369f:	06                   	push   %es
  1036a0:	1e                   	push   %ds
  1036a1:	60                   	pusha  
  1036a2:	66 b8 10 00          	mov    $0x10,%ax
  1036a6:	8e d8                	mov    %eax,%ds
  1036a8:	8e c0                	mov    %eax,%es
  1036aa:	8e e0                	mov    %eax,%fs
  1036ac:	8e e8                	mov    %eax,%gs
  1036ae:	89 e0                	mov    %esp,%eax
  1036b0:	50                   	push   %eax

001036b1 <isr210.1>:
  1036b1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1036b6:	ff d0                	call   *%eax
  1036b8:	e9 2b e0 ff ff       	jmp    1016e8 <all_ints>

001036bd <isr211>:
  1036bd:	6a 00                	push   $0x0
  1036bf:	6a d3                	push   $0xffffffd3
  1036c1:	0f a8                	push   %gs
  1036c3:	0f a0                	push   %fs
  1036c5:	06                   	push   %es
  1036c6:	1e                   	push   %ds
  1036c7:	60                   	pusha  
  1036c8:	66 b8 10 00          	mov    $0x10,%ax
  1036cc:	8e d8                	mov    %eax,%ds
  1036ce:	8e c0                	mov    %eax,%es
  1036d0:	8e e0                	mov    %eax,%fs
  1036d2:	8e e8                	mov    %eax,%gs
  1036d4:	89 e0                	mov    %esp,%eax
  1036d6:	50                   	push   %eax

001036d7 <isr211.1>:
  1036d7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1036dc:	ff d0                	call   *%eax
  1036de:	e9 05 e0 ff ff       	jmp    1016e8 <all_ints>

001036e3 <isr212>:
  1036e3:	6a 00                	push   $0x0
  1036e5:	6a d4                	push   $0xffffffd4
  1036e7:	0f a8                	push   %gs
  1036e9:	0f a0                	push   %fs
  1036eb:	06                   	push   %es
  1036ec:	1e                   	push   %ds
  1036ed:	60                   	pusha  
  1036ee:	66 b8 10 00          	mov    $0x10,%ax
  1036f2:	8e d8                	mov    %eax,%ds
  1036f4:	8e c0                	mov    %eax,%es
  1036f6:	8e e0                	mov    %eax,%fs
  1036f8:	8e e8                	mov    %eax,%gs
  1036fa:	89 e0                	mov    %esp,%eax
  1036fc:	50                   	push   %eax

001036fd <isr212.1>:
  1036fd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103702:	ff d0                	call   *%eax
  103704:	e9 df df ff ff       	jmp    1016e8 <all_ints>

00103709 <isr213>:
  103709:	6a 00                	push   $0x0
  10370b:	6a d5                	push   $0xffffffd5
  10370d:	0f a8                	push   %gs
  10370f:	0f a0                	push   %fs
  103711:	06                   	push   %es
  103712:	1e                   	push   %ds
  103713:	60                   	pusha  
  103714:	66 b8 10 00          	mov    $0x10,%ax
  103718:	8e d8                	mov    %eax,%ds
  10371a:	8e c0                	mov    %eax,%es
  10371c:	8e e0                	mov    %eax,%fs
  10371e:	8e e8                	mov    %eax,%gs
  103720:	89 e0                	mov    %esp,%eax
  103722:	50                   	push   %eax

00103723 <isr213.1>:
  103723:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103728:	ff d0                	call   *%eax
  10372a:	e9 b9 df ff ff       	jmp    1016e8 <all_ints>

0010372f <isr214>:
  10372f:	6a 00                	push   $0x0
  103731:	6a d6                	push   $0xffffffd6
  103733:	0f a8                	push   %gs
  103735:	0f a0                	push   %fs
  103737:	06                   	push   %es
  103738:	1e                   	push   %ds
  103739:	60                   	pusha  
  10373a:	66 b8 10 00          	mov    $0x10,%ax
  10373e:	8e d8                	mov    %eax,%ds
  103740:	8e c0                	mov    %eax,%es
  103742:	8e e0                	mov    %eax,%fs
  103744:	8e e8                	mov    %eax,%gs
  103746:	89 e0                	mov    %esp,%eax
  103748:	50                   	push   %eax

00103749 <isr214.1>:
  103749:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10374e:	ff d0                	call   *%eax
  103750:	e9 93 df ff ff       	jmp    1016e8 <all_ints>

00103755 <isr215>:
  103755:	6a 00                	push   $0x0
  103757:	6a d7                	push   $0xffffffd7
  103759:	0f a8                	push   %gs
  10375b:	0f a0                	push   %fs
  10375d:	06                   	push   %es
  10375e:	1e                   	push   %ds
  10375f:	60                   	pusha  
  103760:	66 b8 10 00          	mov    $0x10,%ax
  103764:	8e d8                	mov    %eax,%ds
  103766:	8e c0                	mov    %eax,%es
  103768:	8e e0                	mov    %eax,%fs
  10376a:	8e e8                	mov    %eax,%gs
  10376c:	89 e0                	mov    %esp,%eax
  10376e:	50                   	push   %eax

0010376f <isr215.1>:
  10376f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103774:	ff d0                	call   *%eax
  103776:	e9 6d df ff ff       	jmp    1016e8 <all_ints>

0010377b <isr216>:
  10377b:	6a 00                	push   $0x0
  10377d:	6a d8                	push   $0xffffffd8
  10377f:	0f a8                	push   %gs
  103781:	0f a0                	push   %fs
  103783:	06                   	push   %es
  103784:	1e                   	push   %ds
  103785:	60                   	pusha  
  103786:	66 b8 10 00          	mov    $0x10,%ax
  10378a:	8e d8                	mov    %eax,%ds
  10378c:	8e c0                	mov    %eax,%es
  10378e:	8e e0                	mov    %eax,%fs
  103790:	8e e8                	mov    %eax,%gs
  103792:	89 e0                	mov    %esp,%eax
  103794:	50                   	push   %eax

00103795 <isr216.1>:
  103795:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10379a:	ff d0                	call   *%eax
  10379c:	e9 47 df ff ff       	jmp    1016e8 <all_ints>

001037a1 <isr217>:
  1037a1:	6a 00                	push   $0x0
  1037a3:	6a d9                	push   $0xffffffd9
  1037a5:	0f a8                	push   %gs
  1037a7:	0f a0                	push   %fs
  1037a9:	06                   	push   %es
  1037aa:	1e                   	push   %ds
  1037ab:	60                   	pusha  
  1037ac:	66 b8 10 00          	mov    $0x10,%ax
  1037b0:	8e d8                	mov    %eax,%ds
  1037b2:	8e c0                	mov    %eax,%es
  1037b4:	8e e0                	mov    %eax,%fs
  1037b6:	8e e8                	mov    %eax,%gs
  1037b8:	89 e0                	mov    %esp,%eax
  1037ba:	50                   	push   %eax

001037bb <isr217.1>:
  1037bb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1037c0:	ff d0                	call   *%eax
  1037c2:	e9 21 df ff ff       	jmp    1016e8 <all_ints>

001037c7 <isr218>:
  1037c7:	6a 00                	push   $0x0
  1037c9:	6a da                	push   $0xffffffda
  1037cb:	0f a8                	push   %gs
  1037cd:	0f a0                	push   %fs
  1037cf:	06                   	push   %es
  1037d0:	1e                   	push   %ds
  1037d1:	60                   	pusha  
  1037d2:	66 b8 10 00          	mov    $0x10,%ax
  1037d6:	8e d8                	mov    %eax,%ds
  1037d8:	8e c0                	mov    %eax,%es
  1037da:	8e e0                	mov    %eax,%fs
  1037dc:	8e e8                	mov    %eax,%gs
  1037de:	89 e0                	mov    %esp,%eax
  1037e0:	50                   	push   %eax

001037e1 <isr218.1>:
  1037e1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1037e6:	ff d0                	call   *%eax
  1037e8:	e9 fb de ff ff       	jmp    1016e8 <all_ints>

001037ed <isr219>:
  1037ed:	6a 00                	push   $0x0
  1037ef:	6a db                	push   $0xffffffdb
  1037f1:	0f a8                	push   %gs
  1037f3:	0f a0                	push   %fs
  1037f5:	06                   	push   %es
  1037f6:	1e                   	push   %ds
  1037f7:	60                   	pusha  
  1037f8:	66 b8 10 00          	mov    $0x10,%ax
  1037fc:	8e d8                	mov    %eax,%ds
  1037fe:	8e c0                	mov    %eax,%es
  103800:	8e e0                	mov    %eax,%fs
  103802:	8e e8                	mov    %eax,%gs
  103804:	89 e0                	mov    %esp,%eax
  103806:	50                   	push   %eax

00103807 <isr219.1>:
  103807:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10380c:	ff d0                	call   *%eax
  10380e:	e9 d5 de ff ff       	jmp    1016e8 <all_ints>

00103813 <isr220>:
  103813:	6a 00                	push   $0x0
  103815:	6a dc                	push   $0xffffffdc
  103817:	0f a8                	push   %gs
  103819:	0f a0                	push   %fs
  10381b:	06                   	push   %es
  10381c:	1e                   	push   %ds
  10381d:	60                   	pusha  
  10381e:	66 b8 10 00          	mov    $0x10,%ax
  103822:	8e d8                	mov    %eax,%ds
  103824:	8e c0                	mov    %eax,%es
  103826:	8e e0                	mov    %eax,%fs
  103828:	8e e8                	mov    %eax,%gs
  10382a:	89 e0                	mov    %esp,%eax
  10382c:	50                   	push   %eax

0010382d <isr220.1>:
  10382d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103832:	ff d0                	call   *%eax
  103834:	e9 af de ff ff       	jmp    1016e8 <all_ints>

00103839 <isr221>:
  103839:	6a 00                	push   $0x0
  10383b:	6a dd                	push   $0xffffffdd
  10383d:	0f a8                	push   %gs
  10383f:	0f a0                	push   %fs
  103841:	06                   	push   %es
  103842:	1e                   	push   %ds
  103843:	60                   	pusha  
  103844:	66 b8 10 00          	mov    $0x10,%ax
  103848:	8e d8                	mov    %eax,%ds
  10384a:	8e c0                	mov    %eax,%es
  10384c:	8e e0                	mov    %eax,%fs
  10384e:	8e e8                	mov    %eax,%gs
  103850:	89 e0                	mov    %esp,%eax
  103852:	50                   	push   %eax

00103853 <isr221.1>:
  103853:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103858:	ff d0                	call   *%eax
  10385a:	e9 89 de ff ff       	jmp    1016e8 <all_ints>

0010385f <isr222>:
  10385f:	6a 00                	push   $0x0
  103861:	6a de                	push   $0xffffffde
  103863:	0f a8                	push   %gs
  103865:	0f a0                	push   %fs
  103867:	06                   	push   %es
  103868:	1e                   	push   %ds
  103869:	60                   	pusha  
  10386a:	66 b8 10 00          	mov    $0x10,%ax
  10386e:	8e d8                	mov    %eax,%ds
  103870:	8e c0                	mov    %eax,%es
  103872:	8e e0                	mov    %eax,%fs
  103874:	8e e8                	mov    %eax,%gs
  103876:	89 e0                	mov    %esp,%eax
  103878:	50                   	push   %eax

00103879 <isr222.1>:
  103879:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10387e:	ff d0                	call   *%eax
  103880:	e9 63 de ff ff       	jmp    1016e8 <all_ints>

00103885 <isr223>:
  103885:	6a 00                	push   $0x0
  103887:	6a df                	push   $0xffffffdf
  103889:	0f a8                	push   %gs
  10388b:	0f a0                	push   %fs
  10388d:	06                   	push   %es
  10388e:	1e                   	push   %ds
  10388f:	60                   	pusha  
  103890:	66 b8 10 00          	mov    $0x10,%ax
  103894:	8e d8                	mov    %eax,%ds
  103896:	8e c0                	mov    %eax,%es
  103898:	8e e0                	mov    %eax,%fs
  10389a:	8e e8                	mov    %eax,%gs
  10389c:	89 e0                	mov    %esp,%eax
  10389e:	50                   	push   %eax

0010389f <isr223.1>:
  10389f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1038a4:	ff d0                	call   *%eax
  1038a6:	e9 3d de ff ff       	jmp    1016e8 <all_ints>

001038ab <isr224>:
  1038ab:	6a 00                	push   $0x0
  1038ad:	6a e0                	push   $0xffffffe0
  1038af:	0f a8                	push   %gs
  1038b1:	0f a0                	push   %fs
  1038b3:	06                   	push   %es
  1038b4:	1e                   	push   %ds
  1038b5:	60                   	pusha  
  1038b6:	66 b8 10 00          	mov    $0x10,%ax
  1038ba:	8e d8                	mov    %eax,%ds
  1038bc:	8e c0                	mov    %eax,%es
  1038be:	8e e0                	mov    %eax,%fs
  1038c0:	8e e8                	mov    %eax,%gs
  1038c2:	89 e0                	mov    %esp,%eax
  1038c4:	50                   	push   %eax

001038c5 <isr224.1>:
  1038c5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1038ca:	ff d0                	call   *%eax
  1038cc:	e9 17 de ff ff       	jmp    1016e8 <all_ints>

001038d1 <isr225>:
  1038d1:	6a 00                	push   $0x0
  1038d3:	6a e1                	push   $0xffffffe1
  1038d5:	0f a8                	push   %gs
  1038d7:	0f a0                	push   %fs
  1038d9:	06                   	push   %es
  1038da:	1e                   	push   %ds
  1038db:	60                   	pusha  
  1038dc:	66 b8 10 00          	mov    $0x10,%ax
  1038e0:	8e d8                	mov    %eax,%ds
  1038e2:	8e c0                	mov    %eax,%es
  1038e4:	8e e0                	mov    %eax,%fs
  1038e6:	8e e8                	mov    %eax,%gs
  1038e8:	89 e0                	mov    %esp,%eax
  1038ea:	50                   	push   %eax

001038eb <isr225.1>:
  1038eb:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1038f0:	ff d0                	call   *%eax
  1038f2:	e9 f1 dd ff ff       	jmp    1016e8 <all_ints>

001038f7 <isr226>:
  1038f7:	6a 00                	push   $0x0
  1038f9:	6a e2                	push   $0xffffffe2
  1038fb:	0f a8                	push   %gs
  1038fd:	0f a0                	push   %fs
  1038ff:	06                   	push   %es
  103900:	1e                   	push   %ds
  103901:	60                   	pusha  
  103902:	66 b8 10 00          	mov    $0x10,%ax
  103906:	8e d8                	mov    %eax,%ds
  103908:	8e c0                	mov    %eax,%es
  10390a:	8e e0                	mov    %eax,%fs
  10390c:	8e e8                	mov    %eax,%gs
  10390e:	89 e0                	mov    %esp,%eax
  103910:	50                   	push   %eax

00103911 <isr226.1>:
  103911:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103916:	ff d0                	call   *%eax
  103918:	e9 cb dd ff ff       	jmp    1016e8 <all_ints>

0010391d <isr227>:
  10391d:	6a 00                	push   $0x0
  10391f:	6a e3                	push   $0xffffffe3
  103921:	0f a8                	push   %gs
  103923:	0f a0                	push   %fs
  103925:	06                   	push   %es
  103926:	1e                   	push   %ds
  103927:	60                   	pusha  
  103928:	66 b8 10 00          	mov    $0x10,%ax
  10392c:	8e d8                	mov    %eax,%ds
  10392e:	8e c0                	mov    %eax,%es
  103930:	8e e0                	mov    %eax,%fs
  103932:	8e e8                	mov    %eax,%gs
  103934:	89 e0                	mov    %esp,%eax
  103936:	50                   	push   %eax

00103937 <isr227.1>:
  103937:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  10393c:	ff d0                	call   *%eax
  10393e:	e9 a5 dd ff ff       	jmp    1016e8 <all_ints>

00103943 <isr228>:
  103943:	6a 00                	push   $0x0
  103945:	6a e4                	push   $0xffffffe4
  103947:	0f a8                	push   %gs
  103949:	0f a0                	push   %fs
  10394b:	06                   	push   %es
  10394c:	1e                   	push   %ds
  10394d:	60                   	pusha  
  10394e:	66 b8 10 00          	mov    $0x10,%ax
  103952:	8e d8                	mov    %eax,%ds
  103954:	8e c0                	mov    %eax,%es
  103956:	8e e0                	mov    %eax,%fs
  103958:	8e e8                	mov    %eax,%gs
  10395a:	89 e0                	mov    %esp,%eax
  10395c:	50                   	push   %eax

0010395d <isr228.1>:
  10395d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103962:	ff d0                	call   *%eax
  103964:	e9 7f dd ff ff       	jmp    1016e8 <all_ints>

00103969 <isr229>:
  103969:	6a 00                	push   $0x0
  10396b:	6a e5                	push   $0xffffffe5
  10396d:	0f a8                	push   %gs
  10396f:	0f a0                	push   %fs
  103971:	06                   	push   %es
  103972:	1e                   	push   %ds
  103973:	60                   	pusha  
  103974:	66 b8 10 00          	mov    $0x10,%ax
  103978:	8e d8                	mov    %eax,%ds
  10397a:	8e c0                	mov    %eax,%es
  10397c:	8e e0                	mov    %eax,%fs
  10397e:	8e e8                	mov    %eax,%gs
  103980:	89 e0                	mov    %esp,%eax
  103982:	50                   	push   %eax

00103983 <isr229.1>:
  103983:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103988:	ff d0                	call   *%eax
  10398a:	e9 59 dd ff ff       	jmp    1016e8 <all_ints>

0010398f <isr230>:
  10398f:	6a 00                	push   $0x0
  103991:	6a e6                	push   $0xffffffe6
  103993:	0f a8                	push   %gs
  103995:	0f a0                	push   %fs
  103997:	06                   	push   %es
  103998:	1e                   	push   %ds
  103999:	60                   	pusha  
  10399a:	66 b8 10 00          	mov    $0x10,%ax
  10399e:	8e d8                	mov    %eax,%ds
  1039a0:	8e c0                	mov    %eax,%es
  1039a2:	8e e0                	mov    %eax,%fs
  1039a4:	8e e8                	mov    %eax,%gs
  1039a6:	89 e0                	mov    %esp,%eax
  1039a8:	50                   	push   %eax

001039a9 <isr230.1>:
  1039a9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1039ae:	ff d0                	call   *%eax
  1039b0:	e9 33 dd ff ff       	jmp    1016e8 <all_ints>

001039b5 <isr231>:
  1039b5:	6a 00                	push   $0x0
  1039b7:	6a e7                	push   $0xffffffe7
  1039b9:	0f a8                	push   %gs
  1039bb:	0f a0                	push   %fs
  1039bd:	06                   	push   %es
  1039be:	1e                   	push   %ds
  1039bf:	60                   	pusha  
  1039c0:	66 b8 10 00          	mov    $0x10,%ax
  1039c4:	8e d8                	mov    %eax,%ds
  1039c6:	8e c0                	mov    %eax,%es
  1039c8:	8e e0                	mov    %eax,%fs
  1039ca:	8e e8                	mov    %eax,%gs
  1039cc:	89 e0                	mov    %esp,%eax
  1039ce:	50                   	push   %eax

001039cf <isr231.1>:
  1039cf:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1039d4:	ff d0                	call   *%eax
  1039d6:	e9 0d dd ff ff       	jmp    1016e8 <all_ints>

001039db <isr232>:
  1039db:	6a 00                	push   $0x0
  1039dd:	6a e8                	push   $0xffffffe8
  1039df:	0f a8                	push   %gs
  1039e1:	0f a0                	push   %fs
  1039e3:	06                   	push   %es
  1039e4:	1e                   	push   %ds
  1039e5:	60                   	pusha  
  1039e6:	66 b8 10 00          	mov    $0x10,%ax
  1039ea:	8e d8                	mov    %eax,%ds
  1039ec:	8e c0                	mov    %eax,%es
  1039ee:	8e e0                	mov    %eax,%fs
  1039f0:	8e e8                	mov    %eax,%gs
  1039f2:	89 e0                	mov    %esp,%eax
  1039f4:	50                   	push   %eax

001039f5 <isr232.1>:
  1039f5:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  1039fa:	ff d0                	call   *%eax
  1039fc:	e9 e7 dc ff ff       	jmp    1016e8 <all_ints>

00103a01 <isr233>:
  103a01:	6a 00                	push   $0x0
  103a03:	6a e9                	push   $0xffffffe9
  103a05:	0f a8                	push   %gs
  103a07:	0f a0                	push   %fs
  103a09:	06                   	push   %es
  103a0a:	1e                   	push   %ds
  103a0b:	60                   	pusha  
  103a0c:	66 b8 10 00          	mov    $0x10,%ax
  103a10:	8e d8                	mov    %eax,%ds
  103a12:	8e c0                	mov    %eax,%es
  103a14:	8e e0                	mov    %eax,%fs
  103a16:	8e e8                	mov    %eax,%gs
  103a18:	89 e0                	mov    %esp,%eax
  103a1a:	50                   	push   %eax

00103a1b <isr233.1>:
  103a1b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103a20:	ff d0                	call   *%eax
  103a22:	e9 c1 dc ff ff       	jmp    1016e8 <all_ints>

00103a27 <isr234>:
  103a27:	6a 00                	push   $0x0
  103a29:	6a ea                	push   $0xffffffea
  103a2b:	0f a8                	push   %gs
  103a2d:	0f a0                	push   %fs
  103a2f:	06                   	push   %es
  103a30:	1e                   	push   %ds
  103a31:	60                   	pusha  
  103a32:	66 b8 10 00          	mov    $0x10,%ax
  103a36:	8e d8                	mov    %eax,%ds
  103a38:	8e c0                	mov    %eax,%es
  103a3a:	8e e0                	mov    %eax,%fs
  103a3c:	8e e8                	mov    %eax,%gs
  103a3e:	89 e0                	mov    %esp,%eax
  103a40:	50                   	push   %eax

00103a41 <isr234.1>:
  103a41:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103a46:	ff d0                	call   *%eax
  103a48:	e9 9b dc ff ff       	jmp    1016e8 <all_ints>

00103a4d <isr235>:
  103a4d:	6a 00                	push   $0x0
  103a4f:	6a eb                	push   $0xffffffeb
  103a51:	0f a8                	push   %gs
  103a53:	0f a0                	push   %fs
  103a55:	06                   	push   %es
  103a56:	1e                   	push   %ds
  103a57:	60                   	pusha  
  103a58:	66 b8 10 00          	mov    $0x10,%ax
  103a5c:	8e d8                	mov    %eax,%ds
  103a5e:	8e c0                	mov    %eax,%es
  103a60:	8e e0                	mov    %eax,%fs
  103a62:	8e e8                	mov    %eax,%gs
  103a64:	89 e0                	mov    %esp,%eax
  103a66:	50                   	push   %eax

00103a67 <isr235.1>:
  103a67:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103a6c:	ff d0                	call   *%eax
  103a6e:	e9 75 dc ff ff       	jmp    1016e8 <all_ints>

00103a73 <isr236>:
  103a73:	6a 00                	push   $0x0
  103a75:	6a ec                	push   $0xffffffec
  103a77:	0f a8                	push   %gs
  103a79:	0f a0                	push   %fs
  103a7b:	06                   	push   %es
  103a7c:	1e                   	push   %ds
  103a7d:	60                   	pusha  
  103a7e:	66 b8 10 00          	mov    $0x10,%ax
  103a82:	8e d8                	mov    %eax,%ds
  103a84:	8e c0                	mov    %eax,%es
  103a86:	8e e0                	mov    %eax,%fs
  103a88:	8e e8                	mov    %eax,%gs
  103a8a:	89 e0                	mov    %esp,%eax
  103a8c:	50                   	push   %eax

00103a8d <isr236.1>:
  103a8d:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103a92:	ff d0                	call   *%eax
  103a94:	e9 4f dc ff ff       	jmp    1016e8 <all_ints>

00103a99 <isr237>:
  103a99:	6a 00                	push   $0x0
  103a9b:	6a ed                	push   $0xffffffed
  103a9d:	0f a8                	push   %gs
  103a9f:	0f a0                	push   %fs
  103aa1:	06                   	push   %es
  103aa2:	1e                   	push   %ds
  103aa3:	60                   	pusha  
  103aa4:	66 b8 10 00          	mov    $0x10,%ax
  103aa8:	8e d8                	mov    %eax,%ds
  103aaa:	8e c0                	mov    %eax,%es
  103aac:	8e e0                	mov    %eax,%fs
  103aae:	8e e8                	mov    %eax,%gs
  103ab0:	89 e0                	mov    %esp,%eax
  103ab2:	50                   	push   %eax

00103ab3 <isr237.1>:
  103ab3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103ab8:	ff d0                	call   *%eax
  103aba:	e9 29 dc ff ff       	jmp    1016e8 <all_ints>

00103abf <isr238>:
  103abf:	6a 00                	push   $0x0
  103ac1:	6a ee                	push   $0xffffffee
  103ac3:	0f a8                	push   %gs
  103ac5:	0f a0                	push   %fs
  103ac7:	06                   	push   %es
  103ac8:	1e                   	push   %ds
  103ac9:	60                   	pusha  
  103aca:	66 b8 10 00          	mov    $0x10,%ax
  103ace:	8e d8                	mov    %eax,%ds
  103ad0:	8e c0                	mov    %eax,%es
  103ad2:	8e e0                	mov    %eax,%fs
  103ad4:	8e e8                	mov    %eax,%gs
  103ad6:	89 e0                	mov    %esp,%eax
  103ad8:	50                   	push   %eax

00103ad9 <isr238.1>:
  103ad9:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103ade:	ff d0                	call   *%eax
  103ae0:	e9 03 dc ff ff       	jmp    1016e8 <all_ints>

00103ae5 <isr239>:
  103ae5:	6a 00                	push   $0x0
  103ae7:	6a ef                	push   $0xffffffef
  103ae9:	0f a8                	push   %gs
  103aeb:	0f a0                	push   %fs
  103aed:	06                   	push   %es
  103aee:	1e                   	push   %ds
  103aef:	60                   	pusha  
  103af0:	66 b8 10 00          	mov    $0x10,%ax
  103af4:	8e d8                	mov    %eax,%ds
  103af6:	8e c0                	mov    %eax,%es
  103af8:	8e e0                	mov    %eax,%fs
  103afa:	8e e8                	mov    %eax,%gs
  103afc:	89 e0                	mov    %esp,%eax
  103afe:	50                   	push   %eax

00103aff <isr239.1>:
  103aff:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103b04:	ff d0                	call   *%eax
  103b06:	e9 dd db ff ff       	jmp    1016e8 <all_ints>

00103b0b <isr240>:
  103b0b:	6a 00                	push   $0x0
  103b0d:	6a f0                	push   $0xfffffff0
  103b0f:	0f a8                	push   %gs
  103b11:	0f a0                	push   %fs
  103b13:	06                   	push   %es
  103b14:	1e                   	push   %ds
  103b15:	60                   	pusha  
  103b16:	66 b8 10 00          	mov    $0x10,%ax
  103b1a:	8e d8                	mov    %eax,%ds
  103b1c:	8e c0                	mov    %eax,%es
  103b1e:	8e e0                	mov    %eax,%fs
  103b20:	8e e8                	mov    %eax,%gs
  103b22:	89 e0                	mov    %esp,%eax
  103b24:	50                   	push   %eax

00103b25 <isr240.1>:
  103b25:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103b2a:	ff d0                	call   *%eax
  103b2c:	e9 b7 db ff ff       	jmp    1016e8 <all_ints>

00103b31 <isr241>:
  103b31:	6a 00                	push   $0x0
  103b33:	6a f1                	push   $0xfffffff1
  103b35:	0f a8                	push   %gs
  103b37:	0f a0                	push   %fs
  103b39:	06                   	push   %es
  103b3a:	1e                   	push   %ds
  103b3b:	60                   	pusha  
  103b3c:	66 b8 10 00          	mov    $0x10,%ax
  103b40:	8e d8                	mov    %eax,%ds
  103b42:	8e c0                	mov    %eax,%es
  103b44:	8e e0                	mov    %eax,%fs
  103b46:	8e e8                	mov    %eax,%gs
  103b48:	89 e0                	mov    %esp,%eax
  103b4a:	50                   	push   %eax

00103b4b <isr241.1>:
  103b4b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103b50:	ff d0                	call   *%eax
  103b52:	e9 91 db ff ff       	jmp    1016e8 <all_ints>

00103b57 <isr242>:
  103b57:	6a 00                	push   $0x0
  103b59:	6a f2                	push   $0xfffffff2
  103b5b:	0f a8                	push   %gs
  103b5d:	0f a0                	push   %fs
  103b5f:	06                   	push   %es
  103b60:	1e                   	push   %ds
  103b61:	60                   	pusha  
  103b62:	66 b8 10 00          	mov    $0x10,%ax
  103b66:	8e d8                	mov    %eax,%ds
  103b68:	8e c0                	mov    %eax,%es
  103b6a:	8e e0                	mov    %eax,%fs
  103b6c:	8e e8                	mov    %eax,%gs
  103b6e:	89 e0                	mov    %esp,%eax
  103b70:	50                   	push   %eax

00103b71 <isr242.1>:
  103b71:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103b76:	ff d0                	call   *%eax
  103b78:	e9 6b db ff ff       	jmp    1016e8 <all_ints>

00103b7d <isr243>:
  103b7d:	6a 00                	push   $0x0
  103b7f:	6a f3                	push   $0xfffffff3
  103b81:	0f a8                	push   %gs
  103b83:	0f a0                	push   %fs
  103b85:	06                   	push   %es
  103b86:	1e                   	push   %ds
  103b87:	60                   	pusha  
  103b88:	66 b8 10 00          	mov    $0x10,%ax
  103b8c:	8e d8                	mov    %eax,%ds
  103b8e:	8e c0                	mov    %eax,%es
  103b90:	8e e0                	mov    %eax,%fs
  103b92:	8e e8                	mov    %eax,%gs
  103b94:	89 e0                	mov    %esp,%eax
  103b96:	50                   	push   %eax

00103b97 <isr243.1>:
  103b97:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103b9c:	ff d0                	call   *%eax
  103b9e:	e9 45 db ff ff       	jmp    1016e8 <all_ints>

00103ba3 <isr244>:
  103ba3:	6a 00                	push   $0x0
  103ba5:	6a f4                	push   $0xfffffff4
  103ba7:	0f a8                	push   %gs
  103ba9:	0f a0                	push   %fs
  103bab:	06                   	push   %es
  103bac:	1e                   	push   %ds
  103bad:	60                   	pusha  
  103bae:	66 b8 10 00          	mov    $0x10,%ax
  103bb2:	8e d8                	mov    %eax,%ds
  103bb4:	8e c0                	mov    %eax,%es
  103bb6:	8e e0                	mov    %eax,%fs
  103bb8:	8e e8                	mov    %eax,%gs
  103bba:	89 e0                	mov    %esp,%eax
  103bbc:	50                   	push   %eax

00103bbd <isr244.1>:
  103bbd:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103bc2:	ff d0                	call   *%eax
  103bc4:	e9 1f db ff ff       	jmp    1016e8 <all_ints>

00103bc9 <isr245>:
  103bc9:	6a 00                	push   $0x0
  103bcb:	6a f5                	push   $0xfffffff5
  103bcd:	0f a8                	push   %gs
  103bcf:	0f a0                	push   %fs
  103bd1:	06                   	push   %es
  103bd2:	1e                   	push   %ds
  103bd3:	60                   	pusha  
  103bd4:	66 b8 10 00          	mov    $0x10,%ax
  103bd8:	8e d8                	mov    %eax,%ds
  103bda:	8e c0                	mov    %eax,%es
  103bdc:	8e e0                	mov    %eax,%fs
  103bde:	8e e8                	mov    %eax,%gs
  103be0:	89 e0                	mov    %esp,%eax
  103be2:	50                   	push   %eax

00103be3 <isr245.1>:
  103be3:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103be8:	ff d0                	call   *%eax
  103bea:	e9 f9 da ff ff       	jmp    1016e8 <all_ints>

00103bef <isr246>:
  103bef:	6a 00                	push   $0x0
  103bf1:	6a f6                	push   $0xfffffff6
  103bf3:	0f a8                	push   %gs
  103bf5:	0f a0                	push   %fs
  103bf7:	06                   	push   %es
  103bf8:	1e                   	push   %ds
  103bf9:	60                   	pusha  
  103bfa:	66 b8 10 00          	mov    $0x10,%ax
  103bfe:	8e d8                	mov    %eax,%ds
  103c00:	8e c0                	mov    %eax,%es
  103c02:	8e e0                	mov    %eax,%fs
  103c04:	8e e8                	mov    %eax,%gs
  103c06:	89 e0                	mov    %esp,%eax
  103c08:	50                   	push   %eax

00103c09 <isr246.1>:
  103c09:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103c0e:	ff d0                	call   *%eax
  103c10:	e9 d3 da ff ff       	jmp    1016e8 <all_ints>

00103c15 <isr247>:
  103c15:	6a 00                	push   $0x0
  103c17:	6a f7                	push   $0xfffffff7
  103c19:	0f a8                	push   %gs
  103c1b:	0f a0                	push   %fs
  103c1d:	06                   	push   %es
  103c1e:	1e                   	push   %ds
  103c1f:	60                   	pusha  
  103c20:	66 b8 10 00          	mov    $0x10,%ax
  103c24:	8e d8                	mov    %eax,%ds
  103c26:	8e c0                	mov    %eax,%es
  103c28:	8e e0                	mov    %eax,%fs
  103c2a:	8e e8                	mov    %eax,%gs
  103c2c:	89 e0                	mov    %esp,%eax
  103c2e:	50                   	push   %eax

00103c2f <isr247.1>:
  103c2f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103c34:	ff d0                	call   *%eax
  103c36:	e9 ad da ff ff       	jmp    1016e8 <all_ints>

00103c3b <isr248>:
  103c3b:	6a 00                	push   $0x0
  103c3d:	6a f8                	push   $0xfffffff8
  103c3f:	0f a8                	push   %gs
  103c41:	0f a0                	push   %fs
  103c43:	06                   	push   %es
  103c44:	1e                   	push   %ds
  103c45:	60                   	pusha  
  103c46:	66 b8 10 00          	mov    $0x10,%ax
  103c4a:	8e d8                	mov    %eax,%ds
  103c4c:	8e c0                	mov    %eax,%es
  103c4e:	8e e0                	mov    %eax,%fs
  103c50:	8e e8                	mov    %eax,%gs
  103c52:	89 e0                	mov    %esp,%eax
  103c54:	50                   	push   %eax

00103c55 <isr248.1>:
  103c55:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103c5a:	ff d0                	call   *%eax
  103c5c:	e9 87 da ff ff       	jmp    1016e8 <all_ints>

00103c61 <isr249>:
  103c61:	6a 00                	push   $0x0
  103c63:	6a f9                	push   $0xfffffff9
  103c65:	0f a8                	push   %gs
  103c67:	0f a0                	push   %fs
  103c69:	06                   	push   %es
  103c6a:	1e                   	push   %ds
  103c6b:	60                   	pusha  
  103c6c:	66 b8 10 00          	mov    $0x10,%ax
  103c70:	8e d8                	mov    %eax,%ds
  103c72:	8e c0                	mov    %eax,%es
  103c74:	8e e0                	mov    %eax,%fs
  103c76:	8e e8                	mov    %eax,%gs
  103c78:	89 e0                	mov    %esp,%eax
  103c7a:	50                   	push   %eax

00103c7b <isr249.1>:
  103c7b:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103c80:	ff d0                	call   *%eax
  103c82:	e9 61 da ff ff       	jmp    1016e8 <all_ints>

00103c87 <isr250>:
  103c87:	6a 00                	push   $0x0
  103c89:	6a fa                	push   $0xfffffffa
  103c8b:	0f a8                	push   %gs
  103c8d:	0f a0                	push   %fs
  103c8f:	06                   	push   %es
  103c90:	1e                   	push   %ds
  103c91:	60                   	pusha  
  103c92:	66 b8 10 00          	mov    $0x10,%ax
  103c96:	8e d8                	mov    %eax,%ds
  103c98:	8e c0                	mov    %eax,%es
  103c9a:	8e e0                	mov    %eax,%fs
  103c9c:	8e e8                	mov    %eax,%gs
  103c9e:	89 e0                	mov    %esp,%eax
  103ca0:	50                   	push   %eax

00103ca1 <isr250.1>:
  103ca1:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103ca6:	ff d0                	call   *%eax
  103ca8:	e9 3b da ff ff       	jmp    1016e8 <all_ints>

00103cad <isr251>:
  103cad:	6a 00                	push   $0x0
  103caf:	6a fb                	push   $0xfffffffb
  103cb1:	0f a8                	push   %gs
  103cb3:	0f a0                	push   %fs
  103cb5:	06                   	push   %es
  103cb6:	1e                   	push   %ds
  103cb7:	60                   	pusha  
  103cb8:	66 b8 10 00          	mov    $0x10,%ax
  103cbc:	8e d8                	mov    %eax,%ds
  103cbe:	8e c0                	mov    %eax,%es
  103cc0:	8e e0                	mov    %eax,%fs
  103cc2:	8e e8                	mov    %eax,%gs
  103cc4:	89 e0                	mov    %esp,%eax
  103cc6:	50                   	push   %eax

00103cc7 <isr251.1>:
  103cc7:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103ccc:	ff d0                	call   *%eax
  103cce:	e9 15 da ff ff       	jmp    1016e8 <all_ints>

00103cd3 <isr252>:
  103cd3:	6a 00                	push   $0x0
  103cd5:	6a fc                	push   $0xfffffffc
  103cd7:	0f a8                	push   %gs
  103cd9:	0f a0                	push   %fs
  103cdb:	06                   	push   %es
  103cdc:	1e                   	push   %ds
  103cdd:	60                   	pusha  
  103cde:	66 b8 10 00          	mov    $0x10,%ax
  103ce2:	8e d8                	mov    %eax,%ds
  103ce4:	8e c0                	mov    %eax,%es
  103ce6:	8e e0                	mov    %eax,%fs
  103ce8:	8e e8                	mov    %eax,%gs
  103cea:	89 e0                	mov    %esp,%eax
  103cec:	50                   	push   %eax

00103ced <isr252.1>:
  103ced:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103cf2:	ff d0                	call   *%eax
  103cf4:	e9 ef d9 ff ff       	jmp    1016e8 <all_ints>

00103cf9 <isr253>:
  103cf9:	6a 00                	push   $0x0
  103cfb:	6a fd                	push   $0xfffffffd
  103cfd:	0f a8                	push   %gs
  103cff:	0f a0                	push   %fs
  103d01:	06                   	push   %es
  103d02:	1e                   	push   %ds
  103d03:	60                   	pusha  
  103d04:	66 b8 10 00          	mov    $0x10,%ax
  103d08:	8e d8                	mov    %eax,%ds
  103d0a:	8e c0                	mov    %eax,%es
  103d0c:	8e e0                	mov    %eax,%fs
  103d0e:	8e e8                	mov    %eax,%gs
  103d10:	89 e0                	mov    %esp,%eax
  103d12:	50                   	push   %eax

00103d13 <isr253.1>:
  103d13:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103d18:	ff d0                	call   *%eax
  103d1a:	e9 c9 d9 ff ff       	jmp    1016e8 <all_ints>

00103d1f <isr254>:
  103d1f:	6a 00                	push   $0x0
  103d21:	6a fe                	push   $0xfffffffe
  103d23:	0f a8                	push   %gs
  103d25:	0f a0                	push   %fs
  103d27:	06                   	push   %es
  103d28:	1e                   	push   %ds
  103d29:	60                   	pusha  
  103d2a:	66 b8 10 00          	mov    $0x10,%ax
  103d2e:	8e d8                	mov    %eax,%ds
  103d30:	8e c0                	mov    %eax,%es
  103d32:	8e e0                	mov    %eax,%fs
  103d34:	8e e8                	mov    %eax,%gs
  103d36:	89 e0                	mov    %esp,%eax
  103d38:	50                   	push   %eax

00103d39 <isr254.1>:
  103d39:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103d3e:	ff d0                	call   *%eax
  103d40:	e9 a3 d9 ff ff       	jmp    1016e8 <all_ints>

00103d45 <isr255>:
  103d45:	6a 00                	push   $0x0
  103d47:	6a ff                	push   $0xffffffff
  103d49:	0f a8                	push   %gs
  103d4b:	0f a0                	push   %fs
  103d4d:	06                   	push   %es
  103d4e:	1e                   	push   %ds
  103d4f:	60                   	pusha  
  103d50:	66 b8 10 00          	mov    $0x10,%ax
  103d54:	8e d8                	mov    %eax,%ds
  103d56:	8e c0                	mov    %eax,%es
  103d58:	8e e0                	mov    %eax,%fs
  103d5a:	8e e8                	mov    %eax,%gs
  103d5c:	89 e0                	mov    %esp,%eax
  103d5e:	50                   	push   %eax

00103d5f <isr255.1>:
  103d5f:	b8 04 3e 10 00       	mov    $0x103e04,%eax
  103d64:	ff d0                	call   *%eax
  103d66:	e9 7d d9 ff ff       	jmp    1016e8 <all_ints>
	...

00103d6c <kprintf_help>:
/**
 * printf/kprintf helper
 */
static int kprintf_help(unsigned c, void **ptr)
{
  103d6c:	55                   	push   %ebp
  103d6d:	89 e5                	mov    %esp,%ebp
  103d6f:	83 ec 14             	sub    $0x14,%esp
	/**
	 * Leave this for now
	 */
	ptr = ptr;

	putch(c);
  103d72:	ff 75 08             	pushl  0x8(%ebp)
  103d75:	e8 86 0d 00 00       	call   104b00 <putch>
	return 0;
}
  103d7a:	31 c0                	xor    %eax,%eax
  103d7c:	c9                   	leave  
  103d7d:	c3                   	ret    
  103d7e:	89 f6                	mov    %esi,%esi

00103d80 <kprintf>:

/**
 * Format output and print it to stdout (vtty0)
 * Just like on any other operating system
 */
/*void printf(const char *fmt, ...)
{
	va_list args;

	va_start(args, fmt);
	(void)do_printf(fmt, args, kprintf_help, NULL);
	va_end(args);
}*/

void kprintf(const char *fmt, ...)
{
  103d80:	55                   	push   %ebp
  103d81:	89 e5                	mov    %esp,%ebp
  103d83:	83 ec 08             	sub    $0x8,%esp
	va_list args;

	va_start(args, fmt);
	(void)do_printf(fmt, args, kprintf_help, NULL);
  103d86:	6a 00                	push   $0x0
  103d88:	68 6c 3d 10 00       	push   $0x103d6c
  103d8d:	8d 45 0c             	lea    0xc(%ebp),%eax
  103d90:	50                   	push   %eax
  103d91:	ff 75 08             	pushl  0x8(%ebp)
  103d94:	e8 37 0f 00 00       	call   104cd0 <do_printf>
	va_end(args);
}
  103d99:	c9                   	leave  
  103d9a:	c3                   	ret    
  103d9b:	90                   	nop    

00103d9c <printk>:

/**
 * Format output and print it to stdout (vtty0)
 * Just like on any other operating system
 */
void printk(const char *fmt, ...)
{
  103d9c:	55                   	push   %ebp
  103d9d:	89 e5                	mov    %esp,%ebp
  103d9f:	83 ec 08             	sub    $0x8,%esp
	va_list args;

	/**
	 * TODO
	 *
	 * Select vtty0
	 */
	va_start(args, fmt);
	(void)do_printf(fmt, args, kprintf_help, NULL);
  103da2:	6a 00                	push   $0x0
  103da4:	68 6c 3d 10 00       	push   $0x103d6c
  103da9:	8d 45 0c             	lea    0xc(%ebp),%eax
  103dac:	50                   	push   %eax
  103dad:	ff 75 08             	pushl  0x8(%ebp)
  103db0:	e8 1b 0f 00 00       	call   104cd0 <do_printf>
	va_end(args);
}
  103db5:	c9                   	leave  
  103db6:	c3                   	ret    
  103db7:	90                   	nop    

00103db8 <panic>:

/**
 * Oh yeah, the fun function ;)
 */
void panic(const char *fmt, ...)
{
  103db8:	55                   	push   %ebp
  103db9:	89 e5                	mov    %esp,%ebp
  103dbb:	53                   	push   %ebx
  103dbc:	50                   	push   %eax
	va_list args;
	
	disable(); /* interrupts off */
  103dbd:	e8 06 0f 00 00       	call   104cc8 <disable>
	va_start(args, fmt);
	_vc[0].attrib = 15;
	printf("\n\npanic: ");	
  103dc2:	83 ec 0c             	sub    $0xc,%esp
  103dc5:	68 cd 58 10 00       	push   $0x1058cd
  103dca:	c7 05 f8 a2 19 00 0f 	movl   $0xf,0x19a2f8
  103dd1:	00 00 00 
  103dd4:	e8 fb 12 00 00       	call   1050d4 <printf>
	(void)do_printf(fmt, args, kprintf_help, NULL);
  103dd9:	6a 00                	push   $0x0
  103ddb:	68 6c 3d 10 00       	push   $0x103d6c
  103de0:	8d 5d 0c             	lea    0xc(%ebp),%ebx
  103de3:	53                   	push   %ebx
  103de4:	ff 75 08             	pushl  0x8(%ebp)
  103de7:	e8 e4 0e 00 00       	call   104cd0 <do_printf>

	printf("\n\nSystem halted.");
  103dec:	83 c4 14             	add    $0x14,%esp
  103def:	68 d7 58 10 00       	push   $0x1058d7
  103df4:	e8 db 12 00 00       	call   1050d4 <printf>
	__asm__ __volatile__ ("hlt");
  103df9:	f4                   	hlt    

	while(1)
  103dfa:	83 c4 10             	add    $0x10,%esp
  103dfd:	8d 76 00             	lea    0x0(%esi),%esi
  103e00:	eb fe                	jmp    103e00 <panic+0x48>
  103e02:	89 f6                	mov    %esi,%esi

00103e04 <fault>:
		/* freeze */;
}

/**
 * Called when a kernel fault is detected. This does not
 * (normally) get called when something goes awry in
 * user-space, therefore it is designed for kernel-space
 */
void fault(regs_t *regs)
{
  103e04:	55                   	push   %ebp
  103e05:	89 e5                	mov    %esp,%ebp
  103e07:	53                   	push   %ebx
  103e08:	52                   	push   %edx
  103e09:	8b 5d 08             	mov    0x8(%ebp),%ebx
	struct exception
	{
		char *message;
		int signal;
		int processor;
	};
	
	static const struct exception ex[] =
	{
		{"Divide error", SIGFPE, 86},
		{"Debug exception", SIGTRAP, 86},
		{"Nonmaskable interrupt (NMI)", SIGBUS, 86},
		{"Breakpoint (INT3)", SIGEMT, 86},
		{"Overflow (INTO)", SIGFPE, 186},
		{"Bounds check", SIGFPE, 186},
		{"Invalid opcode", SIGILL, 186},
		{"Coprocessor not available", SIGFPE, 186},
		{"Double fault", SIGBUS, 286},
		{"Coprocessor segment overrun", SIGSEGV, 286},
		{"Invalid TSS", SIGSEGV, 286},
		{"Segment not present", SIGSEGV, 286},
		{"Stack exception", SIGSEGV, 286},
		{"General Protection Fault", SIGSEGV, 286},
		{"Page fault", SIGSEGV, 386},
		{NULL, SIGILL, 0},
		{"Coprocessor error", SIGFPE, 386},
		{"Alignment check",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"??",0,0},
		{"IRQ0",0,0},
		{"IRQ1",0,0},
		{"IRQ2",0,0},
		{"IRQ3",0,0},
		{"IRQ4",0,0},
		{"IRQ5",0,0},
		{"IRQ6",0,0},
		{"IRQ7",0,0},
		{"IRQ8",0,0},
		{"IRQ9",0,0},
		{"IRQ10",0,0},
		{"IRQ11",0,0},
		{"IRQ12",0,0},
		{"IRQ13",0,0},
		{"IRQ14",0,0},
		{"IRQ15",0,0},
		{"syscall",0,0}
	};


	switch(regs->which_int)
  103e0c:	83 7b 30 20          	cmpl   $0x20,0x30(%ebx)
  103e10:	74 6e                	je     103e80 <fault+0x7c>
	{
		/**
		 * this handler installed at compile-time
		 * Keyboard handler is installed at run-time (see below)
		 */
		case 0x20:	/* timer IRQ 0 */
			//blink();
			/**
			 * reset hardware interrupt at 8259 chip
			 */
			outportb(0x20, 0x20);
		break;
		default:
			_vc[0].attrib = 15;
			printf("\n\npanic: Exception 0x%08X", regs->which_int);
  103e12:	83 ec 08             	sub    $0x8,%esp
  103e15:	c7 05 f8 a2 19 00 0f 	movl   $0xf,0x19a2f8
  103e1c:	00 00 00 
  103e1f:	ff 73 30             	pushl  0x30(%ebx)
  103e22:	68 79 5a 10 00       	push   $0x105a79
  103e27:	e8 a8 12 00 00       	call   1050d4 <printf>
			if(regs->which_int <= sizeof(ex) / sizeof(ex[0].message))
  103e2c:	8b 43 30             	mov    0x30(%ebx),%eax
  103e2f:	83 c4 10             	add    $0x10,%esp
  103e32:	3d 93 00 00 00       	cmp    $0x93,%eax
  103e37:	76 2b                	jbe    103e64 <fault+0x60>
				printf(" (%s)", ex[regs->which_int].message);
			printf("\n");
  103e39:	83 ec 0c             	sub    $0xc,%esp
  103e3c:	68 f8 5a 10 00       	push   $0x105af8
  103e41:	e8 8e 12 00 00       	call   1050d4 <printf>
			dump_regs(regs);
  103e46:	89 1c 24             	mov    %ebx,(%esp,1)
  103e49:	e8 7e c3 ff ff       	call   1001cc <dump_regs>
			printf("\n\nSystem halted.");
  103e4e:	c7 04 24 d7 58 10 00 	movl   $0x1058d7,(%esp,1)
  103e55:	e8 7a 12 00 00       	call   1050d4 <printf>
			__asm__ __volatile__ ("hlt");
  103e5a:	f4                   	hlt    
		break;
  103e5b:	83 c4 10             	add    $0x10,%esp
	}
}
  103e5e:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  103e61:	c9                   	leave  
  103e62:	c3                   	ret    
  103e63:	90                   	nop    
  103e64:	83 ec 08             	sub    $0x8,%esp
  103e67:	8d 04 40             	lea    (%eax,%eax,2),%eax
  103e6a:	ff 34 85 00 5b 10 00 	pushl  0x105b00(,%eax,4)
  103e71:	68 93 5a 10 00       	push   $0x105a93
  103e76:	e8 59 12 00 00       	call   1050d4 <printf>
  103e7b:	83 c4 10             	add    $0x10,%esp
  103e7e:	eb b9                	jmp    103e39 <fault+0x35>
  103e80:	83 ec 08             	sub    $0x8,%esp
  103e83:	6a 20                	push   $0x20
  103e85:	6a 20                	push   $0x20
  103e87:	e8 28 12 00 00       	call   1050b4 <outportb>
  103e8c:	eb cd                	jmp    103e5b <fault+0x57>
  103e8e:	89 f6                	mov    %esi,%esi

00103e90 <init_8259s>:

/**
 * ??
 */
static void init_8259s(void)
{
  103e90:	55                   	push   %ebp
  103e91:	89 e5                	mov    %esp,%ebp
  103e93:	83 ec 10             	sub    $0x10,%esp
	static const unsigned irq0_int = 0x20, irq8_int = 0x28;

	/**
	 * Initialization Control Word #1 (ICW1)
	 */
	outportb(0x20, 0x11);
  103e96:	6a 11                	push   $0x11
  103e98:	6a 20                	push   $0x20
  103e9a:	e8 15 12 00 00       	call   1050b4 <outportb>
	outportb(0xA0, 0x11);
  103e9f:	59                   	pop    %ecx
  103ea0:	58                   	pop    %eax
  103ea1:	6a 11                	push   $0x11
  103ea3:	68 a0 00 00 00       	push   $0xa0
  103ea8:	e8 07 12 00 00       	call   1050b4 <outportb>

	/**
	 * ICW2:
	 * route IRQs 0-7 to INTs 20h-27h
	 */
	outportb(0x21, irq0_int);
  103ead:	58                   	pop    %eax
  103eae:	5a                   	pop    %edx
  103eaf:	6a 20                	push   $0x20
  103eb1:	6a 21                	push   $0x21
  103eb3:	e8 fc 11 00 00       	call   1050b4 <outportb>

	/**
	 * route IRQs 8-15 to INTs 28h-2Fh
	 */
	outportb(0xA1, irq8_int);
  103eb8:	59                   	pop    %ecx
  103eb9:	58                   	pop    %eax
  103eba:	6a 28                	push   $0x28
  103ebc:	68 a1 00 00 00       	push   $0xa1
  103ec1:	e8 ee 11 00 00       	call   1050b4 <outportb>

	/**
	 * ICW3
	 */
	outportb(0x21, 0x04);
  103ec6:	58                   	pop    %eax
  103ec7:	5a                   	pop    %edx
  103ec8:	6a 04                	push   $0x4
  103eca:	6a 21                	push   $0x21
  103ecc:	e8 e3 11 00 00       	call   1050b4 <outportb>
	outportb(0xA1, 0x02);
  103ed1:	59                   	pop    %ecx
  103ed2:	58                   	pop    %eax
  103ed3:	6a 02                	push   $0x2
  103ed5:	68 a1 00 00 00       	push   $0xa1
  103eda:	e8 d5 11 00 00       	call   1050b4 <outportb>

	/**
	 * ICW4
	 */
	outportb(0x21, 0x01);
  103edf:	58                   	pop    %eax
  103ee0:	5a                   	pop    %edx
  103ee1:	6a 01                	push   $0x1
  103ee3:	6a 21                	push   $0x21
  103ee5:	e8 ca 11 00 00       	call   1050b4 <outportb>
	outportb(0xA1, 0x01);
  103eea:	59                   	pop    %ecx
  103eeb:	58                   	pop    %eax
  103eec:	6a 01                	push   $0x1
  103eee:	68 a1 00 00 00       	push   $0xa1
  103ef3:	e8 bc 11 00 00       	call   1050b4 <outportb>

	/**
	 * enable IRQ0 (timer) and IRQ1 (keyboard)
	 */
	outportb(0x21, ~0x03);
  103ef8:	58                   	pop    %eax
  103ef9:	5a                   	pop    %edx
  103efa:	6a fc                	push   $0xfffffffc
  103efc:	6a 21                	push   $0x21
  103efe:	e8 b1 11 00 00       	call   1050b4 <outportb>
	outportb(0xA1, ~0x00);
  103f03:	59                   	pop    %ecx
  103f04:	58                   	pop    %eax
  103f05:	6a ff                	push   $0xffffffff
  103f07:	68 a1 00 00 00       	push   $0xa1
  103f0c:	e8 a3 11 00 00       	call   1050b4 <outportb>
}
  103f11:	c9                   	leave  
  103f12:	c3                   	ret    
  103f13:	90                   	nop    

00103f14 <dump_heap>:

/**
 * MinGW32
 */
#ifdef __WIN32__
#if __GNUC__<3
#error Do not use MinGW GCC 2.x with NASM
#endif
	int __main(void) { return 0; }
	void _alloca(void) { }
#endif

/**
 * malloc, realloc, free, etc
 */
static char *g_heap_bot, *g_kbrk, *g_heap_top;
static void dump_heap(void)
{
  103f14:	55                   	push   %ebp
  103f15:	89 e5                	mov    %esp,%ebp
  103f17:	57                   	push   %edi
  103f18:	56                   	push   %esi
  103f19:	53                   	push   %ebx
  103f1a:	83 ec 18             	sub    $0x18,%esp
	unsigned blks_used = 0, blks_free = 0;
	size_t bytes_used = 0, bytes_free = 0;
	malloc_t *m;
	int total;

	kprintf("===============================================\n");
  103f1d:	68 60 5d 10 00       	push   $0x105d60
  103f22:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  103f29:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  103f30:	e8 4b fe ff ff       	call   103d80 <kprintf>
	for(m = (malloc_t *)g_heap_bot; m != NULL; m = m->next)
  103f35:	8b 1d e0 36 18 00    	mov    0x1836e0,%ebx
  103f3b:	31 ff                	xor    %edi,%edi
  103f3d:	31 f6                	xor    %esi,%esi
  103f3f:	83 c4 10             	add    $0x10,%esp
  103f42:	85 db                	test   %ebx,%ebx
  103f44:	74 39                	je     103f7f <dump_heap+0x6b>
  103f46:	89 f6                	mov    %esi,%esi
	{
		printk("block %5p: %6u bytes %s\n", m,
  103f48:	f6 43 09 80          	testb  $0x80,0x9(%ebx)
  103f4c:	0f 84 be 00 00 00    	je     104010 <dump_heap+0xfc>
  103f52:	b8 99 5a 10 00       	mov    $0x105a99,%eax
  103f57:	50                   	push   %eax
  103f58:	ff 33                	pushl  (%ebx)
  103f5a:	53                   	push   %ebx
  103f5b:	68 9e 5a 10 00       	push   $0x105a9e
  103f60:	e8 37 fe ff ff       	call   103d9c <printk>
			m->size, m->used ? "used" : "free");
		if(m->used)
  103f65:	83 c4 10             	add    $0x10,%esp
  103f68:	f6 43 09 80          	testb  $0x80,0x9(%ebx)
  103f6c:	0f 84 92 00 00 00    	je     104004 <dump_heap+0xf0>
		{
			blks_used++;
			bytes_used += m->size;
  103f72:	8b 03                	mov    (%ebx),%eax
  103f74:	47                   	inc    %edi
  103f75:	01 45 f0             	add    %eax,0xfffffff0(%ebp)
  103f78:	8b 5b 04             	mov    0x4(%ebx),%ebx
  103f7b:	85 db                	test   %ebx,%ebx
  103f7d:	75 c9                	jne    103f48 <dump_heap+0x34>
		}
		else
		{
			blks_free++;
			bytes_free += m->size;
		}
	}
	kprintf("blocks: %6u used, %6u free, %6u total\n", blks_used,
  103f7f:	8d 1c 3e             	lea    (%esi,%edi,1),%ebx
  103f82:	53                   	push   %ebx
  103f83:	56                   	push   %esi
  103f84:	57                   	push   %edi
  103f85:	68 a0 5d 10 00       	push   $0x105da0
  103f8a:	e8 f1 fd ff ff       	call   103d80 <kprintf>
		blks_free, blks_used + blks_free);
	kprintf(" bytes: %6u used, %6u free, %6u total\n", bytes_used,
  103f8f:	8b 75 f0             	mov    0xfffffff0(%ebp),%esi
  103f92:	03 75 ec             	add    0xffffffec(%ebp),%esi
  103f95:	56                   	push   %esi
  103f96:	ff 75 ec             	pushl  0xffffffec(%ebp)
  103f99:	ff 75 f0             	pushl  0xfffffff0(%ebp)
  103f9c:	68 e0 5d 10 00       	push   $0x105de0
  103fa1:	e8 da fd ff ff       	call   103d80 <kprintf>
		bytes_free, bytes_used + bytes_free);
	kprintf("g_heap_bot=0x%p, g_kbrk=0x%p, g_heap_top=0x%p\n",
  103fa6:	83 c4 20             	add    $0x20,%esp
  103fa9:	ff 35 e8 36 18 00    	pushl  0x1836e8
  103faf:	ff 35 e4 36 18 00    	pushl  0x1836e4
  103fb5:	ff 35 e0 36 18 00    	pushl  0x1836e0
  103fbb:	68 20 5e 10 00       	push   $0x105e20
  103fc0:	e8 bb fd ff ff       	call   103d80 <kprintf>
		g_heap_bot, g_kbrk, g_heap_top);
	total = (bytes_used + bytes_free) +
  103fc5:	8d 1c 5b             	lea    (%ebx,%ebx,2),%ebx
			(blks_used + blks_free) * sizeof(malloc_t);
	if(total != g_kbrk - g_heap_bot)
  103fc8:	a1 e4 36 18 00       	mov    0x1836e4,%eax
  103fcd:	8d 1c 9e             	lea    (%esi,%ebx,4),%ebx
  103fd0:	2b 05 e0 36 18 00    	sub    0x1836e0,%eax
  103fd6:	83 c4 10             	add    $0x10,%esp
  103fd9:	39 c3                	cmp    %eax,%ebx
  103fdb:	74 10                	je     103fed <dump_heap+0xd9>
		kprintf("*** some heap memory is not accounted for\n");
  103fdd:	83 ec 0c             	sub    $0xc,%esp
  103fe0:	68 60 5e 10 00       	push   $0x105e60
  103fe5:	e8 96 fd ff ff       	call   103d80 <kprintf>
  103fea:	83 c4 10             	add    $0x10,%esp
	kprintf("===============================================\n");
  103fed:	83 ec 0c             	sub    $0xc,%esp
  103ff0:	68 60 5d 10 00       	push   $0x105d60
  103ff5:	e8 86 fd ff ff       	call   103d80 <kprintf>
}
  103ffa:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  103ffd:	5b                   	pop    %ebx
  103ffe:	5e                   	pop    %esi
  103fff:	5f                   	pop    %edi
  104000:	c9                   	leave  
  104001:	c3                   	ret    
  104002:	89 f6                	mov    %esi,%esi
  104004:	8b 03                	mov    (%ebx),%eax
  104006:	46                   	inc    %esi
  104007:	01 45 ec             	add    %eax,0xffffffec(%ebp)
  10400a:	e9 69 ff ff ff       	jmp    103f78 <dump_heap+0x64>
  10400f:	90                   	nop    
  104010:	b8 b7 5a 10 00       	mov    $0x105ab7,%eax
  104015:	e9 3d ff ff ff       	jmp    103f57 <dump_heap+0x43>
  10401a:	89 f6                	mov    %esi,%esi

0010401c <dumpheapk>:

void dumpheapk(void)
{
  10401c:	55                   	push   %ebp
  10401d:	89 e5                	mov    %esp,%ebp
	dump_heap();
  10401f:	c9                   	leave  
  104020:	e9 ef fe ff ff       	jmp    103f14 <dump_heap>
  104025:	8d 76 00             	lea    0x0(%esi),%esi

00104028 <kbrk>:
}

/**
 * POSIX sbrk() looks like this
 * void *sbrk(int incr);
 *
 * Mine is a bit different so I can signal the calling function
 * if more memory than desired was allocated (e.g. in a system with paging)
 * If your kbrk()/sbrk() always allocates the amount of memory you ask for,
 * this code can be easily changed.
 * 
 * int brk(	void *sbrk(		void *kbrk(
 * function		 void *adr);	 int delta);		 int *delta);
 * ----------------------	------------	------------		-------------
 * POSIX?			yes		yes			NO
 * return value if error	-1		-1			NULL
 * get break value		.		sbrk(0)			int x=0; kbrk(&x);
 * set break value to X	brk(X)		sbrk(X - sbrk(0))	int x=X, y=0; kbrk(&x) - kbrk(&y);
 * enlarge heap by N bytes	.		sbrk(+N)		int x=N; kbrk(&x);
 * shrink heap by N bytes	.		sbrk(-N)		int x=-N; kbrk(&x);
 * can you tell if you're
 * given more memory
 * than you wanted?	no		no			yes
 */
static void *kbrk(int *delta)
{
	static char heap[HEAP_SIZE];
	char *new_brk, *old_brk;

	/**
	 * heap doesn't exist yet
	 */
	if(g_heap_bot == NULL)
  104028:	8b 0d e0 36 18 00    	mov    0x1836e0,%ecx
  10402e:	55                   	push   %ebp
  10402f:	85 c9                	test   %ecx,%ecx
  104031:	89 e5                	mov    %esp,%ebp
  104033:	53                   	push   %ebx
  104034:	75 1f                	jne    104055 <kbrk+0x2d>
	{
		g_heap_bot = g_kbrk = heap;
  104036:	b9 c0 95 10 00       	mov    $0x1095c0,%ecx
  10403b:	c7 05 e4 36 18 00 c0 	movl   $0x1095c0,0x1836e4
  104042:	95 10 00 
  104045:	89 0d e0 36 18 00    	mov    %ecx,0x1836e0
		g_heap_top = g_heap_bot + HEAP_SIZE;
  10404b:	c7 05 e8 36 18 00 e0 	movl   $0x1836e0,0x1836e8
  104052:	36 18 00 
	}
	new_brk = g_kbrk + (*delta);
  104055:	8b 1d e4 36 18 00    	mov    0x1836e4,%ebx
  10405b:	8b 45 08             	mov    0x8(%ebp),%eax
  10405e:	89 da                	mov    %ebx,%edx
  104060:	03 10                	add    (%eax),%edx

	/**
	 * too low: return NULL
	 */
	if(new_brk < g_heap_bot)
  104062:	31 c0                	xor    %eax,%eax
  104064:	39 ca                	cmp    %ecx,%edx
  104066:	72 10                	jb     104078 <kbrk+0x50>
		return NULL;
	
	/**
	 * too high: return NULL
	 */
	if(new_brk >= g_heap_top)
  104068:	3b 15 e8 36 18 00    	cmp    0x1836e8,%edx
  10406e:	73 08                	jae    104078 <kbrk+0x50>
		return NULL;

	/**
	 * success: adjust brk value...
	 */
	old_brk = g_kbrk;
	g_kbrk = new_brk;
  104070:	89 15 e4 36 18 00    	mov    %edx,0x1836e4

	/**
	 * ...return actual delta... (for this sbrk(), they are the same)
	 * (*delta) = (*delta);
	 * ...return old brk value
	 */
	return old_brk;
  104076:	89 d8                	mov    %ebx,%eax
}
  104078:	8b 1c 24             	mov    (%esp,1),%ebx
  10407b:	c9                   	leave  
  10407c:	c3                   	ret    
  10407d:	8d 76 00             	lea    0x0(%esi),%esi

00104080 <kmalloc>:

/**
 * malloc() and free() use g_heap_bot, but not g_kbrk nor g_heap_top
 */
void *kmalloc(size_t size)
{
  104080:	55                   	push   %ebp
  104081:	89 e5                	mov    %esp,%ebp
  104083:	57                   	push   %edi
  104084:	56                   	push   %esi
  104085:	53                   	push   %ebx
  104086:	83 ec 0c             	sub    $0xc,%esp
  104089:	8b 7d 08             	mov    0x8(%ebp),%edi
	unsigned total_size;
	malloc_t *m, *n;
	int delta;

	if(size == 0)
  10408c:	31 c0                	xor    %eax,%eax
  10408e:	85 ff                	test   %edi,%edi
  104090:	0f 84 af 00 00 00    	je     104145 <kmalloc+0xc5>
		return NULL;
	total_size = size + sizeof(malloc_t);

	/**
	 * search heap for free block (FIRST FIT)
	 */
	m = (malloc_t *)g_heap_bot;
  104096:	8b 1d e0 36 18 00    	mov    0x1836e0,%ebx

	/**
	 * g_heap_bot == 0 == NULL if heap does not yet exist
	 */
	if(m != NULL)
  10409c:	85 db                	test   %ebx,%ebx
  10409e:	8d 77 0c             	lea    0xc(%edi),%esi
  1040a1:	74 35                	je     1040d8 <kmalloc+0x58>
	{
		if(m->magic != MALLOC_MAGIC)
  1040a3:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
  1040a7:	25 ff 7f 00 00       	and    $0x7fff,%eax
  1040ac:	3d 92 6d 00 00       	cmp    $0x6d92,%eax
  1040b1:	0f 85 e5 00 00 00    	jne    10419c <kmalloc+0x11c>
		{
			/*printf("*** kernel heap is corrupt in kmalloc()\n");*/
			panic("kernel heap is corrupt in malloc()");
			return NULL;
		}
		for(; m->next != NULL; m = m->next)
  1040b7:	8b 43 04             	mov    0x4(%ebx),%eax
  1040ba:	85 c0                	test   %eax,%eax
  1040bc:	74 1a                	je     1040d8 <kmalloc+0x58>
  1040be:	89 f6                	mov    %esi,%esi
		{
			if(m->used)
  1040c0:	8a 53 09             	mov    0x9(%ebx),%dl
  1040c3:	f6 c2 80             	test   $0x80,%dl
  1040c6:	0f 84 8c 00 00 00    	je     104158 <kmalloc+0xd8>
  1040cc:	89 c3                	mov    %eax,%ebx
  1040ce:	8b 40 04             	mov    0x4(%eax),%eax
  1040d1:	85 c0                	test   %eax,%eax
  1040d3:	75 eb                	jne    1040c0 <kmalloc+0x40>
  1040d5:	8d 76 00             	lea    0x0(%esi),%esi
				continue;
			
			/**
			 * size == m->size is a perfect fit
			 */
			if(size == m->size)
				m->used = 1;
			else
			{
				/**
				 * otherwise, we need an extra sizeof(malloc_t) bytes for the header
				 * of a second, free block
				 */
				if(total_size > m->size)
					continue;

				/**
				 * create a new, smaller free block after this one
				 */
				n = (malloc_t *)((char *)m + total_size);
				n->size = m->size - total_size;
				n->next = m->next;
				n->magic = MALLOC_MAGIC;
				n->used = 0;
				
				/**
				 * reduce the size of this block and mark it used
				 */
				m->size = size;
				m->next = n;
				m->used = 1;
			}
			return (char *)m + sizeof(malloc_t);
		}
	}

	/**
	 * use kbrk() to enlarge (or create!) heap
	 */
	delta = total_size;
	n = kbrk(&delta);
  1040d8:	83 ec 0c             	sub    $0xc,%esp
  1040db:	8d 45 f0             	lea    0xfffffff0(%ebp),%eax
  1040de:	50                   	push   %eax
  1040df:	89 75 f0             	mov    %esi,0xfffffff0(%ebp)
  1040e2:	e8 41 ff ff ff       	call   104028 <kbrk>
  1040e7:	89 c2                	mov    %eax,%edx

	/**
	 * uh-oh
	 */
	if(n == NULL)
  1040e9:	83 c4 10             	add    $0x10,%esp
  1040ec:	31 c0                	xor    %eax,%eax
  1040ee:	85 d2                	test   %edx,%edx
  1040f0:	74 53                	je     104145 <kmalloc+0xc5>
		return NULL;
	
	if(m != NULL)
  1040f2:	85 db                	test   %ebx,%ebx
  1040f4:	74 03                	je     1040f9 <kmalloc+0x79>
		m->next = n;
  1040f6:	89 53 04             	mov    %edx,0x4(%ebx)
	
	n->size = size;
	n->magic = MALLOC_MAGIC;
  1040f9:	66 8b 42 08          	mov    0x8(%edx),%ax
  1040fd:	25 00 80 ff ff       	and    $0xffff8000,%eax
  104102:	0d 92 6d 00 00       	or     $0x6d92,%eax
  104107:	66 89 42 08          	mov    %ax,0x8(%edx)
	n->used = 1;
  10410b:	80 4a 09 80          	orb    $0x80,0x9(%edx)

	/**
	 * did kbrk() return the exact amount of memory we wanted?
	 * cast to make "gcc -Wall -W ..." shut the hell up
	 */
	if((int)total_size == delta)
  10410f:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  104112:	39 c6                	cmp    %eax,%esi
  104114:	89 3a                	mov    %edi,(%edx)
  104116:	74 35                	je     10414d <kmalloc+0xcd>
		n->next = NULL;
	else
	{
		
		/**
		 * it returned more than we wanted (it will never return less):
		 * create a new, free block
		 */
		m = (malloc_t *)((char *)n + total_size);
		m->size = delta - total_size - sizeof(malloc_t);
  104118:	29 f0                	sub    %esi,%eax
  10411a:	8d 1c 16             	lea    (%esi,%edx,1),%ebx
  10411d:	83 e8 0c             	sub    $0xc,%eax
  104120:	89 03                	mov    %eax,(%ebx)
		m->next = NULL;
		m->magic = MALLOC_MAGIC;
  104122:	66 8b 43 08          	mov    0x8(%ebx),%ax
  104126:	25 00 80 ff ff       	and    $0xffff8000,%eax
  10412b:	0d 92 6d 00 00       	or     $0x6d92,%eax
  104130:	66 89 43 08          	mov    %ax,0x8(%ebx)
  104134:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
		m->used = 0;
  10413b:	80 63 09 7f          	andb   $0x7f,0x9(%ebx)

		n->next = m;
  10413f:	89 5a 04             	mov    %ebx,0x4(%edx)
	}
	return (char *)n + sizeof(malloc_t);
  104142:	8d 42 0c             	lea    0xc(%edx),%eax
}
  104145:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  104148:	5b                   	pop    %ebx
  104149:	5e                   	pop    %esi
  10414a:	5f                   	pop    %edi
  10414b:	c9                   	leave  
  10414c:	c3                   	ret    
  10414d:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
  104154:	eb ec                	jmp    104142 <kmalloc+0xc2>
  104156:	89 f6                	mov    %esi,%esi
  104158:	8b 0b                	mov    (%ebx),%ecx
  10415a:	39 cf                	cmp    %ecx,%edi
  10415c:	74 36                	je     104194 <kmalloc+0x114>
  10415e:	39 ce                	cmp    %ecx,%esi
  104160:	0f 87 66 ff ff ff    	ja     1040cc <kmalloc+0x4c>
  104166:	8d 14 1e             	lea    (%esi,%ebx,1),%edx
  104169:	89 42 04             	mov    %eax,0x4(%edx)
  10416c:	66 8b 42 08          	mov    0x8(%edx),%ax
  104170:	25 00 80 ff ff       	and    $0xffff8000,%eax
  104175:	0d 92 6d 00 00       	or     $0x6d92,%eax
  10417a:	66 89 42 08          	mov    %ax,0x8(%edx)
  10417e:	29 f1                	sub    %esi,%ecx
  104180:	80 62 09 7f          	andb   $0x7f,0x9(%edx)
  104184:	89 0a                	mov    %ecx,(%edx)
  104186:	89 53 04             	mov    %edx,0x4(%ebx)
  104189:	89 3b                	mov    %edi,(%ebx)
  10418b:	80 4b 09 80          	orb    $0x80,0x9(%ebx)
  10418f:	8d 43 0c             	lea    0xc(%ebx),%eax
  104192:	eb b1                	jmp    104145 <kmalloc+0xc5>
  104194:	83 ca 80             	or     $0xffffff80,%edx
  104197:	88 53 09             	mov    %dl,0x9(%ebx)
  10419a:	eb f3                	jmp    10418f <kmalloc+0x10f>
  10419c:	83 ec 0c             	sub    $0xc,%esp
  10419f:	68 a0 5e 10 00       	push   $0x105ea0
  1041a4:	e8 0f fc ff ff       	call   103db8 <panic>
  1041a9:	31 c0                	xor    %eax,%eax
  1041ab:	eb 98                	jmp    104145 <kmalloc+0xc5>
  1041ad:	8d 76 00             	lea    0x0(%esi),%esi

001041b0 <kfree>:

void kfree(void *blk)
{
  1041b0:	55                   	push   %ebp
  1041b1:	89 e5                	mov    %esp,%ebp
  1041b3:	56                   	push   %esi
  1041b4:	53                   	push   %ebx
  1041b5:	8b 5d 08             	mov    0x8(%ebp),%ebx
	malloc_t *m, *n;

	/**
	 * get address of header
	 */
	m = (malloc_t *)((char *)blk - sizeof(malloc_t));
  1041b8:	8d 4b f4             	lea    0xfffffff4(%ebx),%ecx
	if(m->magic != MALLOC_MAGIC)
  1041bb:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
  1041bf:	25 ff 7f 00 00       	and    $0x7fff,%eax
  1041c4:	3d 92 6d 00 00       	cmp    $0x6d92,%eax
  1041c9:	74 15                	je     1041e0 <kfree+0x30>
	{
		/*printf("*** attempt to kfree() block at 0x%p with bad magic value\n", blk);*/
		panic("attempt to free() block at 0x%p with bad magic value", blk);
  1041cb:	83 ec 08             	sub    $0x8,%esp
  1041ce:	53                   	push   %ebx
  1041cf:	68 e0 5e 10 00       	push   $0x105ee0
  1041d4:	e8 df fb ff ff       	call   103db8 <panic>
		return;
	}
	
	/**
	 * find this block in the heap
	 */
	n = (malloc_t *)g_heap_bot;
	if(n->magic != MALLOC_MAGIC)
	{
		/*printf("*** kernel heap is corrupt in kfree()\n");*/
		panic("kernel heap is corrupt in free()");
		return;
	}
	for(; n != NULL; n = n->next)
	{
		if(n == m)
			break;
	}
	
	/**
	 * not found? bad pointer or no heap or something else?
	 */
	if(n == NULL)
	{
		/*printf("*** attempt to kfree() block at 0x%p that is not in the heap\n", blk);*/
		panic("attempt to free() block at 0x%p that is not in the heap", blk);
		return;
	}

	/**
	 * free the block
	 */
	m->used = 0;

	/**
	 * coalesce adjacent free blocks
	 * Hard to spell, hard to do
	 */
	for(m = (malloc_t *)g_heap_bot; m != NULL; m = m->next)
	{
		while(!m->used && m->next != NULL && !m->next->used)
		{
			/**
			 * resize this block
			 */
			m->size += sizeof(malloc_t) + m->next->size;

			/**
			 * merge with next block
			 */
			m->next = m->next->next;
		}
	}
}
  1041d9:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  1041dc:	5b                   	pop    %ebx
  1041dd:	5e                   	pop    %esi
  1041de:	c9                   	leave  
  1041df:	c3                   	ret    
  1041e0:	8b 15 e0 36 18 00    	mov    0x1836e0,%edx
  1041e6:	0f b7 42 08          	movzwl 0x8(%edx),%eax
  1041ea:	25 ff 7f 00 00       	and    $0x7fff,%eax
  1041ef:	3d 92 6d 00 00       	cmp    $0x6d92,%eax
  1041f4:	74 12                	je     104208 <kfree+0x58>
  1041f6:	c7 45 08 20 5f 10 00 	movl   $0x105f20,0x8(%ebp)
  1041fd:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  104200:	5b                   	pop    %ebx
  104201:	5e                   	pop    %esi
  104202:	c9                   	leave  
  104203:	e9 b0 fb ff ff       	jmp    103db8 <panic>
  104208:	85 d2                	test   %edx,%edx
  10420a:	74 0b                	je     104217 <kfree+0x67>
  10420c:	39 ca                	cmp    %ecx,%edx
  10420e:	74 12                	je     104222 <kfree+0x72>
  104210:	8b 52 04             	mov    0x4(%edx),%edx
  104213:	85 d2                	test   %edx,%edx
  104215:	75 f5                	jne    10420c <kfree+0x5c>
  104217:	83 ec 08             	sub    $0x8,%esp
  10421a:	53                   	push   %ebx
  10421b:	68 60 5f 10 00       	push   $0x105f60
  104220:	eb b2                	jmp    1041d4 <kfree+0x24>
  104222:	85 d2                	test   %edx,%edx
  104224:	74 f1                	je     104217 <kfree+0x67>
  104226:	80 61 09 7f          	andb   $0x7f,0x9(%ecx)
  10422a:	8b 0d e0 36 18 00    	mov    0x1836e0,%ecx
  104230:	85 c9                	test   %ecx,%ecx
  104232:	74 a5                	je     1041d9 <kfree+0x29>
  104234:	f6 41 09 80          	testb  $0x80,0x9(%ecx)
  104238:	75 46                	jne    104280 <kfree+0xd0>
  10423a:	8b 51 04             	mov    0x4(%ecx),%edx
  10423d:	85 d2                	test   %edx,%edx
  10423f:	89 d3                	mov    %edx,%ebx
  104241:	74 31                	je     104274 <kfree+0xc4>
  104243:	f6 42 09 80          	testb  $0x80,0x9(%edx)
  104247:	75 2b                	jne    104274 <kfree+0xc4>
  104249:	31 f6                	xor    %esi,%esi
  10424b:	90                   	nop    
  10424c:	8b 03                	mov    (%ebx),%eax
  10424e:	03 01                	add    (%ecx),%eax
  104250:	83 c0 0c             	add    $0xc,%eax
  104253:	89 01                	mov    %eax,(%ecx)
  104255:	85 f6                	test   %esi,%esi
  104257:	8b 43 04             	mov    0x4(%ebx),%eax
  10425a:	89 41 04             	mov    %eax,0x4(%ecx)
  10425d:	89 c2                	mov    %eax,%edx
  10425f:	75 13                	jne    104274 <kfree+0xc4>
  104261:	31 d2                	xor    %edx,%edx
  104263:	85 c0                	test   %eax,%eax
  104265:	74 0d                	je     104274 <kfree+0xc4>
  104267:	f6 40 09 80          	testb  $0x80,0x9(%eax)
  10426b:	89 c3                	mov    %eax,%ebx
  10426d:	74 dd                	je     10424c <kfree+0x9c>
  10426f:	89 c2                	mov    %eax,%edx
  104271:	8d 76 00             	lea    0x0(%esi),%esi
  104274:	85 d2                	test   %edx,%edx
  104276:	89 d1                	mov    %edx,%ecx
  104278:	75 ba                	jne    104234 <kfree+0x84>
  10427a:	e9 5a ff ff ff       	jmp    1041d9 <kfree+0x29>
  10427f:	90                   	nop    
  104280:	8b 51 04             	mov    0x4(%ecx),%edx
  104283:	eb ef                	jmp    104274 <kfree+0xc4>
  104285:	8d 76 00             	lea    0x0(%esi),%esi

00104288 <testheap>:

void testheap(void)
{
  104288:	55                   	push   %ebp
  104289:	89 e5                	mov    %esp,%ebp
  10428b:	83 ec 14             	sub    $0x14,%esp
	//int i;
	//char *t;
	//kprintf("before char *t = kmalloc((size_t *)25):\n");
	//dump_heap();
	//t = kmalloc(25);
	//strcpy(t, "123456789012345678901234");
	//kprintf("after char *t = kmalloc((size_t *)25):\n");
	//dump_heap();
	//kfree(t);
	//kprintf("after kfree(t):\n");
	//dump_heap();
	//kprintf("before char *t = kmalloc((size_t *)25):\n");

	kprintf("Unable to run testheap -- kmalloc() is broken.\n");
  10428e:	68 a0 5f 10 00       	push   $0x105fa0
  104293:	e8 e8 fa ff ff       	call   103d80 <kprintf>
}
  104298:	c9                   	leave  
  104299:	c3                   	ret    
  10429a:	89 f6                	mov    %esi,%esi

0010429c <krealloc>:

void *krealloc(void *blk, size_t size)
{
  10429c:	55                   	push   %ebp
  10429d:	89 e5                	mov    %esp,%ebp
  10429f:	57                   	push   %edi
  1042a0:	56                   	push   %esi
  1042a1:	53                   	push   %ebx
  1042a2:	83 ec 0c             	sub    $0xc,%esp
  1042a5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
	void *new_blk;
	malloc_t *m;

	/**
	 * size == 0: free block
	 */
	if(size == 0)
  1042a8:	85 db                	test   %ebx,%ebx
  1042aa:	8b 75 08             	mov    0x8(%ebp),%esi
  1042ad:	75 1d                	jne    1042cc <krealloc+0x30>
	{
		if(blk != NULL)
  1042af:	85 f6                	test   %esi,%esi
  1042b1:	74 0c                	je     1042bf <krealloc+0x23>
			kfree(blk);
  1042b3:	83 ec 0c             	sub    $0xc,%esp
  1042b6:	56                   	push   %esi
  1042b7:	e8 f4 fe ff ff       	call   1041b0 <kfree>
  1042bc:	83 c4 10             	add    $0x10,%esp
		new_blk = NULL;
  1042bf:	31 ff                	xor    %edi,%edi
	}
	else
	{
		/**
		 * allocate new block
		 */
		new_blk = kmalloc(size);

		/**
		 * if allocation OK, and if old block exists, copy old block to new
		 */
		if(new_blk != NULL && blk != NULL)
		{
			m = (malloc_t *)((char *)blk - sizeof(malloc_t));
			if(m->magic != MALLOC_MAGIC)
			{
				/*printf("*** attempt to krealloc() block at 0x%p with bad magic value\n", blk);*/
				panic("attempt to realloc() block at 0x%p with bad magic value", blk);
				return NULL;
			}
			
			/**
			 * copy minimum of old and new block sizes
			 */
			if(size > m->size)
				size = m->size;
			memcpy(new_blk, blk, size);

			/**
			 * free the old block
			 */
			kfree(blk);
		}
	}
	return new_blk;
  1042c1:	89 f8                	mov    %edi,%eax
}
  1042c3:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  1042c6:	5b                   	pop    %ebx
  1042c7:	5e                   	pop    %esi
  1042c8:	5f                   	pop    %edi
  1042c9:	c9                   	leave  
  1042ca:	c3                   	ret    
  1042cb:	90                   	nop    
  1042cc:	83 ec 0c             	sub    $0xc,%esp
  1042cf:	53                   	push   %ebx
  1042d0:	e8 ab fd ff ff       	call   104080 <kmalloc>
  1042d5:	83 c4 10             	add    $0x10,%esp
  1042d8:	85 c0                	test   %eax,%eax
  1042da:	89 c7                	mov    %eax,%edi
  1042dc:	74 e3                	je     1042c1 <krealloc+0x25>
  1042de:	85 f6                	test   %esi,%esi
  1042e0:	74 df                	je     1042c1 <krealloc+0x25>
  1042e2:	0f b7 46 fc          	movzwl 0xfffffffc(%esi),%eax
  1042e6:	25 ff 7f 00 00       	and    $0x7fff,%eax
  1042eb:	3d 92 6d 00 00       	cmp    $0x6d92,%eax
  1042f0:	75 1f                	jne    104311 <krealloc+0x75>
  1042f2:	8b 46 f4             	mov    0xfffffff4(%esi),%eax
  1042f5:	39 c3                	cmp    %eax,%ebx
  1042f7:	76 02                	jbe    1042fb <krealloc+0x5f>
  1042f9:	89 c3                	mov    %eax,%ebx
  1042fb:	50                   	push   %eax
  1042fc:	53                   	push   %ebx
  1042fd:	56                   	push   %esi
  1042fe:	57                   	push   %edi
  1042ff:	e8 58 0d 00 00       	call   10505c <memcpy>
  104304:	89 34 24             	mov    %esi,(%esp,1)
  104307:	e8 a4 fe ff ff       	call   1041b0 <kfree>
  10430c:	83 c4 10             	add    $0x10,%esp
  10430f:	eb b0                	jmp    1042c1 <krealloc+0x25>
  104311:	83 ec 08             	sub    $0x8,%esp
  104314:	56                   	push   %esi
  104315:	68 e0 5f 10 00       	push   $0x105fe0
  10431a:	e8 99 fa ff ff       	call   103db8 <panic>
  10431f:	31 c0                	xor    %eax,%eax
  104321:	eb a0                	jmp    1042c3 <krealloc+0x27>
  104323:	90                   	nop    

00104324 <main>:

void keyboardISR(void);

int main(void)
{
  104324:	55                   	push   %ebp
  104325:	89 e5                	mov    %esp,%ebp
  104327:	83 ec 08             	sub    $0x8,%esp
  10432a:	83 e4 f0             	and    $0xfffffff0,%esp
	/**
	 * keyboard interrupt init
	 */
	vector_t v;
	unsigned i;

	init_video();
  10432d:	e8 e6 07 00 00       	call   104b18 <init_video>
	init_keyboard();
  104332:	e8 45 d2 ff ff       	call   10157c <init_keyboard>
	init_8259s();
  104337:	e8 54 fb ff ff       	call   103e90 <init_8259s>
	
	/**
	 * XXX:
	 * i know this is a very ugly way of doing this,
	 * however it is the only way it can be done for now.
	 * in the future, i will implement a kprintf function
	 * whose sole purpose will be writing boot messages.
	 *
	 * Also, the color codes need to be mapped to constants
	 * in order to make using them a hell of a lot easier.
	 */
	
	klog("init", "Installing keyboard interrupt handler", K_KLOG_PENDING, &_vc[0]);
  10433c:	68 e0 a2 19 00       	push   $0x19a2e0
  104341:	6a 01                	push   $0x1
  104343:	68 20 60 10 00       	push   $0x106020
  104348:	68 bc 5a 10 00       	push   $0x105abc
  10434d:	e8 ae bc ff ff       	call   100000 <LS_Phys>
		/* we don't save the old vector */
		v.eip = (unsigned)keyboard_irq;
		v.access_byte = 0x8E; /* present, ring 0, '386 interrupt gate */
		setvect(&v, 0x21);
  104352:	58                   	pop    %eax
  104353:	5a                   	pop    %edx
  104354:	8d 45 f8             	lea    0xfffffff8(%ebp),%eax
  104357:	6a 21                	push   $0x21
  104359:	50                   	push   %eax
  10435a:	c7 45 fc 1c 13 10 00 	movl   $0x10131c,0xfffffffc(%ebp)
  104361:	c7 45 f8 8e 00 00 00 	movl   $0x8e,0xfffffff8(%ebp)
  104368:	e8 c4 d3 ff ff       	call   101731 <_setvect>
	klog(NULL, NULL, K_KLOG_SUCCESS, &_vc[0]);
  10436d:	68 e0 a2 19 00       	push   $0x19a2e0
  104372:	6a 00                	push   $0x0
  104374:	6a 00                	push   $0x0
  104376:	6a 00                	push   $0x0
  104378:	e8 83 bc ff ff       	call   100000 <LS_Phys>

	/*init_tasks();*/

	klog("init", "Enabling hardware interrupts", K_KLOG_PENDING, &_vc[0]);
  10437d:	83 c4 20             	add    $0x20,%esp
  104380:	68 e0 a2 19 00       	push   $0x19a2e0
  104385:	6a 01                	push   $0x1
  104387:	68 c1 5a 10 00       	push   $0x105ac1
  10438c:	68 bc 5a 10 00       	push   $0x105abc
  104391:	e8 6a bc ff ff       	call   100000 <LS_Phys>
		enable();
  104396:	e8 71 0c 00 00       	call   10500c <enable>
		/*for(i = 0; i < 0xFFFFFFF; i++);*/
	klog(NULL, NULL, K_KLOG_SUCCESS, &_vc[0]);
  10439b:	68 e0 a2 19 00       	push   $0x19a2e0
  1043a0:	6a 00                	push   $0x0
  1043a2:	6a 00                	push   $0x0
  1043a4:	6a 00                	push   $0x0
  1043a6:	e8 55 bc ff ff       	call   100000 <LS_Phys>

	/**
	 * Initialize memory management
	 */
	/*_mm_init();*/

	/**
	 * finished init, time for some gooey ;)
	 */
	printf("                         _   _  _  _  ____  _____  ___                          ");
  1043ab:	83 c4 14             	add    $0x14,%esp
  1043ae:	68 60 60 10 00       	push   $0x106060
  1043b3:	e8 1c 0d 00 00       	call   1050d4 <printf>
	printf("                        ( )_( )( \\/ )(  _ \\(  _  )/ __)                         ");
  1043b8:	c7 04 24 c0 60 10 00 	movl   $0x1060c0,(%esp,1)
  1043bf:	e8 10 0d 00 00       	call   1050d4 <printf>
	printf("                         ) _ (  \\  /  ) _ < )(_)( \\__ \\                         ");
  1043c4:	c7 04 24 20 61 10 00 	movl   $0x106120,(%esp,1)
  1043cb:	e8 04 0d 00 00       	call   1050d4 <printf>
	printf("                        (_) (_) (__) (____/(_____)(___/                         \n");
  1043d0:	c7 04 24 80 61 10 00 	movl   $0x106180,(%esp,1)
  1043d7:	e8 f8 0c 00 00       	call   1050d4 <printf>

	printf("                        Hybrid Operating System (HybOS)                         \n");
  1043dc:	c7 04 24 e0 61 10 00 	movl   $0x1061e0,(%esp,1)
  1043e3:	e8 ec 0c 00 00       	call   1050d4 <printf>

	/**
	 * XXX: debug only
	 */
	printf("ALT + F1 - F8 for virtual terminals\n");
  1043e8:	c7 04 24 40 62 10 00 	movl   $0x106240,(%esp,1)
  1043ef:	e8 e0 0c 00 00       	call   1050d4 <printf>
	printf("Three finger salute to restart\n");
  1043f4:	c7 04 24 80 62 10 00 	movl   $0x106280,(%esp,1)
  1043fb:	e8 d4 0c 00 00       	call   1050d4 <printf>
	printf("More work needs to be done\n");
  104400:	c7 04 24 de 5a 10 00 	movl   $0x105ade,(%esp,1)
  104407:	e8 c8 0c 00 00       	call   1050d4 <printf>
	printf("$ ");
  10440c:	c7 04 24 d6 54 10 00 	movl   $0x1054d6,(%esp,1)
  104413:	e8 bc 0c 00 00       	call   1050d4 <printf>

	/**
	 * fork (kfork()) control over to a shell
	 */
	/*init_shell();*/

	/**
	 * idle task/thread
	 */
	while(1)
  104418:	83 c4 10             	add    $0x10,%esp
  10441b:	90                   	nop    
	{
		schedule();
  10441c:	e8 47 01 00 00       	call   104568 <schedule>
  104421:	eb f9                	jmp    10441c <main+0xf8>
	...

00104424 <_mm_init>:
void _mm_page_copy_dword(uint32_t dest, uint32_t src);
void _mm_virtual_init(void);

void _mm_init(void)
{
  104424:	55                   	push   %ebp
  104425:	89 e5                	mov    %esp,%ebp
  104427:	83 ec 08             	sub    $0x8,%esp
	klog("init", "Initializing memory management", K_KLOG_PENDING, &_vc[0]);
  10442a:	68 e0 a2 19 00       	push   $0x19a2e0
  10442f:	6a 01                	push   $0x1
  104431:	68 a0 62 10 00       	push   $0x1062a0
  104436:	68 bc 5a 10 00       	push   $0x105abc
  10443b:	e8 c0 bb ff ff       	call   100000 <LS_Phys>
	_mm_physical_init();
  104440:	e8 17 00 00 00       	call   10445c <_mm_physical_init>
	_mm_virtual_init();
  104445:	e8 ce 00 00 00       	call   104518 <_mm_virtual_init>
	klog((void *)0, (void *)0, K_KLOG_SUCCESS, &_vc[0]);
  10444a:	68 e0 a2 19 00       	push   $0x19a2e0
  10444f:	6a 00                	push   $0x0
  104451:	6a 00                	push   $0x0
  104453:	6a 00                	push   $0x0
  104455:	e8 a6 bb ff ff       	call   100000 <LS_Phys>
}
  10445a:	c9                   	leave  
  10445b:	c3                   	ret    

0010445c <_mm_physical_init>:

void _mm_physical_init(void)
{
  10445c:	55                   	push   %ebp
  10445d:	89 e5                	mov    %esp,%ebp
	unsigned i;
	unsigned size = 16 * 1024 * 1024;

	size /= PAGESIZE;
	size++;
	size /= 32;

	buffer = (unsigned *)0x40000;
  10445f:	ba 00 00 04 00       	mov    $0x40000,%edx
  104464:	c7 05 84 72 19 00 00 	movl   $0x40000,0x197284
  10446b:	00 04 00 
	bufferIterator = (unsigned *)0x40000;
  10446e:	c7 05 80 72 19 00 00 	movl   $0x40000,0x197280
  104475:	00 04 00 

	for(i = 0; i < 72; i++)
  104478:	31 c0                	xor    %eax,%eax
  10447a:	89 f6                	mov    %esi,%esi
		buffer[i] = 0xFFFFFFFF;
  10447c:	c7 04 82 ff ff ff ff 	movl   $0xffffffff,(%edx,%eax,4)
  104483:	40                   	inc    %eax
  104484:	83 f8 47             	cmp    $0x47,%eax
  104487:	76 f3                	jbe    10447c <_mm_physical_init+0x20>
  104489:	b8 48 00 00 00       	mov    $0x48,%eax
  10448e:	89 f6                	mov    %esi,%esi

	for(i = 72; i < size; i++)
		buffer[i] = 0x00000000;
  104490:	c7 04 82 00 00 00 00 	movl   $0x0,(%edx,%eax,4)
  104497:	40                   	inc    %eax
  104498:	3d 80 00 00 00       	cmp    $0x80,%eax
  10449d:	72 f1                	jb     104490 <_mm_physical_init+0x34>
}
  10449f:	c9                   	leave  
  1044a0:	c3                   	ret    
  1044a1:	8d 76 00             	lea    0x0(%esi),%esi

001044a4 <_mm_physical_alloc>:

unsigned _mm_physical_alloc(void)
{
  1044a4:	55                   	push   %ebp
  1044a5:	89 e5                	mov    %esp,%ebp
  1044a7:	56                   	push   %esi
  1044a8:	53                   	push   %ebx
	unsigned mask = 0x00000001;
	unsigned bit = 0;

	/**
	 * Search for a free space
	 */
	while(*bufferIterator == 0xFFFFFFFF)
  1044a9:	8b 15 80 72 19 00    	mov    0x197280,%edx
  1044af:	31 f6                	xor    %esi,%esi
  1044b1:	83 3a ff             	cmpl   $0xffffffff,(%edx)
  1044b4:	b9 01 00 00 00       	mov    $0x1,%ecx
  1044b9:	74 1f                	je     1044da <_mm_physical_alloc+0x36>
		bufferIterator++;

	/**
	 * Search for a bit that indicates a free page
	 */
	while(*bufferIterator & mask)
  1044bb:	8b 02                	mov    (%edx),%eax
  1044bd:	a8 01                	test   $0x1,%al
  1044bf:	74 0a                	je     1044cb <_mm_physical_alloc+0x27>
  1044c1:	8d 76 00             	lea    0x0(%esi),%esi
	{
		mask <<= 1;
  1044c4:	d1 e1                	shl    %ecx
		bit++;
  1044c6:	46                   	inc    %esi
  1044c7:	85 c1                	test   %eax,%ecx
  1044c9:	75 f9                	jne    1044c4 <_mm_physical_alloc+0x20>
	}

	*bufferIterator |= mask;
  1044cb:	09 0a                	or     %ecx,(%edx)

	return 32 * (bufferIterator - buffer) + bit;
}
  1044cd:	5b                   	pop    %ebx
  1044ce:	2b 15 84 72 19 00    	sub    0x197284,%edx
  1044d4:	8d 04 d6             	lea    (%esi,%edx,8),%eax
  1044d7:	5e                   	pop    %esi
  1044d8:	c9                   	leave  
  1044d9:	c3                   	ret    
  1044da:	8d 42 04             	lea    0x4(%edx),%eax
  1044dd:	8d 76 00             	lea    0x0(%esi),%esi
  1044e0:	89 c2                	mov    %eax,%edx
  1044e2:	8d 40 04             	lea    0x4(%eax),%eax
  1044e5:	83 78 fc ff          	cmpl   $0xffffffff,0xfffffffc(%eax)
  1044e9:	74 f5                	je     1044e0 <_mm_physical_alloc+0x3c>
  1044eb:	89 15 80 72 19 00    	mov    %edx,0x197280
  1044f1:	eb c8                	jmp    1044bb <_mm_physical_alloc+0x17>
  1044f3:	90                   	nop    

001044f4 <_mm_physical_free>:

void _mm_physical_free(unsigned page)
{
  1044f4:	55                   	push   %ebp
  1044f5:	89 e5                	mov    %esp,%ebp
  1044f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
  1044fa:	53                   	push   %ebx
	buffer[page >> 5] &= ~(1 << (page & 0x1F));	/* confused yet?!? */
  1044fb:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
  104500:	89 cb                	mov    %ecx,%ebx
  104502:	83 e1 1f             	and    $0x1f,%ecx
  104505:	c1 eb 05             	shr    $0x5,%ebx
  104508:	8b 15 84 72 19 00    	mov    0x197284,%edx
  10450e:	d3 c0                	rol    %cl,%eax
  104510:	21 04 9a             	and    %eax,(%edx,%ebx,4)
}
  104513:	8b 1c 24             	mov    (%esp,1),%ebx
  104516:	c9                   	leave  
  104517:	c3                   	ret    

00104518 <_mm_virtual_init>:

void _mm_virtual_init(void)
{
  104518:	55                   	push   %ebp
  104519:	89 e5                	mov    %esp,%ebp
  10451b:	c9                   	leave  
  10451c:	c3                   	ret    
  10451d:	8d 76 00             	lea    0x0(%esi),%esi

00104520 <_mm_page_copy_byte>:
}

void _mm_page_copy_byte(uint32_t dest, uint32_t src)
{
  104520:	55                   	push   %ebp
  104521:	89 e5                	mov    %esp,%ebp
  104523:	57                   	push   %edi
  104524:	56                   	push   %esi
  104525:	8b 7d 08             	mov    0x8(%ebp),%edi
  104528:	8b 75 0c             	mov    0xc(%ebp),%esi
	__asm__ __volatile__
  10452b:	b9 00 00 10 00       	mov    $0x100000,%ecx
  104530:	fc                   	cld    
  104531:	f3 a4                	repz movsb %ds:(%esi),%es:(%edi)
		(
		 	"cld;"
			"rep; movsb;"
			:
			: "c" (1024*1024), "D" (dest), "S" (src)
			: "memory"
		);
}
  104533:	5e                   	pop    %esi
  104534:	5f                   	pop    %edi
  104535:	c9                   	leave  
  104536:	c3                   	ret    
  104537:	90                   	nop    

00104538 <_mm_page_copy_word>:

void _mm_page_copy_word(uint32_t dest, uint32_t src)
{
  104538:	55                   	push   %ebp
  104539:	89 e5                	mov    %esp,%ebp
  10453b:	57                   	push   %edi
  10453c:	56                   	push   %esi
  10453d:	8b 7d 08             	mov    0x8(%ebp),%edi
  104540:	8b 75 0c             	mov    0xc(%ebp),%esi
	__asm__ __volatile__
  104543:	b9 00 00 08 00       	mov    $0x80000,%ecx
  104548:	fc                   	cld    
  104549:	f3 66 a5             	repz movsw %ds:(%esi),%es:(%edi)
		(
		 	"cld;"
			"rep; movsw;"
			: 
			: "c" (512*1024), "D" (dest), "S" (src)
			: "memory"
		);
}
  10454c:	5e                   	pop    %esi
  10454d:	5f                   	pop    %edi
  10454e:	c9                   	leave  
  10454f:	c3                   	ret    

00104550 <_mm_page_copy_dword>:

void _mm_page_copy_dword(uint32_t dest, uint32_t src)
{
  104550:	55                   	push   %ebp
  104551:	89 e5                	mov    %esp,%ebp
  104553:	57                   	push   %edi
  104554:	56                   	push   %esi
  104555:	8b 7d 08             	mov    0x8(%ebp),%edi
  104558:	8b 75 0c             	mov    0xc(%ebp),%esi
	__asm__ __volatile__
  10455b:	b9 00 00 04 00       	mov    $0x40000,%ecx
  104560:	fc                   	cld    
  104561:	f3 a5                	repz movsl %ds:(%esi),%es:(%edi)
		(
		 	"cld;"
			"rep; movsl;"
			: 
			: "c" (256*1024), "D" (dest), "S" (src)
			: "memory"
		);
}
  104563:	5e                   	pop    %esi
  104564:	5f                   	pop    %edi
  104565:	c9                   	leave  
  104566:	c3                   	ret    
	...

00104568 <schedule>:
 * schedule()
 *
 */
void schedule(void)
{
  104568:	55                   	push   %ebp
  104569:	89 e5                	mov    %esp,%ebp
  10456b:	83 ec 08             	sub    $0x8,%esp
	static unsigned current;

	/**
	 * If setjmp() returns non-zero it means that we came here through
	 * hyperspace from our call to longjmp() below, so just return
	 */
/** UBU
	if(setjmp(_curr_task->state) != 0)
		return;
**/

	/**
	 * Try to find the next runnable task
	 */
	do
  10456e:	8b 15 00 37 18 00    	mov    0x183700,%edx
	{
		current++;
  104574:	42                   	inc    %edx
		if(current >= MAX_TASK)
  104575:	83 fa 0f             	cmp    $0xf,%edx
  104578:	89 d0                	mov    %edx,%eax
  10457a:	76 04                	jbe    104580 <schedule+0x18>
			current = 0;
  10457c:	31 c0                	xor    %eax,%eax
  10457e:	31 d2                	xor    %edx,%edx
		_curr_task = _tasks + current;
  104580:	8d 04 40             	lea    (%eax,%eax,2),%eax
  104583:	c1 e0 04             	shl    $0x4,%eax
  104586:	05 20 37 18 00       	add    $0x183720,%eax
	} while(_curr_task->status != TS_RUNNABLE);
  10458b:	83 78 2c 01          	cmpl   $0x1,0x2c(%eax)
  10458f:	75 e3                	jne    104574 <schedule+0xc>

	/**
	 * Jump to the new task
	 */
	longjmp(_curr_task->state, 1);
  104591:	83 ec 08             	sub    $0x8,%esp
  104594:	a3 a0 a2 19 00       	mov    %eax,0x19a2a0
  104599:	6a 01                	push   $0x1
  10459b:	83 c0 04             	add    $0x4,%eax
  10459e:	50                   	push   %eax
  10459f:	89 15 00 37 18 00    	mov    %edx,0x183700
  1045a5:	e8 76 0a 00 00       	call   105020 <longjmp>
  1045aa:	89 f6                	mov    %esi,%esi

001045ac <init_tasks>:
}
/*****************************************************************************
*****************************************************************************/
#define	NUM_TASKS	0

/**
 * init_tasks()
 *
 */
void init_tasks(void)
{
  1045ac:	55                   	push   %ebp
  1045ad:	89 e5                	mov    %esp,%ebp
  1045af:	83 ec 08             	sub    $0x8,%esp
	static unsigned char stacks[NUM_TASKS][USER_STACK_SIZE];
	/*static unsigned entry[NUM_TASKS] =
	{
		0,			(unsigned)task1,
		(unsigned)task2,	(unsigned)task3,
		(unsigned)task4
	};*/
	static unsigned entry[NUM_TASKS];

	unsigned adr, i;

	klog("init", "task handler", K_KLOG_PENDING, &_vc[0]);
  1045b2:	68 e0 a2 19 00       	push   $0x19a2e0
  1045b7:	6a 01                	push   $0x1
  1045b9:	68 c4 62 10 00       	push   $0x1062c4
  1045be:	68 bc 5a 10 00       	push   $0x105abc
  1045c3:	e8 38 ba ff ff       	call   100000 <LS_Phys>

	/**
	 * For user taskes, initialize the saved state
	 */
	for(i = 1; i < NUM_TASKS; i++)
  1045c8:	83 c4 10             	add    $0x10,%esp
	{
		(void)setjmp(_tasks[i].state);

		/**
		 * especially the stack pointer
		 */
		adr = (unsigned)(stacks[i] + USER_STACK_SIZE);
		_tasks[i].state[0].JMPBUF_SP = adr;

		/**
		 * and program counter
		 */
		_tasks[i].state[0].JMPBUF_IP = entry[i];
		
		/**
		 * enable interrupts (by setting EFLAGS value)
		 */
		_tasks[i].state[0].JMPBUF_FLAGS = 0x200;

		/**
		 * allocate a virtual console to this task
		 */
		_tasks[i].vc = _vc + i;

		/**
		 * and mark it as runnable
		 */
		_tasks[i].status = TS_RUNNABLE;
	}

	/**
	 * mark task 0 runnable (idle task)
	 */
	_tasks[0].status = TS_RUNNABLE;
  1045cb:	c7 05 4c 37 18 00 01 	movl   $0x1,0x18374c
  1045d2:	00 00 00 

	/**
	 * set _curr_task so schedule() will save state
	 * of task 0
	 */
	_curr_task = _tasks + 0;

	klog(NULL, NULL, K_KLOG_SUCCESS, &_vc[0]);
  1045d5:	68 e0 a2 19 00       	push   $0x19a2e0
  1045da:	6a 00                	push   $0x0
  1045dc:	6a 00                	push   $0x0
  1045de:	6a 00                	push   $0x0
  1045e0:	c7 05 a0 a2 19 00 20 	movl   $0x183720,0x19a2a0
  1045e7:	37 18 00 
  1045ea:	e8 11 ba ff ff       	call   100000 <LS_Phys>
}
  1045ef:	c9                   	leave  
  1045f0:	c3                   	ret    
  1045f1:	00 00                	add    %al,(%eax)
	...

001045f4 <write>:
 * write()
 *
 */
static int write(const unsigned char *str, unsigned len)
{
  1045f4:	55                   	push   %ebp
  1045f5:	89 e5                	mov    %esp,%ebp
  1045f7:	57                   	push   %edi
  1045f8:	56                   	push   %esi
  1045f9:	53                   	push   %ebx
  1045fa:	83 ec 0c             	sub    $0xc,%esp
  1045fd:	8b 7d 0c             	mov    0xc(%ebp),%edi
	unsigned i;

	for(i = 0; i < len; i++)
  104600:	31 f6                	xor    %esi,%esi
  104602:	39 fe                	cmp    %edi,%esi
  104604:	8b 5d 08             	mov    0x8(%ebp),%ebx
  104607:	72 0b                	jb     104614 <write+0x20>
	{
		putch_help(_curr_task->vc, *str);
		str++;
	}
	return i;
}
  104609:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  10460c:	5b                   	pop    %ebx
  10460d:	89 f0                	mov    %esi,%eax
  10460f:	5e                   	pop    %esi
  104610:	5f                   	pop    %edi
  104611:	c9                   	leave  
  104612:	c3                   	ret    
  104613:	90                   	nop    
  104614:	83 ec 08             	sub    $0x8,%esp
  104617:	0f b6 03             	movzbl (%ebx),%eax
  10461a:	50                   	push   %eax
  10461b:	a1 a0 a2 19 00       	mov    0x19a2a0,%eax
  104620:	ff 30                	pushl  (%eax)
  104622:	46                   	inc    %esi
  104623:	e8 68 02 00 00       	call   104890 <putch_help>
  104628:	43                   	inc    %ebx
  104629:	83 c4 10             	add    $0x10,%esp
  10462c:	39 fe                	cmp    %edi,%esi
  10462e:	72 e4                	jb     104614 <write+0x20>
  104630:	eb d7                	jmp    104609 <write+0x15>
  104632:	89 f6                	mov    %esi,%esi

00104634 <yield>:

/**
 * yield()
 *
 */
static void yield(void)
{
  104634:	55                   	push   %ebp
  104635:	89 e5                	mov    %esp,%ebp
	schedule();
  104637:	c9                   	leave  
  104638:	e9 2b ff ff ff       	jmp    104568 <schedule>
  10463d:	8d 76 00             	lea    0x0(%esi),%esi

00104640 <wait>:
}

#define	WAIT	0xFFFFFL

/**
 * wait()
 */
static void wait(void)
{
  104640:	55                   	push   %ebp
  104641:	89 e5                	mov    %esp,%ebp
	unsigned long wait;

	for(wait = WAIT; wait != 0; wait--)
  104643:	b8 ff ff 0f 00       	mov    $0xfffff,%eax
  104648:	48                   	dec    %eax
  104649:	75 fd                	jne    104648 <wait+0x8>
		/* nothing */;
}
  10464b:	c9                   	leave  
  10464c:	c3                   	ret    
  10464d:	8d 76 00             	lea    0x0(%esi),%esi

00104650 <task1>:

/**
 * task1()
 *
 */
void task1(void)
{
  104650:	55                   	push   %ebp
  104651:	89 e5                	mov    %esp,%ebp
  104653:	83 ec 08             	sub    $0x8,%esp
  104656:	89 f6                	mov    %esi,%esi
	//static const unsigned char msg_a[] = "root@hybos $ ";
/**/

	//write(msg_a, sizeof(msg_a));
	wait();
  104658:	e8 e3 ff ff ff       	call   104640 <wait>
	while(1)
	{
		/* so we can process other events */
		yield();
  10465d:	e8 d2 ff ff ff       	call   104634 <yield>
		wait();
  104662:	eb f4                	jmp    104658 <task1+0x8>

00104664 <task2>:
	}
}

/**
 * task2()
 *
 */
void task2(void)
{
  104664:	55                   	push   %ebp
  104665:	89 e5                	mov    %esp,%ebp
  104667:	83 ec 08             	sub    $0x8,%esp
  10466a:	89 f6                	mov    %esi,%esi
	//static const unsigned char msg_a[] = "root@hybos $ ";
/**/

	//write(msg_a, sizeof(msg_a));
	wait();
  10466c:	e8 cf ff ff ff       	call   104640 <wait>
	while(1)
	{
		yield();
  104671:	e8 be ff ff ff       	call   104634 <yield>
		wait();
  104676:	eb f4                	jmp    10466c <task2+0x8>

00104678 <task3>:
	}
}

/**
 * task3()
 *
 */
void task3(void)
{
  104678:	55                   	push   %ebp
  104679:	89 e5                	mov    %esp,%ebp
  10467b:	83 ec 08             	sub    $0x8,%esp
  10467e:	89 f6                	mov    %esi,%esi
	//static const unsigned char msg_a[] = "root@hybos $ ";
/**/

	//write(msg_a, sizeof(msg_a));
	wait();
  104680:	e8 bb ff ff ff       	call   104640 <wait>
	while(1)
	{
		yield();
  104685:	e8 aa ff ff ff       	call   104634 <yield>
		wait();
  10468a:	eb f4                	jmp    104680 <task3+0x8>

0010468c <task4>:
	}
}

/**
 * task4()
 *
 */
void task4(void)
{
  10468c:	55                   	push   %ebp
  10468d:	89 e5                	mov    %esp,%ebp
  10468f:	83 ec 08             	sub    $0x8,%esp
  104692:	89 f6                	mov    %esi,%esi
	//static const unsigned char msg_a[] = "root@hybos $ ";
/**/

	//write(msg_a, sizeof(msg_a));
	wait();
  104694:	e8 a7 ff ff ff       	call   104640 <wait>
	while(1)
	{
		yield();
  104699:	e8 96 ff ff ff       	call   104634 <yield>
		wait();
  10469e:	eb f4                	jmp    104694 <task4+0x8>

001046a0 <blink>:
 * blink()
 *
 */
void blink(void)
{
  1046a0:	55                   	push   %ebp
	(*(unsigned char *)_vga_fb_adr)++;
  1046a1:	a1 28 3a 18 00       	mov    0x183a28,%eax
  1046a6:	89 e5                	mov    %esp,%ebp
  1046a8:	fe 00                	incb   (%eax)
}
  1046aa:	c9                   	leave  
  1046ab:	c3                   	ret    

001046ac <get_current_vc>:

/**
 * get_current_vc()
 *
 */
unsigned get_current_vc()
{
  1046ac:	55                   	push   %ebp
  1046ad:	89 e5                	mov    %esp,%ebp
	return curr_vtty;
  1046af:	a1 c0 a2 19 00       	mov    0x19a2c0,%eax
}
  1046b4:	c9                   	leave  
  1046b5:	c3                   	ret    
  1046b6:	89 f6                	mov    %esi,%esi

001046b8 <scroll>:

/**
 * scroll()
 *
 */
static void scroll(console_t *con)
{
  1046b8:	55                   	push   %ebp
  1046b9:	89 e5                	mov    %esp,%ebp
  1046bb:	57                   	push   %edi
  1046bc:	56                   	push   %esi
  1046bd:	53                   	push   %ebx
  1046be:	83 ec 0c             	sub    $0xc,%esp
	unsigned short *fb_adr;
	unsigned blank, temp;

	blank = 0x20 | ((unsigned)con->attrib << 8);
  1046c1:	8b 45 08             	mov    0x8(%ebp),%eax
  1046c4:	8b 70 18             	mov    0x18(%eax),%esi
  1046c7:	c1 e6 08             	shl    $0x8,%esi
	fb_adr = con->fb_adr;
  1046ca:	8b 78 30             	mov    0x30(%eax),%edi

	/**
	 * scroll up
	 */
	if(con->csr_y >= _vc_height)
  1046cd:	8b 15 34 3a 18 00    	mov    0x183a34,%edx
  1046d3:	8b 40 20             	mov    0x20(%eax),%eax
  1046d6:	83 ce 20             	or     $0x20,%esi
  1046d9:	39 d0                	cmp    %edx,%eax
  1046db:	73 0b                	jae    1046e8 <scroll+0x30>
	{
		temp = con->csr_y - _vc_height + 1;
		memcpy(fb_adr, fb_adr + temp * _vc_width,
			(_vc_height - temp) * _vc_width * 2);

		/**
		 * blank bottom line of screen
		 */
		memsetw(fb_adr + (_vc_height - temp) * _vc_width,
			blank, _vc_width);
		con->csr_y = _vc_height - 1;
	}

	//for(i = 0; i < 0x1000000; i++) ;
}
  1046dd:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  1046e0:	5b                   	pop    %ebx
  1046e1:	5e                   	pop    %esi
  1046e2:	5f                   	pop    %edi
  1046e3:	c9                   	leave  
  1046e4:	c3                   	ret    
  1046e5:	8d 76 00             	lea    0x0(%esi),%esi
  1046e8:	29 d0                	sub    %edx,%eax
  1046ea:	8d 58 01             	lea    0x1(%eax),%ebx
  1046ed:	29 da                	sub    %ebx,%edx
  1046ef:	50                   	push   %eax
  1046f0:	a1 30 3a 18 00       	mov    0x183a30,%eax
  1046f5:	0f af d0             	imul   %eax,%edx
  1046f8:	d1 e2                	shl    %edx
  1046fa:	0f af c3             	imul   %ebx,%eax
  1046fd:	52                   	push   %edx
  1046fe:	8d 04 47             	lea    (%edi,%eax,2),%eax
  104701:	50                   	push   %eax
  104702:	57                   	push   %edi
  104703:	e8 54 09 00 00       	call   10505c <memcpy>
  104708:	a1 34 3a 18 00       	mov    0x183a34,%eax
  10470d:	83 c4 0c             	add    $0xc,%esp
  104710:	29 d8                	sub    %ebx,%eax
  104712:	ff 35 30 3a 18 00    	pushl  0x183a30
  104718:	0f af 05 30 3a 18 00 	imul   0x183a30,%eax
  10471f:	56                   	push   %esi
  104720:	8d 04 47             	lea    (%edi,%eax,2),%eax
  104723:	50                   	push   %eax
  104724:	e8 5f 09 00 00       	call   105088 <memsetw>
  104729:	a1 34 3a 18 00       	mov    0x183a34,%eax
  10472e:	48                   	dec    %eax
  10472f:	8b 55 08             	mov    0x8(%ebp),%edx
  104732:	89 42 20             	mov    %eax,0x20(%edx)
  104735:	83 c4 10             	add    $0x10,%esp
  104738:	eb a3                	jmp    1046dd <scroll+0x25>
  10473a:	89 f6                	mov    %esi,%esi

0010473c <set_attrib>:

/**
 * set_attrib()
 *
 */
static void set_attrib(console_t *con, unsigned att)
{
  10473c:	55                   	push   %ebp
  10473d:	89 e5                	mov    %esp,%ebp
  10473f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  104742:	53                   	push   %ebx
	static const unsigned ansi_to_vga[] =
	{
		0, 4, 2, 6, 1, 5, 3, 7
	};

	unsigned new_att;

	new_att = con->attrib;
	if(att == 0)
  104743:	85 c9                	test   %ecx,%ecx
  104745:	8b 5d 08             	mov    0x8(%ebp),%ebx
  104748:	8b 53 18             	mov    0x18(%ebx),%edx
  10474b:	75 0b                	jne    104758 <set_attrib+0x1c>
		new_att &= ~0x08;		/* bold off */
  10474d:	83 e2 f7             	and    $0xfffffff7,%edx
	else if(att == 1)
		new_att |= 0x08;		/* bold on */
	else if(att >= 30 && att <= 37)
	{
		att = ansi_to_vga[att - 30];
		new_att = (new_att & ~0x07) | att;/* fg color */
	}
	else if(att >= 40 && att <= 47)
	{
		att = ansi_to_vga[att - 40] << 4;
		new_att = (new_att & ~0x70) | att;/* bg color */
	}
	con->attrib = new_att;
  104750:	89 53 18             	mov    %edx,0x18(%ebx)
}
  104753:	8b 1c 24             	mov    (%esp,1),%ebx
  104756:	c9                   	leave  
  104757:	c3                   	ret    
  104758:	83 f9 01             	cmp    $0x1,%ecx
  10475b:	74 33                	je     104790 <set_attrib+0x54>
  10475d:	8d 41 e2             	lea    0xffffffe2(%ecx),%eax
  104760:	83 f8 07             	cmp    $0x7,%eax
  104763:	77 0f                	ja     104774 <set_attrib+0x38>
  104765:	83 e2 f8             	and    $0xfffffff8,%edx
  104768:	0b 14 8d 68 62 10 00 	or     0x106268(,%ecx,4),%edx
  10476f:	eb df                	jmp    104750 <set_attrib+0x14>
  104771:	8d 76 00             	lea    0x0(%esi),%esi
  104774:	8d 41 d8             	lea    0xffffffd8(%ecx),%eax
  104777:	83 f8 07             	cmp    $0x7,%eax
  10477a:	77 d4                	ja     104750 <set_attrib+0x14>
  10477c:	8b 04 8d 40 62 10 00 	mov    0x106240(,%ecx,4),%eax
  104783:	c1 e0 04             	shl    $0x4,%eax
  104786:	83 e2 8f             	and    $0xffffff8f,%edx
  104789:	09 c2                	or     %eax,%edx
  10478b:	eb c3                	jmp    104750 <set_attrib+0x14>
  10478d:	8d 76 00             	lea    0x0(%esi),%esi
  104790:	83 ca 08             	or     $0x8,%edx
  104793:	eb bb                	jmp    104750 <set_attrib+0x14>
  104795:	8d 76 00             	lea    0x0(%esi),%esi

00104798 <move_csr>:

/**
 * move_csr()
 *
 */
static void move_csr(void)
{
  104798:	55                   	push   %ebp
  104799:	89 e5                	mov    %esp,%ebp
  10479b:	53                   	push   %ebx
  10479c:	83 ec 0c             	sub    $0xc,%esp
	unsigned temp;

	temp = (_curr_vc->csr_y * _vc_width + _curr_vc->csr_x) +
  10479f:	a1 24 3a 18 00       	mov    0x183a24,%eax
  1047a4:	8b 1d 30 3a 18 00    	mov    0x183a30,%ebx
  1047aa:	0f af 58 20          	imul   0x20(%eax),%ebx
  1047ae:	03 58 1c             	add    0x1c(%eax),%ebx
  1047b1:	8b 40 30             	mov    0x30(%eax),%eax
  1047b4:	2b 05 28 3a 18 00    	sub    0x183a28,%eax
		(_curr_vc->fb_adr - _vga_fb_adr);
	outportb(_crtc_io_adr + 0, 14);
  1047ba:	6a 0e                	push   $0xe
  1047bc:	d1 f8                	sar    %eax
  1047be:	ff 35 2c 3a 18 00    	pushl  0x183a2c
  1047c4:	01 c3                	add    %eax,%ebx
  1047c6:	e8 e9 08 00 00       	call   1050b4 <outportb>
	outportb(_crtc_io_adr + 1, temp >> 8);
  1047cb:	59                   	pop    %ecx
  1047cc:	58                   	pop    %eax
  1047cd:	89 d8                	mov    %ebx,%eax
  1047cf:	c1 e8 08             	shr    $0x8,%eax
  1047d2:	50                   	push   %eax
  1047d3:	a1 2c 3a 18 00       	mov    0x183a2c,%eax
  1047d8:	40                   	inc    %eax
  1047d9:	50                   	push   %eax
  1047da:	e8 d5 08 00 00       	call   1050b4 <outportb>
	outportb(_crtc_io_adr + 0, 15);
  1047df:	58                   	pop    %eax
  1047e0:	5a                   	pop    %edx
  1047e1:	6a 0f                	push   $0xf
  1047e3:	ff 35 2c 3a 18 00    	pushl  0x183a2c
  1047e9:	e8 c6 08 00 00       	call   1050b4 <outportb>
	outportb(_crtc_io_adr + 1, temp);
  1047ee:	5a                   	pop    %edx
  1047ef:	59                   	pop    %ecx
  1047f0:	a1 2c 3a 18 00       	mov    0x183a2c,%eax
  1047f5:	53                   	push   %ebx
  1047f6:	40                   	inc    %eax
  1047f7:	50                   	push   %eax
  1047f8:	e8 b7 08 00 00       	call   1050b4 <outportb>
}
  1047fd:	8b 5d fc             	mov    0xfffffffc(%ebp),%ebx
  104800:	c9                   	leave  
  104801:	c3                   	ret    
  104802:	89 f6                	mov    %esi,%esi

00104804 <select_vc>:


/**
 * select_vc()
 *
 */
void select_vc(unsigned which_vc)
{
  104804:	55                   	push   %ebp
  104805:	89 e5                	mov    %esp,%ebp
  104807:	56                   	push   %esi
  104808:	53                   	push   %ebx
  104809:	8b 75 08             	mov    0x8(%ebp),%esi
	unsigned i;

	if(which_vc >= _num_vcs)
  10480c:	3b 35 20 3a 18 00    	cmp    0x183a20,%esi
  104812:	72 08                	jb     10481c <select_vc+0x18>
		return;
	_curr_vc = _vc + which_vc;
	i = _curr_vc->fb_adr - _vga_fb_adr;
	outportb(_crtc_io_adr + 0, 12);
	outportb(_crtc_io_adr + 1, i >> 8);
	outportb(_crtc_io_adr + 0, 13);
	outportb(_crtc_io_adr + 1, i);

	curr_vtty = which_vc;

	move_csr();
}
  104814:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  104817:	5b                   	pop    %ebx
  104818:	5e                   	pop    %esi
  104819:	c9                   	leave  
  10481a:	c3                   	ret    
  10481b:	90                   	nop    
  10481c:	8d 04 76             	lea    (%esi,%esi,2),%eax
  10481f:	8d 04 86             	lea    (%esi,%eax,4),%eax
  104822:	8d 04 85 e0 a2 19 00 	lea    0x19a2e0(,%eax,4),%eax
  104829:	8b 58 30             	mov    0x30(%eax),%ebx
  10482c:	83 ec 08             	sub    $0x8,%esp
  10482f:	a3 24 3a 18 00       	mov    %eax,0x183a24
  104834:	2b 1d 28 3a 18 00    	sub    0x183a28,%ebx
  10483a:	6a 0c                	push   $0xc
  10483c:	d1 fb                	sar    %ebx
  10483e:	ff 35 2c 3a 18 00    	pushl  0x183a2c
  104844:	e8 6b 08 00 00       	call   1050b4 <outportb>
  104849:	58                   	pop    %eax
  10484a:	89 d8                	mov    %ebx,%eax
  10484c:	5a                   	pop    %edx
  10484d:	c1 e8 08             	shr    $0x8,%eax
  104850:	50                   	push   %eax
  104851:	a1 2c 3a 18 00       	mov    0x183a2c,%eax
  104856:	40                   	inc    %eax
  104857:	50                   	push   %eax
  104858:	e8 57 08 00 00       	call   1050b4 <outportb>
  10485d:	59                   	pop    %ecx
  10485e:	58                   	pop    %eax
  10485f:	6a 0d                	push   $0xd
  104861:	ff 35 2c 3a 18 00    	pushl  0x183a2c
  104867:	e8 48 08 00 00       	call   1050b4 <outportb>
  10486c:	58                   	pop    %eax
  10486d:	5a                   	pop    %edx
  10486e:	53                   	push   %ebx
  10486f:	a1 2c 3a 18 00       	mov    0x183a2c,%eax
  104874:	40                   	inc    %eax
  104875:	50                   	push   %eax
  104876:	e8 39 08 00 00       	call   1050b4 <outportb>
  10487b:	89 35 c0 a2 19 00    	mov    %esi,0x19a2c0
  104881:	83 c4 10             	add    $0x10,%esp
  104884:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  104887:	5b                   	pop    %ebx
  104888:	5e                   	pop    %esi
  104889:	c9                   	leave  
  10488a:	e9 09 ff ff ff       	jmp    104798 <move_csr>
  10488f:	90                   	nop    

00104890 <putch_help>:

/**
 * putch_help()
 *
 */
void putch_help(console_t *con, unsigned c)
{
  104890:	55                   	push   %ebp
  104891:	89 e5                	mov    %esp,%ebp
  104893:	57                   	push   %edi
  104894:	56                   	push   %esi
  104895:	53                   	push   %ebx
  104896:	83 ec 0c             	sub    $0xc,%esp
  104899:	8b 5d 08             	mov    0x8(%ebp),%ebx
	unsigned short *fb_adr;
	unsigned att;

	att = (unsigned)con->attrib << 8;
  10489c:	8b 73 18             	mov    0x18(%ebx),%esi
	fb_adr = con->fb_adr;

	/**
	 * state machine to handle escape sequences
	 *
	 * ESC
	 */
	if(con->esc == 1)
  10489f:	8b 43 14             	mov    0x14(%ebx),%eax
  1048a2:	c1 e6 08             	shl    $0x8,%esi
  1048a5:	83 f8 01             	cmp    $0x1,%eax
  1048a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  1048ab:	8b 7b 30             	mov    0x30(%ebx),%edi
  1048ae:	0f 84 30 02 00 00    	je     104ae4 <putch_help+0x254>
	{
		if(c == '[')
		{
			con->esc++;
			con->esc1 = 0;
			return;
		}
		/* else fall-through: zero esc and print c */
	}

	/**
	 * ESC[
	 */
	else if(con->esc == 2)
  1048b4:	83 f8 02             	cmp    $0x2,%eax
  1048b7:	0f 84 a3 01 00 00    	je     104a60 <putch_help+0x1d0>
	{
		if(isdigit(c))
		{
			con->esc1 = con->esc1 * 10 + c - '0';
			return;
		}
		else if(c == ';')
		{
			con->esc++;
			con->esc2 = 0;
			return;
		}

		/**
		 * ESC[2J (clear screen)
		 */
		else if(c == 'J')
		{
			if(con->esc1 == 2)
			{
				memsetw(fb_adr, ' ' | att,
					_vc_height * _vc_width);
				con->csr_x = con->csr_y = 0;
			}
		}

		/**
		 * ESC[num1m (set attribute num1)
		 */
		else if(c == 'm')
			set_attrib(con, con->esc1);
		con->esc = 0;	/* anything else with one numeric arg */
		return;
	}

	/**
	 * ESC[num1
	 */
	else if(con->esc == 3)
  1048bd:	83 f8 03             	cmp    $0x3,%eax
  1048c0:	0f 84 22 01 00 00    	je     1049e8 <putch_help+0x158>
	{
		if(isdigit(c))
		{
			con->esc2 = con->esc2 * 10 + c - '0';
			return;
		}
		else if(c == ';')
		{
			con->esc++;	/* ESC[num1;num2; */
			con->esc3 = 0;
			return;
		}

		/**
		 * ESC[num1;num2H (move cursor to num1,num2)
		 */
		else if(c == 'H')
		{
			if(con->esc2 < _vc_width)
				con->csr_x = con->esc2;
			if(con->esc1 < _vc_height)
				con->csr_y = con->esc1;
		}

		/**
		 * ESC[num1;num2m (set attributes num1,num2)
		 */
		else if(c == 'm')
		{
			set_attrib(con, con->esc1);
			set_attrib(con, con->esc2);
		}
		con->esc = 0;
		return;
	}
	/**
	 * ESC[num1;num2;num3
	 */
	else if(con->esc == 4)
  1048c6:	83 f8 04             	cmp    $0x4,%eax
  1048c9:	0f 84 c9 00 00 00    	je     104998 <putch_help+0x108>
	{
		if(isdigit(c))
		{
			con->esc3 = con->esc3 * 10 + c - '0';
			return;
		}
		/**
		 * ESC[num1;num2;num3m (set attributes num1,num2,num3)
		 */
		else if(c == 'm')
		{
			set_attrib(con, con->esc1);
			set_attrib(con, con->esc2);
			set_attrib(con, con->esc3);
		}
		con->esc = 0;
		return;
	}
	con->esc = 0;

	/**
	 * escape character
	 */
	if(c == 0x1B)
  1048cf:	83 f9 1b             	cmp    $0x1b,%ecx
  1048d2:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
  1048d9:	0f 84 ad 00 00 00    	je     10498c <putch_help+0xfc>
	{
		con->esc = 1;
		return;
	}
	/**
	 * backspace
	 */
	if(c == 0x08)
  1048df:	83 f9 08             	cmp    $0x8,%ecx
  1048e2:	0f 84 9a 00 00 00    	je     104982 <putch_help+0xf2>
	{
		if(con->csr_x != 0)
			con->csr_x--;
	}
	/**
	 * tab
	 */
	else if(c == 0x09)
  1048e8:	83 f9 09             	cmp    $0x9,%ecx
  1048eb:	0f 84 83 00 00 00    	je     104974 <putch_help+0xe4>
		con->csr_x = (con->csr_x + 8) & ~(8 - 1);
	/**
	 * carriage return
	 */
	else if(c == '\r')	/* 0x0D */
  1048f1:	83 f9 0d             	cmp    $0xd,%ecx
  1048f4:	74 75                	je     10496b <putch_help+0xdb>
		con->csr_x = 0;
	/**
	 * line feed
	 */
/*	else if(c == '\n')	*//* 0x0A */
/*		con->csr_y++;*/
	/**
	 * CR/LF
	 */
	else if(c == '\n')	/* ### - 0x0A again */
  1048f6:	83 f9 0a             	cmp    $0xa,%ecx
  1048f9:	74 62                	je     10495d <putch_help+0xcd>
	{
		con->csr_x = 0;
		con->csr_y++;
	}
	/**
	 * printable ASCII
	 */
	else if(c >= ' ')
  1048fb:	83 f9 1f             	cmp    $0x1f,%ecx
  1048fe:	76 58                	jbe    104958 <putch_help+0xc8>
	{
		unsigned short *where;

		where = fb_adr + (con->csr_y * _vc_width + con->csr_x);
  104900:	a1 30 3a 18 00       	mov    0x183a30,%eax
  104905:	8b 53 1c             	mov    0x1c(%ebx),%edx
  104908:	0f af 43 20          	imul   0x20(%ebx),%eax
  10490c:	01 d0                	add    %edx,%eax
		*where = (c | att);
  10490e:	09 f1                	or     %esi,%ecx
		con->csr_x++;
  104910:	42                   	inc    %edx
  104911:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
  104915:	89 d0                	mov    %edx,%eax
  104917:	89 53 1c             	mov    %edx,0x1c(%ebx)
  10491a:	89 f6                	mov    %esi,%esi
	}
	if(con->csr_x >= _vc_width)
  10491c:	3b 05 30 3a 18 00    	cmp    0x183a30,%eax
  104922:	72 0a                	jb     10492e <putch_help+0x9e>
	{
		con->csr_x = 0;
  104924:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
		con->csr_y++;
  10492b:	ff 43 20             	incl   0x20(%ebx)
	}
	scroll(con);
  10492e:	83 ec 0c             	sub    $0xc,%esp
  104931:	53                   	push   %ebx
  104932:	e8 81 fd ff ff       	call   1046b8 <scroll>
	
	/**
	 * move cursor only if the VC we're writing is the current VC
	 */
	if(_curr_vc == con)
  104937:	83 c4 10             	add    $0x10,%esp
  10493a:	39 1d 24 3a 18 00    	cmp    %ebx,0x183a24
  104940:	74 0a                	je     10494c <putch_help+0xbc>
  104942:	89 f6                	mov    %esi,%esi
		move_csr();
}
  104944:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  104947:	5b                   	pop    %ebx
  104948:	5e                   	pop    %esi
  104949:	5f                   	pop    %edi
  10494a:	c9                   	leave  
  10494b:	c3                   	ret    
  10494c:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  10494f:	5b                   	pop    %ebx
  104950:	5e                   	pop    %esi
  104951:	5f                   	pop    %edi
  104952:	c9                   	leave  
  104953:	e9 40 fe ff ff       	jmp    104798 <move_csr>
  104958:	8b 43 1c             	mov    0x1c(%ebx),%eax
  10495b:	eb bf                	jmp    10491c <putch_help+0x8c>
  10495d:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
  104964:	ff 43 20             	incl   0x20(%ebx)
  104967:	31 c0                	xor    %eax,%eax
  104969:	eb b1                	jmp    10491c <putch_help+0x8c>
  10496b:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
  104972:	eb f3                	jmp    104967 <putch_help+0xd7>
  104974:	8b 43 1c             	mov    0x1c(%ebx),%eax
  104977:	83 c0 08             	add    $0x8,%eax
  10497a:	83 e0 f8             	and    $0xfffffff8,%eax
  10497d:	89 43 1c             	mov    %eax,0x1c(%ebx)
  104980:	eb 9a                	jmp    10491c <putch_help+0x8c>
  104982:	8b 43 1c             	mov    0x1c(%ebx),%eax
  104985:	85 c0                	test   %eax,%eax
  104987:	74 93                	je     10491c <putch_help+0x8c>
  104989:	48                   	dec    %eax
  10498a:	eb f1                	jmp    10497d <putch_help+0xed>
  10498c:	c7 43 14 01 00 00 00 	movl   $0x1,0x14(%ebx)
  104993:	eb af                	jmp    104944 <putch_help+0xb4>
  104995:	8d 76 00             	lea    0x0(%esi),%esi
  104998:	f6 81 41 78 10 00 04 	testb  $0x4,0x107841(%ecx)
  10499f:	74 0f                	je     1049b0 <putch_help+0x120>
  1049a1:	8b 43 2c             	mov    0x2c(%ebx),%eax
  1049a4:	8d 04 80             	lea    (%eax,%eax,4),%eax
  1049a7:	8d 44 41 d0          	lea    0xffffffd0(%ecx,%eax,2),%eax
  1049ab:	89 43 2c             	mov    %eax,0x2c(%ebx)
  1049ae:	eb 94                	jmp    104944 <putch_help+0xb4>
  1049b0:	83 f9 6d             	cmp    $0x6d,%ecx
  1049b3:	74 0c                	je     1049c1 <putch_help+0x131>
  1049b5:	8d 76 00             	lea    0x0(%esi),%esi
  1049b8:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
  1049bf:	eb 83                	jmp    104944 <putch_help+0xb4>
  1049c1:	83 ec 08             	sub    $0x8,%esp
  1049c4:	ff 73 24             	pushl  0x24(%ebx)
  1049c7:	53                   	push   %ebx
  1049c8:	e8 6f fd ff ff       	call   10473c <set_attrib>
  1049cd:	5f                   	pop    %edi
  1049ce:	58                   	pop    %eax
  1049cf:	ff 73 28             	pushl  0x28(%ebx)
  1049d2:	53                   	push   %ebx
  1049d3:	e8 64 fd ff ff       	call   10473c <set_attrib>
  1049d8:	59                   	pop    %ecx
  1049d9:	5e                   	pop    %esi
  1049da:	ff 73 2c             	pushl  0x2c(%ebx)
  1049dd:	53                   	push   %ebx
  1049de:	e8 59 fd ff ff       	call   10473c <set_attrib>
  1049e3:	83 c4 10             	add    $0x10,%esp
  1049e6:	eb d0                	jmp    1049b8 <putch_help+0x128>
  1049e8:	f6 81 41 78 10 00 04 	testb  $0x4,0x107841(%ecx)
  1049ef:	74 12                	je     104a03 <putch_help+0x173>
  1049f1:	8b 43 28             	mov    0x28(%ebx),%eax
  1049f4:	8d 04 80             	lea    (%eax,%eax,4),%eax
  1049f7:	8d 44 41 d0          	lea    0xffffffd0(%ecx,%eax,2),%eax
  1049fb:	89 43 28             	mov    %eax,0x28(%ebx)
  1049fe:	e9 41 ff ff ff       	jmp    104944 <putch_help+0xb4>
  104a03:	83 f9 3b             	cmp    $0x3b,%ecx
  104a06:	74 42                	je     104a4a <putch_help+0x1ba>
  104a08:	83 f9 48             	cmp    $0x48,%ecx
  104a0b:	74 18                	je     104a25 <putch_help+0x195>
  104a0d:	83 f9 6d             	cmp    $0x6d,%ecx
  104a10:	75 a6                	jne    1049b8 <putch_help+0x128>
  104a12:	83 ec 08             	sub    $0x8,%esp
  104a15:	ff 73 24             	pushl  0x24(%ebx)
  104a18:	53                   	push   %ebx
  104a19:	e8 1e fd ff ff       	call   10473c <set_attrib>
  104a1e:	58                   	pop    %eax
  104a1f:	5a                   	pop    %edx
  104a20:	ff 73 28             	pushl  0x28(%ebx)
  104a23:	eb b8                	jmp    1049dd <putch_help+0x14d>
  104a25:	8b 43 28             	mov    0x28(%ebx),%eax
  104a28:	3b 05 30 3a 18 00    	cmp    0x183a30,%eax
  104a2e:	73 03                	jae    104a33 <putch_help+0x1a3>
  104a30:	89 43 1c             	mov    %eax,0x1c(%ebx)
  104a33:	8b 43 24             	mov    0x24(%ebx),%eax
  104a36:	3b 05 34 3a 18 00    	cmp    0x183a34,%eax
  104a3c:	0f 83 76 ff ff ff    	jae    1049b8 <putch_help+0x128>
  104a42:	89 43 20             	mov    %eax,0x20(%ebx)
  104a45:	e9 6e ff ff ff       	jmp    1049b8 <putch_help+0x128>
  104a4a:	c7 43 14 04 00 00 00 	movl   $0x4,0x14(%ebx)
  104a51:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
  104a58:	e9 e7 fe ff ff       	jmp    104944 <putch_help+0xb4>
  104a5d:	8d 76 00             	lea    0x0(%esi),%esi
  104a60:	f6 81 41 78 10 00 04 	testb  $0x4,0x107841(%ecx)
  104a67:	74 13                	je     104a7c <putch_help+0x1ec>
  104a69:	8b 43 24             	mov    0x24(%ebx),%eax
  104a6c:	8d 04 80             	lea    (%eax,%eax,4),%eax
  104a6f:	8d 44 41 d0          	lea    0xffffffd0(%ecx,%eax,2),%eax
  104a73:	89 43 24             	mov    %eax,0x24(%ebx)
  104a76:	e9 c9 fe ff ff       	jmp    104944 <putch_help+0xb4>
  104a7b:	90                   	nop    
  104a7c:	83 f9 3b             	cmp    $0x3b,%ecx
  104a7f:	74 4e                	je     104acf <putch_help+0x23f>
  104a81:	83 f9 4a             	cmp    $0x4a,%ecx
  104a84:	74 14                	je     104a9a <putch_help+0x20a>
  104a86:	83 f9 6d             	cmp    $0x6d,%ecx
  104a89:	0f 85 29 ff ff ff    	jne    1049b8 <putch_help+0x128>
  104a8f:	83 ec 08             	sub    $0x8,%esp
  104a92:	ff 73 24             	pushl  0x24(%ebx)
  104a95:	e9 43 ff ff ff       	jmp    1049dd <putch_help+0x14d>
  104a9a:	83 7b 24 02          	cmpl   $0x2,0x24(%ebx)
  104a9e:	0f 85 14 ff ff ff    	jne    1049b8 <putch_help+0x128>
  104aa4:	51                   	push   %ecx
  104aa5:	a1 30 3a 18 00       	mov    0x183a30,%eax
  104aaa:	0f af 05 34 3a 18 00 	imul   0x183a34,%eax
  104ab1:	50                   	push   %eax
  104ab2:	83 ce 20             	or     $0x20,%esi
  104ab5:	56                   	push   %esi
  104ab6:	57                   	push   %edi
  104ab7:	e8 cc 05 00 00       	call   105088 <memsetw>
  104abc:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
  104ac3:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
  104aca:	e9 14 ff ff ff       	jmp    1049e3 <putch_help+0x153>
  104acf:	c7 43 14 03 00 00 00 	movl   $0x3,0x14(%ebx)
  104ad6:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
  104add:	e9 62 fe ff ff       	jmp    104944 <putch_help+0xb4>
  104ae2:	89 f6                	mov    %esi,%esi
  104ae4:	83 f9 5b             	cmp    $0x5b,%ecx
  104ae7:	0f 85 e2 fd ff ff    	jne    1048cf <putch_help+0x3f>
  104aed:	c7 43 14 02 00 00 00 	movl   $0x2,0x14(%ebx)
  104af4:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
  104afb:	e9 44 fe ff ff       	jmp    104944 <putch_help+0xb4>

00104b00 <putch>:

/**
 * putch()
 *
 */
void putch(unsigned c)
{
  104b00:	55                   	push   %ebp
  104b01:	89 e5                	mov    %esp,%ebp
  104b03:	83 ec 10             	sub    $0x10,%esp
/* all kernel messages to VC #0 */
//	putch_help(_vc + 0, c);
/* all kernel messages to current VC */
	putch_help(_curr_vc, c);
  104b06:	ff 75 08             	pushl  0x8(%ebp)
  104b09:	ff 35 24 3a 18 00    	pushl  0x183a24
  104b0f:	e8 7c fd ff ff       	call   104890 <putch_help>
}
  104b14:	c9                   	leave  
  104b15:	c3                   	ret    
  104b16:	89 f6                	mov    %esi,%esi

00104b18 <init_video>:

/**
 * init_video()
 *
 */
void init_video(void)
{
  104b18:	55                   	push   %ebp
  104b19:	89 e5                	mov    %esp,%ebp
  104b1b:	56                   	push   %esi
  104b1c:	53                   	push   %ebx
	unsigned i;

	/**
	 * check for monochrome or color VGA emulation
	 */
	if((inportb(VGA_MISC_READ) & 0x01) != 0)
  104b1d:	83 ec 0c             	sub    $0xc,%esp
  104b20:	68 cc 03 00 00       	push   $0x3cc
  104b25:	e8 ea 04 00 00       	call   105014 <inportb>
  104b2a:	83 c4 10             	add    $0x10,%esp
  104b2d:	a8 01                	test   $0x1,%al
  104b2f:	0f 84 78 01 00 00    	je     104cad <init_video+0x195>
	{
		_vga_fb_adr = (unsigned short *)0xB8000L;
  104b35:	c7 05 28 3a 18 00 00 	movl   $0xb8000,0x183a28
  104b3c:	80 0b 00 
		_crtc_io_adr = 0x3D4;
  104b3f:	c7 05 2c 3a 18 00 d4 	movl   $0x3d4,0x183a2c
  104b46:	03 00 00 
	}
	else
	{
		_vga_fb_adr = (unsigned short *)0xB0000L;
		_crtc_io_adr = 0x3B4;
	}

	/**
	 * read current screen size from BIOS data segment (addresses 400-4FF)
	 */
	_vc_width = *(unsigned short *)0x44A;
	_vc_height = *(unsigned char *)0x484 + 1;
  104b49:	0f b6 05 84 04 00 00 	movzbl 0x484,%eax
  104b50:	40                   	inc    %eax
  104b51:	0f b7 15 4a 04 00 00 	movzwl 0x44a,%edx
  104b58:	89 15 30 3a 18 00    	mov    %edx,0x183a30

	/**
	 * figure out how many VCs we can have with 32K of display memory.
	 * Use INTEGER division to round down.
	 */
	_num_vcs = 32768L / (_vc_width * _vc_height * 2);
  104b5e:	0f af d0             	imul   %eax,%edx
  104b61:	d1 e2                	shl    %edx
  104b63:	89 d1                	mov    %edx,%ecx
  104b65:	a3 34 3a 18 00       	mov    %eax,0x183a34
  104b6a:	31 d2                	xor    %edx,%edx
  104b6c:	b8 00 80 00 00       	mov    $0x8000,%eax
  104b71:	f7 f1                	div    %ecx
	if(_num_vcs > MAX_VC)
  104b73:	83 f8 0c             	cmp    $0xc,%eax
  104b76:	a3 20 3a 18 00       	mov    %eax,0x183a20
  104b7b:	76 0a                	jbe    104b87 <init_video+0x6f>
		_num_vcs = MAX_VC;
  104b7d:	c7 05 20 3a 18 00 0c 	movl   $0xc,0x183a20
  104b84:	00 00 00 

	/**
	 * init VCs, with a different foreground color for each
	 */
	for(i = 0; i < _num_vcs; i++)
  104b87:	31 f6                	xor    %esi,%esi
  104b89:	3b 35 20 3a 18 00    	cmp    0x183a20,%esi
  104b8f:	73 53                	jae    104be4 <init_video+0xcc>
  104b91:	bb e0 a2 19 00       	mov    $0x19a2e0,%ebx
  104b96:	89 f6                	mov    %esi,%esi
	{
		_curr_vc = _vc + i;
		//_curr_vc->attrib = i + 1;
		
		/* terminal foreground color */
		_curr_vc->attrib = 7;
		_curr_vc->fb_adr = _vga_fb_adr +
  104b98:	a1 34 3a 18 00       	mov    0x183a34,%eax
  104b9d:	0f af 05 30 3a 18 00 	imul   0x183a30,%eax
  104ba4:	8b 15 28 3a 18 00    	mov    0x183a28,%edx
  104baa:	0f af c6             	imul   %esi,%eax
			_vc_width * _vc_height * i;

		/**
		 * ESC[2J clears the screen
		 */
		//kprintf("\x1B[2J  this is VC#%u (of 0-%u)\n",
		//	i, _num_vcs - 1);
		printf("\x1B[2J");
  104bad:	83 ec 0c             	sub    $0xc,%esp
  104bb0:	8d 04 42             	lea    (%edx,%eax,2),%eax
  104bb3:	c7 43 18 07 00 00 00 	movl   $0x7,0x18(%ebx)
  104bba:	89 43 30             	mov    %eax,0x30(%ebx)
  104bbd:	68 00 63 10 00       	push   $0x106300
  104bc2:	89 1d 24 3a 18 00    	mov    %ebx,0x183a24
  104bc8:	e8 07 05 00 00       	call   1050d4 <printf>

		if(i != 0)
  104bcd:	83 c4 10             	add    $0x10,%esp
  104bd0:	85 f6                	test   %esi,%esi
  104bd2:	0f 85 c0 00 00 00    	jne    104c98 <init_video+0x180>
  104bd8:	46                   	inc    %esi
  104bd9:	83 c3 34             	add    $0x34,%ebx
  104bdc:	3b 35 20 3a 18 00    	cmp    0x183a20,%esi
  104be2:	72 b4                	jb     104b98 <init_video+0x80>
			printf("$ ");
	}
	select_vc(0);
  104be4:	83 ec 0c             	sub    $0xc,%esp
  104be7:	6a 00                	push   $0x0
  104be9:	e8 16 fc ff ff       	call   104804 <select_vc>
	curr_vtty = 0;

	_curr_vc->attrib = 8;
  104bee:	a1 24 3a 18 00       	mov    0x183a24,%eax
  104bf3:	c7 05 c0 a2 19 00 00 	movl   $0x0,0x19a2c0
  104bfa:	00 00 00 
  104bfd:	c7 40 18 08 00 00 00 	movl   $0x8,0x18(%eax)
	printf("[ ");
  104c04:	c7 04 24 b6 51 10 00 	movl   $0x1051b6,(%esp,1)
  104c0b:	e8 c4 04 00 00       	call   1050d4 <printf>
	_curr_vc->attrib = 15;
  104c10:	a1 24 3a 18 00       	mov    0x183a24,%eax
  104c15:	c7 40 18 0f 00 00 00 	movl   $0xf,0x18(%eax)
	printf("init: video %5s emulation, %2ux%2u, framebuffer at 0x%1X ",
  104c1c:	5b                   	pop    %ebx
  104c1d:	ff 35 28 3a 18 00    	pushl  0x183a28
  104c23:	ff 35 34 3a 18 00    	pushl  0x183a34
  104c29:	81 3d 2c 3a 18 00 d4 	cmpl   $0x3d4,0x183a2c
  104c30:	03 00 00 
  104c33:	ff 35 30 3a 18 00    	pushl  0x183a30
  104c39:	74 54                	je     104c8f <init_video+0x177>
  104c3b:	b8 05 63 10 00       	mov    $0x106305,%eax
  104c40:	50                   	push   %eax
  104c41:	68 40 63 10 00       	push   $0x106340
  104c46:	e8 89 04 00 00       	call   1050d4 <printf>
			(_crtc_io_adr == 0x3D4) ? "color" : "mono",
			_vc_width, _vc_height, _vga_fb_adr);
	_curr_vc->attrib = 8;
	printf("]................");
  104c4b:	83 c4 14             	add    $0x14,%esp
  104c4e:	a1 24 3a 18 00       	mov    0x183a24,%eax
  104c53:	c7 40 18 08 00 00 00 	movl   $0x8,0x18(%eax)
  104c5a:	68 0a 63 10 00       	push   $0x10630a
  104c5f:	e8 70 04 00 00       	call   1050d4 <printf>
	_curr_vc->attrib = 2;
  104c64:	a1 24 3a 18 00       	mov    0x183a24,%eax
  104c69:	c7 40 18 02 00 00 00 	movl   $0x2,0x18(%eax)
	printf("Ok");
  104c70:	c7 04 24 d9 54 10 00 	movl   $0x1054d9,(%esp,1)
  104c77:	e8 58 04 00 00       	call   1050d4 <printf>
	_curr_vc->attrib = 7;
  104c7c:	a1 24 3a 18 00       	mov    0x183a24,%eax
  104c81:	c7 40 18 07 00 00 00 	movl   $0x7,0x18(%eax)
}
  104c88:	8d 65 f8             	lea    0xfffffff8(%ebp),%esp
  104c8b:	5b                   	pop    %ebx
  104c8c:	5e                   	pop    %esi
  104c8d:	c9                   	leave  
  104c8e:	c3                   	ret    
  104c8f:	b8 1c 63 10 00       	mov    $0x10631c,%eax
  104c94:	eb aa                	jmp    104c40 <init_video+0x128>
  104c96:	89 f6                	mov    %esi,%esi
  104c98:	83 ec 0c             	sub    $0xc,%esp
  104c9b:	68 d6 54 10 00       	push   $0x1054d6
  104ca0:	e8 2f 04 00 00       	call   1050d4 <printf>
  104ca5:	83 c4 10             	add    $0x10,%esp
  104ca8:	e9 2b ff ff ff       	jmp    104bd8 <init_video+0xc0>
  104cad:	c7 05 28 3a 18 00 00 	movl   $0xb0000,0x183a28
  104cb4:	00 0b 00 
  104cb7:	c7 05 2c 3a 18 00 b4 	movl   $0x3b4,0x183a2c
  104cbe:	03 00 00 
  104cc1:	e9 83 fe ff ff       	jmp    104b49 <init_video+0x31>
	...

00104cc8 <disable>:
/*****************************************************************************
*****************************************************************************/
unsigned disable(void)
{
  104cc8:	55                   	push   %ebp
  104cc9:	89 e5                	mov    %esp,%ebp
	unsigned ret_val;

	__asm__ __volatile__("pushfl\n"
  104ccb:	9c                   	pushf  
  104ccc:	58                   	pop    %eax
  104ccd:	fa                   	cli    
		"popl %0\n"
		"cli"
		: "=a"(ret_val)
		:);
	return ret_val;
}
  104cce:	c9                   	leave  
  104ccf:	c3                   	ret    

00104cd0 <do_printf>:
2^32-1 in base 8 has 11 digits (add 5 for trailing NUL and for slop) */
#define		PR_BUFLEN	16

int do_printf(const char *fmt, va_list args, fnptr_t fn, void *ptr)
{
  104cd0:	55                   	push   %ebp
  104cd1:	89 e5                	mov    %esp,%ebp
  104cd3:	57                   	push   %edi
  104cd4:	56                   	push   %esi
  104cd5:	53                   	push   %ebx
  104cd6:	83 ec 2c             	sub    $0x2c,%esp
  104cd9:	8b 75 08             	mov    0x8(%ebp),%esi
	unsigned state, flags, radix, actual_wd, count, given_wd;
	unsigned char *where, buf[PR_BUFLEN];
	long num;

	state = flags = count = given_wd = 0;
  104cdc:	c7 45 cc 00 00 00 00 	movl   $0x0,0xffffffcc(%ebp)
  104ce3:	c7 45 d0 00 00 00 00 	movl   $0x0,0xffffffd0(%ebp)
  104cea:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
/* begin scanning format specifier list */
	for(; *fmt; fmt++)
  104cf1:	8a 0e                	mov    (%esi),%cl
  104cf3:	31 db                	xor    %ebx,%ebx
  104cf5:	84 c9                	test   %cl,%cl
  104cf7:	74 38                	je     104d31 <do_printf+0x61>
  104cf9:	8d 76 00             	lea    0x0(%esi),%esi
	{
		switch(state)
  104cfc:	83 fb 04             	cmp    $0x4,%ebx
  104cff:	0f 87 d7 01 00 00    	ja     104edc <do_printf+0x20c>
  104d05:	ff 24 9d 7c 63 10 00 	jmp    *0x10637c(,%ebx,4)
		{
/* STATE 0: AWAITING % */
		case 0:
			if(*fmt != '%')	/* not %... */
  104d0c:	80 f9 25             	cmp    $0x25,%cl
  104d0f:	74 2b                	je     104d3c <do_printf+0x6c>
			{
				fn(*fmt, &ptr);	/* ...just echo it */
  104d11:	83 ec 08             	sub    $0x8,%esp
  104d14:	8d 45 14             	lea    0x14(%ebp),%eax
  104d17:	50                   	push   %eax
  104d18:	0f be c1             	movsbl %cl,%eax
  104d1b:	50                   	push   %eax
  104d1c:	ff 55 10             	call   *0x10(%ebp)
				count++;
  104d1f:	ff 45 d0             	incl   0xffffffd0(%ebp)
				break;
			}
/* found %, get next char and advance state to check if next char is a flag */
			state++;
			fmt++;
			/* FALL THROUGH */
/* STATE 1: AWAITING FLAGS (%-0) */
		case 1:
			if(*fmt == '%')	/* %% */
			{
				fn(*fmt, &ptr);
				count++;
				state = flags = given_wd = 0;
				break;
  104d22:	83 c4 10             	add    $0x10,%esp
  104d25:	8d 76 00             	lea    0x0(%esi),%esi
  104d28:	46                   	inc    %esi
  104d29:	8a 06                	mov    (%esi),%al
  104d2b:	84 c0                	test   %al,%al
  104d2d:	88 c1                	mov    %al,%cl
  104d2f:	75 cb                	jne    104cfc <do_printf+0x2c>
			}
			if(*fmt == '-')
			{
				if(flags & PR_LJ)/* %-- is illegal */
					state = flags = given_wd = 0;
				else
					flags |= PR_LJ;
				break;
			}
/* not a flag char: advance state to check if it's field width */
			state++;
/* check now for '%0...' */
			if(*fmt == '0')
			{
				flags |= PR_LZ;
				fmt++;
			}
			/* FALL THROUGH */
/* STATE 2: AWAITING (NUMERIC) FIELD WIDTH */
		case 2:
			if(*fmt >= '0' && *fmt <= '9')
			{
				given_wd = 10 * given_wd +
					(*fmt - '0');
				break;
			}
/* not field width: advance state to check if it's a modifier */
			state++;
			/* FALL THROUGH */
/* STATE 3: AWAITING MODIFIER CHARS (FNlh) */
		case 3:
			if(*fmt == 'F')
			{
				flags |= PR_FP;
				break;
			}
			if(*fmt == 'N')
				break;
			if(*fmt == 'l')
			{
				flags |= PR_32;
				break;
			}
			if(*fmt == 'h')
			{
				flags |= PR_16;
				break;
			}
/* not modifier: advance state to check if it's a conversion char */
			state++;
			/* FALL THROUGH */
/* STATE 4: AWAITING CONVERSION CHARS (Xxpndiuocs) */
		case 4:
			where = buf + PR_BUFLEN - 1;
			*where = '\0';
			switch(*fmt)
			{
			case 'X':
				flags |= PR_CA;
				/* FALL THROUGH */
/* xxx - far pointers (%Fp, %Fn) not yet supported */
			case 'x':
			case 'p':
			case 'n':
				radix = 16;
				goto DO_NUM;
			case 'd':
			case 'i':
				flags |= PR_SG;
				/* FALL THROUGH */
			case 'u':
				radix = 10;
				goto DO_NUM;
			case 'o':
				radix = 8;
/* load the value to be printed. l=long=32 bits: */
DO_NUM:				if(flags & PR_32)
					num = va_arg(args, unsigned long);
/* h=short=16 bits (signed or unsigned) */
				else if(flags & PR_16)
				{
					if(flags & PR_SG)
						num = va_arg(args, short);
					else
						num = va_arg(args, unsigned short);
				}
/* no h nor l: sizeof(int) bits (signed or unsigned) */
				else
				{
					if(flags & PR_SG)
						num = va_arg(args, int);
					else
						num = va_arg(args, unsigned int);
				}
/* take care of sign */
				if(flags & PR_SG)
				{
					if(num < 0)
					{
						flags |= PR_WS;
						num = -num;
					}
				}
/* convert binary to octal/decimal/hex ASCII
OK, I found my mistake. The math here is _always_ unsigned */
				do
				{
					unsigned long temp;

					temp = (unsigned long)num % radix;
					where--;
					if(temp < 10)
						*where = temp + '0';
					else if(flags & PR_CA)
						*where = temp - 10 + 'A';
					else
						*where = temp - 10 + 'a';
					num = (unsigned long)num / radix;
				}
				while(num != 0);
				goto EMIT;
			case 'c':
/* disallow pad-left-with-zeroes for %c */
				flags &= ~PR_LZ;
				where--;
				*where = (unsigned char)va_arg(args,
					unsigned char);
				actual_wd = 1;
				goto EMIT2;
			case 's':
/* disallow pad-left-with-zeroes for %s */
				flags &= ~PR_LZ;
				where = va_arg(args, unsigned char *);
EMIT:
				actual_wd = strlen(where);
				if(flags & PR_WS)
					actual_wd++;
/* if we pad left with ZEROES, do the sign now */
				if((flags & (PR_WS | PR_LZ)) ==
					(PR_WS | PR_LZ))
				{
					fn('-', &ptr);
					count++;
				}
/* pad on left with spaces or zeroes (for right justify) */
EMIT2:				if((flags & PR_LJ) == 0)
				{
					while(given_wd > actual_wd)
					{
						fn(flags & PR_LZ ? '0' :
							' ', &ptr);
						count++;
						given_wd--;
					}
				}
/* if we pad left with SPACES, do the sign now */
				if((flags & (PR_WS | PR_LZ)) == PR_WS)
				{
					fn('-', &ptr);
					count++;
				}
/* emit string/char/converted number */
				while(*where != '\0')
				{
					fn(*where++, &ptr);
					count++;
				}
/* pad on right with spaces (for left justify) */
				if(given_wd < actual_wd)
					given_wd = 0;
				else given_wd -= actual_wd;
				for(; given_wd; given_wd--)
				{
					fn(' ', &ptr);
					count++;
				}
				break;
			default:
				break;
			}
		default:
			state = flags = given_wd = 0;
			break;
		}
	}
	return count;
}
  104d31:	8b 45 d0             	mov    0xffffffd0(%ebp),%eax
  104d34:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
  104d37:	5b                   	pop    %ebx
  104d38:	5e                   	pop    %esi
  104d39:	5f                   	pop    %edi
  104d3a:	c9                   	leave  
  104d3b:	c3                   	ret    
  104d3c:	46                   	inc    %esi
  104d3d:	43                   	inc    %ebx
  104d3e:	8a 0e                	mov    (%esi),%cl
  104d40:	80 f9 25             	cmp    $0x25,%cl
  104d43:	0f 84 9d 02 00 00    	je     104fe6 <do_printf+0x316>
  104d49:	80 f9 2d             	cmp    $0x2d,%cl
  104d4c:	0f 84 81 02 00 00    	je     104fd3 <do_printf+0x303>
  104d52:	43                   	inc    %ebx
  104d53:	80 f9 30             	cmp    $0x30,%cl
  104d56:	0f 84 6b 02 00 00    	je     104fc7 <do_printf+0x2f7>
  104d5c:	8d 41 d0             	lea    0xffffffd0(%ecx),%eax
  104d5f:	3c 09                	cmp    $0x9,%al
  104d61:	77 12                	ja     104d75 <do_printf+0xa5>
  104d63:	8b 45 cc             	mov    0xffffffcc(%ebp),%eax
  104d66:	8d 14 80             	lea    (%eax,%eax,4),%edx
  104d69:	0f be c1             	movsbl %cl,%eax
  104d6c:	8d 54 50 d0          	lea    0xffffffd0(%eax,%edx,2),%edx
  104d70:	89 55 cc             	mov    %edx,0xffffffcc(%ebp)
  104d73:	eb b3                	jmp    104d28 <do_printf+0x58>
  104d75:	43                   	inc    %ebx
  104d76:	80 f9 46             	cmp    $0x46,%cl
  104d79:	0f 84 3c 02 00 00    	je     104fbb <do_printf+0x2eb>
  104d7f:	80 f9 4e             	cmp    $0x4e,%cl
  104d82:	74 a4                	je     104d28 <do_printf+0x58>
  104d84:	80 f9 6c             	cmp    $0x6c,%cl
  104d87:	0f 84 25 02 00 00    	je     104fb2 <do_printf+0x2e2>
  104d8d:	80 f9 68             	cmp    $0x68,%cl
  104d90:	0f 84 13 02 00 00    	je     104fa9 <do_printf+0x2d9>
  104d96:	89 f6                	mov    %esi,%esi
  104d98:	0f be c1             	movsbl %cl,%eax
  104d9b:	83 e8 58             	sub    $0x58,%eax
  104d9e:	83 f8 20             	cmp    $0x20,%eax
  104da1:	8d 7d e7             	lea    0xffffffe7(%ebp),%edi
  104da4:	c6 45 e7 00          	movb   $0x0,0xffffffe7(%ebp)
  104da8:	0f 87 2e 01 00 00    	ja     104edc <do_printf+0x20c>
  104dae:	ff 24 85 90 63 10 00 	jmp    *0x106390(,%eax,4)
  104db5:	83 4d d4 02          	orl    $0x2,0xffffffd4(%ebp)
  104db9:	bb 10 00 00 00       	mov    $0x10,%ebx
  104dbe:	f6 45 d4 08          	testb  $0x8,0xffffffd4(%ebp)
  104dc2:	0f 85 8c 01 00 00    	jne    104f54 <do_printf+0x284>
  104dc8:	f6 45 d4 10          	testb  $0x10,0xffffffd4(%ebp)
  104dcc:	0f 84 6d 01 00 00    	je     104f3f <do_printf+0x26f>
  104dd2:	f6 45 d4 04          	testb  $0x4,0xffffffd4(%ebp)
  104dd6:	0f 84 53 01 00 00    	je     104f2f <do_printf+0x25f>
  104ddc:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
  104de0:	8b 45 0c             	mov    0xc(%ebp),%eax
  104de3:	0f bf 48 fc          	movswl 0xfffffffc(%eax),%ecx
  104de7:	f6 45 d4 04          	testb  $0x4,0xffffffd4(%ebp)
  104deb:	74 08                	je     104df5 <do_printf+0x125>
  104ded:	85 c9                	test   %ecx,%ecx
  104def:	0f 88 2f 01 00 00    	js     104f24 <do_printf+0x254>
  104df5:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
  104df8:	83 e0 02             	and    $0x2,%eax
  104dfb:	89 45 c8             	mov    %eax,0xffffffc8(%ebp)
  104dfe:	89 f6                	mov    %esi,%esi
  104e00:	31 d2                	xor    %edx,%edx
  104e02:	89 c8                	mov    %ecx,%eax
  104e04:	f7 f3                	div    %ebx
  104e06:	4f                   	dec    %edi
  104e07:	83 fa 09             	cmp    $0x9,%edx
  104e0a:	8d 42 30             	lea    0x30(%edx),%eax
  104e0d:	76 11                	jbe    104e20 <do_printf+0x150>
  104e0f:	8b 45 c8             	mov    0xffffffc8(%ebp),%eax
  104e12:	85 c0                	test   %eax,%eax
  104e14:	0f 84 02 01 00 00    	je     104f1c <do_printf+0x24c>
  104e1a:	8d 42 37             	lea    0x37(%edx),%eax
  104e1d:	8d 76 00             	lea    0x0(%esi),%esi
  104e20:	31 d2                	xor    %edx,%edx
  104e22:	88 07                	mov    %al,(%edi)
  104e24:	89 c8                	mov    %ecx,%eax
  104e26:	f7 f3                	div    %ebx
  104e28:	85 c0                	test   %eax,%eax
  104e2a:	89 c1                	mov    %eax,%ecx
  104e2c:	75 d2                	jne    104e00 <do_printf+0x130>
  104e2e:	83 ec 0c             	sub    $0xc,%esp
  104e31:	57                   	push   %edi
  104e32:	e8 21 03 00 00       	call   105158 <strlen>
  104e37:	83 c4 10             	add    $0x10,%esp
  104e3a:	f6 45 d4 20          	testb  $0x20,0xffffffd4(%ebp)
  104e3e:	89 c3                	mov    %eax,%ebx
  104e40:	74 01                	je     104e43 <do_printf+0x173>
  104e42:	43                   	inc    %ebx
  104e43:	8b 45 d4             	mov    0xffffffd4(%ebp),%eax
  104e46:	83 e0 60             	and    $0x60,%eax
  104e49:	83 f8 60             	cmp    $0x60,%eax
  104e4c:	0f 84 b3 00 00 00    	je     104f05 <do_printf+0x235>
  104e52:	f6 45 d4 01          	testb  $0x1,0xffffffd4(%ebp)
  104e56:	75 31                	jne    104e89 <do_printf+0x1b9>
  104e58:	39 5d cc             	cmp    %ebx,0xffffffcc(%ebp)
  104e5b:	76 2c                	jbe    104e89 <do_printf+0x1b9>
  104e5d:	8d 76 00             	lea    0x0(%esi),%esi
  104e60:	83 ec 08             	sub    $0x8,%esp
  104e63:	8d 45 14             	lea    0x14(%ebp),%eax
  104e66:	f6 45 d4 40          	testb  $0x40,0xffffffd4(%ebp)
  104e6a:	50                   	push   %eax
  104e6b:	b8 30 00 00 00       	mov    $0x30,%eax
  104e70:	75 05                	jne    104e77 <do_printf+0x1a7>
  104e72:	b8 20 00 00 00       	mov    $0x20,%eax
  104e77:	50                   	push   %eax
  104e78:	ff 55 10             	call   *0x10(%ebp)
  104e7b:	ff 4d cc             	decl   0xffffffcc(%ebp)
  104e7e:	ff 45 d0             	incl   0xffffffd0(%ebp)
  104e81:	83 c4 10             	add    $0x10,%esp
  104e84:	39 5d cc             	cmp    %ebx,0xffffffcc(%ebp)
  104e87:	77 d7                	ja     104e60 <do_printf+0x190>
  104e89:	83 65 d4 60          	andl   $0x60,0xffffffd4(%ebp)
  104e8d:	83 7d d4 20          	cmpl   $0x20,0xffffffd4(%ebp)
  104e91:	74 5e                	je     104ef1 <do_printf+0x221>
  104e93:	8a 07                	mov    (%edi),%al
  104e95:	84 c0                	test   %al,%al
  104e97:	74 1e                	je     104eb7 <do_printf+0x1e7>
  104e99:	8d 76 00             	lea    0x0(%esi),%esi
  104e9c:	83 ec 08             	sub    $0x8,%esp
  104e9f:	8d 55 14             	lea    0x14(%ebp),%edx
  104ea2:	52                   	push   %edx
  104ea3:	0f b6 c0             	movzbl %al,%eax
  104ea6:	50                   	push   %eax
  104ea7:	ff 55 10             	call   *0x10(%ebp)
  104eaa:	47                   	inc    %edi
  104eab:	ff 45 d0             	incl   0xffffffd0(%ebp)
  104eae:	8a 07                	mov    (%edi),%al
  104eb0:	83 c4 10             	add    $0x10,%esp
  104eb3:	84 c0                	test   %al,%al
  104eb5:	75 e5                	jne    104e9c <do_printf+0x1cc>
  104eb7:	39 5d cc             	cmp    %ebx,0xffffffcc(%ebp)
  104eba:	72 20                	jb     104edc <do_printf+0x20c>
  104ebc:	29 5d cc             	sub    %ebx,0xffffffcc(%ebp)
  104ebf:	74 1b                	je     104edc <do_printf+0x20c>
  104ec1:	8d 76 00             	lea    0x0(%esi),%esi
  104ec4:	83 ec 08             	sub    $0x8,%esp
  104ec7:	8d 45 14             	lea    0x14(%ebp),%eax
  104eca:	50                   	push   %eax
  104ecb:	6a 20                	push   $0x20
  104ecd:	ff 55 10             	call   *0x10(%ebp)
  104ed0:	ff 45 d0             	incl   0xffffffd0(%ebp)
  104ed3:	83 c4 10             	add    $0x10,%esp
  104ed6:	ff 4d cc             	decl   0xffffffcc(%ebp)
  104ed9:	75 e9                	jne    104ec4 <do_printf+0x1f4>
  104edb:	90                   	nop    
  104edc:	c7 45 cc 00 00 00 00 	movl   $0x0,0xffffffcc(%ebp)
  104ee3:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
  104eea:	31 db                	xor    %ebx,%ebx
  104eec:	e9 37 fe ff ff       	jmp    104d28 <do_printf+0x58>
  104ef1:	83 ec 08             	sub    $0x8,%esp
  104ef4:	8d 55 14             	lea    0x14(%ebp),%edx
  104ef7:	52                   	push   %edx
  104ef8:	6a 2d                	push   $0x2d
  104efa:	ff 55 10             	call   *0x10(%ebp)
  104efd:	ff 45 d0             	incl   0xffffffd0(%ebp)
  104f00:	83 c4 10             	add    $0x10,%esp
  104f03:	eb 8e                	jmp    104e93 <do_printf+0x1c3>
  104f05:	83 ec 08             	sub    $0x8,%esp
  104f08:	8d 55 14             	lea    0x14(%ebp),%edx
  104f0b:	52                   	push   %edx
  104f0c:	6a 2d                	push   $0x2d
  104f0e:	ff 55 10             	call   *0x10(%ebp)
  104f11:	ff 45 d0             	incl   0xffffffd0(%ebp)
  104f14:	83 c4 10             	add    $0x10,%esp
  104f17:	e9 36 ff ff ff       	jmp    104e52 <do_printf+0x182>
  104f1c:	8d 42 57             	lea    0x57(%edx),%eax
  104f1f:	e9 fc fe ff ff       	jmp    104e20 <do_printf+0x150>
  104f24:	83 4d d4 20          	orl    $0x20,0xffffffd4(%ebp)
  104f28:	f7 d9                	neg    %ecx
  104f2a:	e9 c6 fe ff ff       	jmp    104df5 <do_printf+0x125>
  104f2f:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
  104f33:	8b 55 0c             	mov    0xc(%ebp),%edx
  104f36:	0f b7 4a fc          	movzwl 0xfffffffc(%edx),%ecx
  104f3a:	e9 a8 fe ff ff       	jmp    104de7 <do_printf+0x117>
  104f3f:	f6 45 d4 04          	testb  $0x4,0xffffffd4(%ebp)
  104f43:	74 0f                	je     104f54 <do_printf+0x284>
  104f45:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
  104f49:	8b 45 0c             	mov    0xc(%ebp),%eax
  104f4c:	8b 48 fc             	mov    0xfffffffc(%eax),%ecx
  104f4f:	e9 93 fe ff ff       	jmp    104de7 <do_printf+0x117>
  104f54:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
  104f58:	8b 55 0c             	mov    0xc(%ebp),%edx
  104f5b:	8b 4a fc             	mov    0xfffffffc(%edx),%ecx
  104f5e:	e9 84 fe ff ff       	jmp    104de7 <do_printf+0x117>
  104f63:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
  104f67:	83 65 d4 bf          	andl   $0xffffffbf,0xffffffd4(%ebp)
  104f6b:	8b 55 0c             	mov    0xc(%ebp),%edx
  104f6e:	4f                   	dec    %edi
  104f6f:	8a 42 fc             	mov    0xfffffffc(%edx),%al
  104f72:	bb 01 00 00 00       	mov    $0x1,%ebx
  104f77:	88 07                	mov    %al,(%edi)
  104f79:	e9 d4 fe ff ff       	jmp    104e52 <do_printf+0x182>
  104f7e:	83 4d d4 04          	orl    $0x4,0xffffffd4(%ebp)
  104f82:	bb 0a 00 00 00       	mov    $0xa,%ebx
  104f87:	e9 32 fe ff ff       	jmp    104dbe <do_printf+0xee>
  104f8c:	bb 08 00 00 00       	mov    $0x8,%ebx
  104f91:	e9 28 fe ff ff       	jmp    104dbe <do_printf+0xee>
  104f96:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
  104f9a:	8b 45 0c             	mov    0xc(%ebp),%eax
  104f9d:	83 65 d4 bf          	andl   $0xffffffbf,0xffffffd4(%ebp)
  104fa1:	8b 78 fc             	mov    0xfffffffc(%eax),%edi
  104fa4:	e9 85 fe ff ff       	jmp    104e2e <do_printf+0x15e>
  104fa9:	83 4d d4 10          	orl    $0x10,0xffffffd4(%ebp)
  104fad:	e9 76 fd ff ff       	jmp    104d28 <do_printf+0x58>
  104fb2:	83 4d d4 08          	orl    $0x8,0xffffffd4(%ebp)
  104fb6:	e9 6d fd ff ff       	jmp    104d28 <do_printf+0x58>
  104fbb:	81 4d d4 80 00 00 00 	orl    $0x80,0xffffffd4(%ebp)
  104fc2:	e9 61 fd ff ff       	jmp    104d28 <do_printf+0x58>
  104fc7:	83 4d d4 40          	orl    $0x40,0xffffffd4(%ebp)
  104fcb:	46                   	inc    %esi
  104fcc:	8a 0e                	mov    (%esi),%cl
  104fce:	e9 89 fd ff ff       	jmp    104d5c <do_printf+0x8c>
  104fd3:	f6 45 d4 01          	testb  $0x1,0xffffffd4(%ebp)
  104fd7:	0f 85 ff fe ff ff    	jne    104edc <do_printf+0x20c>
  104fdd:	83 4d d4 01          	orl    $0x1,0xffffffd4(%ebp)
  104fe1:	e9 42 fd ff ff       	jmp    104d28 <do_printf+0x58>
  104fe6:	83 ec 08             	sub    $0x8,%esp
  104fe9:	8d 55 14             	lea    0x14(%ebp),%edx
  104fec:	52                   	push   %edx
  104fed:	6a 25                	push   $0x25
  104fef:	ff 55 10             	call   *0x10(%ebp)
  104ff2:	31 db                	xor    %ebx,%ebx
  104ff4:	ff 45 d0             	incl   0xffffffd0(%ebp)
  104ff7:	c7 45 cc 00 00 00 00 	movl   $0x0,0xffffffcc(%ebp)
  104ffe:	c7 45 d4 00 00 00 00 	movl   $0x0,0xffffffd4(%ebp)
  105005:	e9 18 fd ff ff       	jmp    104d22 <do_printf+0x52>
	...

0010500c <enable>:
/*****************************************************************************
*****************************************************************************/
void enable(void)
{
  10500c:	55                   	push   %ebp
  10500d:	89 e5                	mov    %esp,%ebp
	__asm__ __volatile__("sti"
  10500f:	fb                   	sti    
		:
		:
		);
}
  105010:	c9                   	leave  
  105011:	c3                   	ret    
	...

00105014 <inportb>:
/*****************************************************************************
*****************************************************************************/
unsigned inportb(unsigned short port)
{
  105014:	55                   	push   %ebp
  105015:	89 e5                	mov    %esp,%ebp
  105017:	8b 55 08             	mov    0x8(%ebp),%edx
	unsigned char ret_val;

	__asm__ __volatile__("inb %1,%0"
  10501a:	ec                   	in     (%dx),%al
		: "=a"(ret_val)
		: "d"(port));
	return ret_val;
  10501b:	0f b6 c0             	movzbl %al,%eax
}
  10501e:	c9                   	leave  
  10501f:	c3                   	ret    

00105020 <longjmp>:
4. Save/restore the floating-point state when entering/leaving
   the kernel (protected OS only)
*****************************************************************************/
void longjmp(jmp_buf buf, int ret_val)
{
  105020:	55                   	push   %ebp
  105021:	89 e5                	mov    %esp,%ebp
  105023:	8b 45 0c             	mov    0xc(%ebp),%eax
	unsigned *esp;

/* make sure return value is not 0 */
	if(ret_val == 0)
  105026:	85 c0                	test   %eax,%eax
  105028:	75 05                	jne    10502f <longjmp+0xf>
		ret_val++;
  10502a:	b8 01 00 00 00       	mov    $0x1,%eax
/* EAX is used for return values, so store it in jmp_buf.EAX */
	buf->eax = ret_val;
  10502f:	8b 4d 08             	mov    0x8(%ebp),%ecx
  105032:	89 41 1c             	mov    %eax,0x1c(%ecx)
/* get ESP for new stack */
	esp = (unsigned *)buf->esp;
/* push EFLAGS on the new stack */
	esp--;
  105035:	8b 41 0c             	mov    0xc(%ecx),%eax
  105038:	83 e8 04             	sub    $0x4,%eax
	*esp = buf->eflags;
  10503b:	8b 51 24             	mov    0x24(%ecx),%edx
  10503e:	89 10                	mov    %edx,(%eax)
/* push current CS on the new stack */
	esp--;
  105040:	83 e8 04             	sub    $0x4,%eax
	__asm__ __volatile__(
  105043:	8c 08                	movl   %cs,(%eax)
		"mov %%cs,%0\n"
		: "=m"(*esp));
/* push EIP on the new stack */
	esp--;
  105045:	83 e8 04             	sub    $0x4,%eax
	*esp = buf->eip;
  105048:	8b 51 20             	mov    0x20(%ecx),%edx
  10504b:	89 10                	mov    %edx,(%eax)
/* new ESP is 12 bytes lower; update jmp_buf.ESP */
	buf->esp = (unsigned)esp;
  10504d:	89 41 0c             	mov    %eax,0xc(%ecx)
/* now, briefly, make the jmp_buf struct our stack */
	__asm__ __volatile__(
  105050:	8b 65 08             	mov    0x8(%ebp),%esp
  105053:	61                   	popa   
  105054:	8b 64 24 ec          	mov    0xffffffec(%esp,1),%esp
  105058:	cf                   	iret   
		"movl %0,%%esp\n"
/* ESP now points to 8 general-purpose registers stored in jmp_buf
Pop them */
		"popa\n"
/* load new stack pointer from jmp_buf */
		"movl -20(%%esp),%%esp\n"
/* ESP now points to new stack, with the IRET frame (EIP, CS, EFLAGS)
we created just above. Pop these registers: */
		"iret\n"
		:
		: "m"(buf));
}
  105059:	c9                   	leave  
  10505a:	c3                   	ret    
	...

0010505c <memcpy>:
void *memcpy(void *s, const void *t, unsigned n)
{
  10505c:	55                   	push   %ebp
  10505d:	89 e5                	mov    %esp,%ebp
	void *ret = s;

	while(n--)
  10505f:	8b 55 10             	mov    0x10(%ebp),%edx
  105062:	56                   	push   %esi
  105063:	4a                   	dec    %edx
  105064:	53                   	push   %ebx
  105065:	83 fa ff             	cmp    $0xffffffff,%edx
  105068:	8b 5d 08             	mov    0x8(%ebp),%ebx
  10506b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
  10506e:	89 de                	mov    %ebx,%esi
  105070:	74 0e                	je     105080 <memcpy+0x24>
  105072:	89 f6                	mov    %esi,%esi
	{
		*(char *)s = *(char *)t;
  105074:	8a 01                	mov    (%ecx),%al
		s = (char *)s + 1;
		t = (char *)t + 1;
  105076:	4a                   	dec    %edx
  105077:	88 03                	mov    %al,(%ebx)
  105079:	41                   	inc    %ecx
  10507a:	43                   	inc    %ebx
  10507b:	83 fa ff             	cmp    $0xffffffff,%edx
  10507e:	75 f4                	jne    105074 <memcpy+0x18>
	}

	return ret;
}
  105080:	5b                   	pop    %ebx
  105081:	89 f0                	mov    %esi,%eax
  105083:	5e                   	pop    %esi
  105084:	c9                   	leave  
  105085:	c3                   	ret    
	...

00105088 <memsetw>:

void *memsetw(void *s, short i, unsigned n)
{
  105088:	55                   	push   %ebp
  105089:	89 e5                	mov    %esp,%ebp
	void *start = s;

	while(n--)
  10508b:	8b 55 10             	mov    0x10(%ebp),%edx
  10508e:	4a                   	dec    %edx
  10508f:	8b 4d 08             	mov    0x8(%ebp),%ecx
  105092:	83 fa ff             	cmp    $0xffffffff,%edx
  105095:	53                   	push   %ebx
  105096:	8b 45 0c             	mov    0xc(%ebp),%eax
  105099:	89 cb                	mov    %ecx,%ebx
  10509b:	74 0f                	je     1050ac <memsetw+0x24>
  10509d:	8d 76 00             	lea    0x0(%esi),%esi
	{
		*(short *)s = (short)i;
		s = (short *)s + 1;
  1050a0:	4a                   	dec    %edx
  1050a1:	66 89 01             	mov    %ax,(%ecx)
  1050a4:	83 c1 02             	add    $0x2,%ecx
  1050a7:	83 fa ff             	cmp    $0xffffffff,%edx
  1050aa:	75 f4                	jne    1050a0 <memsetw+0x18>
	}

	return(start);
}
  1050ac:	89 d8                	mov    %ebx,%eax
  1050ae:	5b                   	pop    %ebx
  1050af:	c9                   	leave  
  1050b0:	c3                   	ret    
  1050b1:	00 00                	add    %al,(%eax)
	...

001050b4 <outportb>:
/*****************************************************************************
*****************************************************************************/
void outportb(unsigned port, unsigned val)
{
  1050b4:	55                   	push   %ebp
  1050b5:	89 e5                	mov    %esp,%ebp
  1050b7:	8b 55 08             	mov    0x8(%ebp),%edx
  1050ba:	8b 45 0c             	mov    0xc(%ebp),%eax
	__asm__ __volatile__("outb %b0,%w1"
  1050bd:	ee                   	out    %al,(%dx)
		:
		: "a"(val), "d"(port));
}
  1050be:	c9                   	leave  
  1050bf:	c3                   	ret    

001050c0 <printf_help>:
int do_printf(const char *fmt, va_list args, fnptr_t fn, void *ptr);
void putch(unsigned c);

int printf_help(unsigned c, void **ptr)
{
  1050c0:	55                   	push   %ebp
  1050c1:	89 e5                	mov    %esp,%ebp
  1050c3:	83 ec 14             	sub    $0x14,%esp
	/**
	 * Leave this for now
	 */
	ptr = ptr;

	putch(c);
  1050c6:	ff 75 08             	pushl  0x8(%ebp)
  1050c9:	e8 32 fa ff ff       	call   104b00 <putch>
	return 0;
}
  1050ce:	31 c0                	xor    %eax,%eax
  1050d0:	c9                   	leave  
  1050d1:	c3                   	ret    
  1050d2:	89 f6                	mov    %esi,%esi

001050d4 <printf>:

void printf(const char *fmt, ...)
{
  1050d4:	55                   	push   %ebp
  1050d5:	89 e5                	mov    %esp,%ebp
  1050d7:	83 ec 08             	sub    $0x8,%esp
	va_list args;

	va_start(args, fmt);
	(void)do_printf(fmt, args, printf_help, NULL);
  1050da:	6a 00                	push   $0x0
  1050dc:	68 c0 50 10 00       	push   $0x1050c0
  1050e1:	8d 45 0c             	lea    0xc(%ebp),%eax
  1050e4:	50                   	push   %eax
  1050e5:	ff 75 08             	pushl  0x8(%ebp)
  1050e8:	e8 e3 fb ff ff       	call   104cd0 <do_printf>
	va_end(args);
}
  1050ed:	c9                   	leave  
  1050ee:	c3                   	ret    
	...

001050f0 <strcmp>:
int strcmp(const char * src, const char * dst)
{
  1050f0:	55                   	push   %ebp
  1050f1:	89 e5                	mov    %esp,%ebp
  1050f3:	56                   	push   %esi
  1050f4:	53                   	push   %ebx
  1050f5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  1050f8:	8b 75 08             	mov    0x8(%ebp),%esi
	int ret = 0 ;

	while(!(ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
  1050fb:	8a 0b                	mov    (%ebx),%cl
  1050fd:	0f b6 c1             	movzbl %cl,%eax
  105100:	0f b6 16             	movzbl (%esi),%edx
  105103:	29 c2                	sub    %eax,%edx
  105105:	89 d0                	mov    %edx,%eax
  105107:	75 1b                	jne    105124 <strcmp+0x34>
  105109:	84 c9                	test   %cl,%cl
  10510b:	74 17                	je     105124 <strcmp+0x34>
  10510d:	8d 76 00             	lea    0x0(%esi),%esi
		++src, ++dst;
  105110:	43                   	inc    %ebx
  105111:	46                   	inc    %esi
  105112:	8a 0b                	mov    (%ebx),%cl
  105114:	0f b6 c1             	movzbl %cl,%eax
  105117:	0f b6 16             	movzbl (%esi),%edx
  10511a:	29 c2                	sub    %eax,%edx
  10511c:	89 d0                	mov    %edx,%eax
  10511e:	75 04                	jne    105124 <strcmp+0x34>
  105120:	84 c9                	test   %cl,%cl
  105122:	75 ec                	jne    105110 <strcmp+0x20>

	if(ret < 0)
  105124:	85 c0                	test   %eax,%eax
  105126:	78 0d                	js     105135 <strcmp+0x45>
		ret = -1 ;
	else if(ret > 0)
  105128:	85 c0                	test   %eax,%eax
  10512a:	7e 05                	jle    105131 <strcmp+0x41>
		ret = 1 ;
  10512c:	b8 01 00 00 00       	mov    $0x1,%eax

	return(ret);
}
  105131:	5b                   	pop    %ebx
  105132:	5e                   	pop    %esi
  105133:	c9                   	leave  
  105134:	c3                   	ret    
  105135:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
  10513a:	eb f5                	jmp    105131 <strcmp+0x41>

0010513c <strcpy>:

char *strcpy(char *s, const char *t)
{
  10513c:	55                   	push   %ebp
  10513d:	89 e5                	mov    %esp,%ebp
  10513f:	8b 4d 08             	mov    0x8(%ebp),%ecx
  105142:	8b 55 0c             	mov    0xc(%ebp),%edx
  105145:	8d 76 00             	lea    0x0(%esi),%esi
	while((*(s++) = *(t++)));
  105148:	8a 02                	mov    (%edx),%al
  10514a:	88 01                	mov    %al,(%ecx)
  10514c:	42                   	inc    %edx
  10514d:	41                   	inc    %ecx
  10514e:	84 c0                	test   %al,%al
  105150:	75 f6                	jne    105148 <strcpy+0xc>

	return s;
}
  105152:	89 c8                	mov    %ecx,%eax
  105154:	c9                   	leave  
  105155:	c3                   	ret    
	...

00105158 <strlen>:
#include <string.h> /* size_t */
/*****************************************************************************
*****************************************************************************/
size_t strlen(const char *str)
{
  105158:	55                   	push   %ebp
  105159:	89 e5                	mov    %esp,%ebp
  10515b:	8b 55 08             	mov    0x8(%ebp),%edx
	size_t ret_val;

	for(ret_val = 0; *str != '\0'; str++)
  10515e:	31 c0                	xor    %eax,%eax
  105160:	80 3a 00             	cmpb   $0x0,(%edx)
  105163:	74 0a                	je     10516f <strlen+0x17>
  105165:	8d 76 00             	lea    0x0(%esi),%esi
  105168:	42                   	inc    %edx
		ret_val++;
  105169:	40                   	inc    %eax
  10516a:	80 3a 00             	cmpb   $0x0,(%edx)
  10516d:	75 f9                	jne    105168 <strlen+0x10>
	return ret_val;
}
  10516f:	c9                   	leave  
  105170:	c3                   	ret    
  105171:	00 00                	add    %al,(%eax)
	...

00105174 <strncpy>:
#include <string.h> /* size_t */

char *strncpy(char * dest, const char * source, size_t count)
{
  105174:	55                   	push   %ebp
  105175:	89 e5                	mov    %esp,%ebp
  105177:	8b 55 10             	mov    0x10(%ebp),%edx
  10517a:	56                   	push   %esi
	char *start = dest;

	while(count && (*dest++ = *source++))    /* copy string */
  10517b:	85 d2                	test   %edx,%edx
  10517d:	53                   	push   %ebx
  10517e:	8b 75 08             	mov    0x8(%ebp),%esi
  105181:	8b 5d 0c             	mov    0xc(%ebp),%ebx
  105184:	74 2a                	je     1051b0 <strncpy+0x3c>
  105186:	8a 03                	mov    (%ebx),%al
  105188:	43                   	inc    %ebx
  105189:	84 c0                	test   %al,%al
  10518b:	88 06                	mov    %al,(%esi)
  10518d:	8d 4e 01             	lea    0x1(%esi),%ecx
  105190:	74 0f                	je     1051a1 <strncpy+0x2d>
  105192:	89 f6                	mov    %esi,%esi
		count--;
  105194:	4a                   	dec    %edx
  105195:	74 19                	je     1051b0 <strncpy+0x3c>
  105197:	8a 03                	mov    (%ebx),%al
  105199:	88 01                	mov    %al,(%ecx)
  10519b:	43                   	inc    %ebx
  10519c:	41                   	inc    %ecx
  10519d:	84 c0                	test   %al,%al
  10519f:	75 f3                	jne    105194 <strncpy+0x20>

	if(count)                              /* pad out with zeroes */
  1051a1:	85 d2                	test   %edx,%edx
  1051a3:	74 0b                	je     1051b0 <strncpy+0x3c>
		while(--count)
  1051a5:	4a                   	dec    %edx
  1051a6:	74 08                	je     1051b0 <strncpy+0x3c>
			*dest++ = '\0';
  1051a8:	c6 01 00             	movb   $0x0,(%ecx)
  1051ab:	41                   	inc    %ecx
  1051ac:	4a                   	dec    %edx
  1051ad:	75 f9                	jne    1051a8 <strncpy+0x34>
  1051af:	90                   	nop    

	return(start);
}
  1051b0:	5b                   	pop    %ebx
  1051b1:	89 f0                	mov    %esi,%eax
  1051b3:	5e                   	pop    %esi
  1051b4:	c9                   	leave  
  1051b5:	c3                   	ret    
  1051b6:	5b                   	pop    %ebx
  1051b7:	20 00                	and    %al,(%eax)
  1051b9:	25 73 3a 20 25       	and    $0x25203a73,%eax
  1051be:	73 00                	jae    1051c0 <strncpy+0x4c>
  1051c0:	20 5d 00             	and    %bl,0x0(%ebp)
  1051c3:	57                   	push   %edi
  1051c4:	61                   	popa   
  1051c5:	69 74 00 08 08 08 08 	imul   $0x46080808,0x8(%eax,%eax,1),%esi
  1051cc:	46 
  1051cd:	61                   	popa   
  1051ce:	69 6c 0a 00 08 08 08 	imul   $0x8080808,0x0(%edx,%ecx,1),%ebp
  1051d5:	08 
  1051d6:	2e 2e 00 4f 6b       	add    %cl,%cs:0x6b(%edi)
  1051db:	0a 00                	or     (%eax),%al
  1051dd:	25 30 32 58 20       	and    $0x20583230,%eax
  1051e2:	00 09                	add    %cl,(%ecx)
  1051e4:	00 25 63 00 75 53    	add    %ah,0x53750063
  1051ea:	50                   	push   %eax
  1051eb:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  1051f0:	20 75 53             	and    %dh,0x53(%ebp)
  1051f3:	53                   	push   %ebx
  1051f4:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  1051f9:	0a 00                	or     (%eax),%al
  1051fb:	00 00                	add    %al,(%eax)
  1051fd:	00 00                	add    %al,(%eax)
  1051ff:	00 45 44             	add    %al,0x44(%ebp)
  105202:	49                   	dec    %ecx
  105203:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105208:	20 45 53             	and    %al,0x53(%ebp)
  10520b:	49                   	dec    %ecx
  10520c:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105211:	20 45 42             	and    %al,0x42(%ebp)
  105214:	50                   	push   %eax
  105215:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  10521a:	20 45 53             	and    %al,0x53(%ebp)
  10521d:	50                   	push   %eax
  10521e:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105223:	0a 00                	or     (%eax),%al
	...
  10523d:	00 00                	add    %al,(%eax)
  10523f:	00 45 42             	add    %al,0x42(%ebp)
  105242:	58                   	pop    %eax
  105243:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105248:	20 45 44             	and    %al,0x44(%ebp)
  10524b:	58                   	pop    %eax
  10524c:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105251:	20 45 43             	and    %al,0x43(%ebp)
  105254:	58                   	pop    %eax
  105255:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  10525a:	20 45 41             	and    %al,0x41(%ebp)
  10525d:	58                   	pop    %eax
  10525e:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105263:	0a 00                	or     (%eax),%al
	...
  10527d:	00 00                	add    %al,(%eax)
  10527f:	00 20                	add    %ah,(%eax)
  105281:	44                   	inc    %esp
  105282:	53                   	push   %ebx
  105283:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105288:	20 20                	and    %ah,(%eax)
  10528a:	45                   	inc    %ebp
  10528b:	53                   	push   %ebx
  10528c:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  105291:	20 20                	and    %ah,(%eax)
  105293:	46                   	inc    %esi
  105294:	53                   	push   %ebx
  105295:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  10529a:	20 20                	and    %ah,(%eax)
  10529c:	47                   	inc    %edi
  10529d:	53                   	push   %ebx
  10529e:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  1052a3:	0a 00                	or     (%eax),%al
	...
  1052bd:	00 00                	add    %al,(%eax)
  1052bf:	00 69 6e             	add    %ch,0x6e(%ecx)
  1052c2:	74 3d                	je     105301 <strncpy+0x18d>
  1052c4:	25 30 38 58 20       	and    $0x20583830,%eax
  1052c9:	65                   	gs
  1052ca:	72 72                	jb     10533e <strncpy+0x1ca>
  1052cc:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  1052d1:	20 45 49             	and    %al,0x49(%ebp)
  1052d4:	50                   	push   %eax
  1052d5:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  1052da:	20 20                	and    %ah,(%eax)
  1052dc:	43                   	inc    %ebx
  1052dd:	53                   	push   %ebx
  1052de:	3d 25 30 38 58       	cmp    $0x58383025,%eax
  1052e3:	0a 00                	or     (%eax),%al
	...
  1052fd:	00 00                	add    %al,(%eax)
  1052ff:	00 64 75 6d          	add    %ah,0x6d(%ebp,%esi,2)
  105303:	70 68                	jo     10536d <strncpy+0x1f9>
  105305:	65                   	gs
  105306:	61                   	popa   
  105307:	70 00                	jo     105309 <strncpy+0x195>
  105309:	00 2d 68 00 00 00    	add    %ch,0x68
	...
  10531f:	00 50 72             	add    %dl,0x72(%eax)
  105322:	69 6e 74 20 6c 69 73 	imul   $0x73696c20,0x74(%esi),%ebp
  105329:	74 69                	je     105394 <strncpy+0x220>
  10532b:	6e                   	outsb  %ds:(%esi),(%dx)
  10532c:	67 20 6f 66          	addr16 and %ch,102(%bx)
  105330:	20 68 65             	and    %ch,0x65(%eax)
  105333:	61                   	popa   
  105334:	70 20                	jo     105356 <strncpy+0x1e2>
  105336:	75 73                	jne    1053ab <strncpy+0x237>
  105338:	61                   	popa   
  105339:	67 65 20 61 6e       	addr16 and %ah,%gs:110(%bx,%di)
  10533e:	64 20 73 74          	and    %dh,%fs:0x74(%ebx)
  105342:	61                   	popa   
  105343:	74 75                	je     1053ba <strncpy+0x246>
  105345:	73 2e                	jae    105375 <strncpy+0x201>
  105347:	00 00                	add    %al,(%eax)
  105349:	65 63 68 6f          	arpl   %bp,%gs:0x6f(%eax)
	...
  10535d:	00 00                	add    %al,(%eax)
  10535f:	00 45 63             	add    %al,0x63(%ebp)
  105362:	68 6f 20 61 20       	push   $0x2061206f
  105367:	6c                   	insb   (%dx),%es:(%edi)
  105368:	69 6e 65 20 6f 66 20 	imul   $0x20666f20,0x65(%esi),%ebp
  10536f:	74 65                	je     1053d6 <strncpy+0x262>
  105371:	78 74                	js     1053e7 <strncpy+0x273>
  105373:	20 74 6f 20          	and    %dh,0x20(%edi,%ebp,2)
  105377:	74 68                	je     1053e1 <strncpy+0x26d>
  105379:	65 20 74 65 72       	and    %dh,%gs:0x72(%ebp,2)
  10537e:	6d                   	insl   (%dx),%es:(%edi)
  10537f:	69 6e 61 6c 2e 00 00 	imul   $0x2e6c,0x61(%esi),%ebp
  105386:	68 65 6c 70 00       	push   $0x706c65
	...
  10539f:	00 44 69 73          	add    %al,0x73(%ecx,%ebp,2)
  1053a3:	70 6c                	jo     105411 <strncpy+0x29d>
  1053a5:	61                   	popa   
  1053a6:	79 73                	jns    10541b <strncpy+0x2a7>
  1053a8:	20 67 65             	and    %ah,0x65(%edi)
  1053ab:	6e                   	outsb  %ds:(%esi),(%dx)
  1053ac:	65                   	gs
  1053ad:	72 61                	jb     105410 <strncpy+0x29c>
  1053af:	6c                   	insb   (%dx),%es:(%edi)
  1053b0:	20 68 65             	and    %ch,0x65(%eax)
  1053b3:	6c                   	insb   (%dx),%es:(%edi)
  1053b4:	70 20                	jo     1053d6 <strncpy+0x262>
  1053b6:	6d                   	insl   (%dx),%es:(%edi)
  1053b7:	65 6e                	outsb  %gs:(%esi),(%dx)
  1053b9:	75 20                	jne    1053db <strncpy+0x267>
  1053bb:	6f                   	outsl  %ds:(%esi),(%dx)
  1053bc:	72 20                	jb     1053de <strncpy+0x26a>
  1053be:	68 65 6c 70 20       	push   $0x20706c65
  1053c3:	6f                   	outsl  %ds:(%esi),(%dx)
  1053c4:	6e                   	outsb  %ds:(%esi),(%dx)
  1053c5:	20 73 70             	and    %dh,0x70(%ebx)
  1053c8:	65 63 69 66          	arpl   %bp,%gs:0x66(%ecx)
  1053cc:	69 63 20 63 6f 6d 6d 	imul   $0x6d6d6f63,0x20(%ebx),%esp
  1053d3:	61                   	popa   
  1053d4:	6e                   	outsb  %ds:(%esi),(%dx)
  1053d5:	64 2e 00 00          	add    %al,%cs:%fs:(%eax)
  1053d9:	73 68                	jae    105443 <strncpy+0x2cf>
  1053db:	75 74                	jne    105451 <strncpy+0x2dd>
  1053dd:	64 6f                	outsl  %fs:(%esi),(%dx)
  1053df:	77 6e                	ja     10544f <strncpy+0x2db>
  1053e1:	00 00                	add    %al,(%eax)
  1053e3:	2d 72 00 00 4e       	sub    $0x4e000072,%eax
  1053e8:	4f                   	dec    %edi
  1053e9:	57                   	push   %edi
  1053ea:	00 00                	add    %al,(%eax)
  1053ec:	48                   	dec    %eax
  1053ed:	61                   	popa   
  1053ee:	6c                   	insb   (%dx),%es:(%edi)
  1053ef:	74 20                	je     105411 <strncpy+0x29d>
  1053f1:	6f                   	outsl  %ds:(%esi),(%dx)
  1053f2:	72 20                	jb     105414 <strncpy+0x2a0>
  1053f4:	72 65                	jb     10545b <strncpy+0x2e7>
  1053f6:	73 74                	jae    10546c <strncpy+0x2f8>
  1053f8:	61                   	popa   
  1053f9:	72 74                	jb     10546f <strncpy+0x2fb>
  1053fb:	20 74 68 65          	and    %dh,0x65(%eax,%ebp,2)
  1053ff:	20 73 79             	and    %dh,0x79(%ebx)
  105402:	73 74                	jae    105478 <strncpy+0x304>
  105404:	65                   	gs
  105405:	6d                   	insl   (%dx),%es:(%edi)
  105406:	2e 00 00             	add    %al,%cs:(%eax)
  105409:	63 6c 73 00          	arpl   %bp,0x0(%ebx,%esi,2)
	...
  10541d:	00 00                	add    %al,(%eax)
  10541f:	00 43 6c             	add    %al,0x6c(%ebx)
  105422:	65                   	gs
  105423:	61                   	popa   
  105424:	72 73                	jb     105499 <strncpy+0x325>
  105426:	20 74 68 65          	and    %dh,0x65(%eax,%ebp,2)
  10542a:	20 74 65 72          	and    %dh,0x72(%ebp,2)
  10542e:	6d                   	insl   (%dx),%es:(%edi)
  10542f:	69 6e 61 6c 20 6f 66 	imul   $0x666f206c,0x61(%esi),%ebp
  105436:	20 61 6c             	and    %ah,0x6c(%ecx)
  105439:	6c                   	insb   (%dx),%es:(%edi)
  10543a:	20 6f 75             	and    %ch,0x75(%edi)
  10543d:	74 70                	je     1054af <strncpy+0x33b>
  10543f:	75 74                	jne    1054b5 <strncpy+0x341>
  105441:	2e 00 00             	add    %al,%cs:(%eax)
  105444:	70 77                	jo     1054bd <strncpy+0x349>
  105446:	64 00 00             	add    %al,%fs:(%eax)
	...
  10545d:	00 00                	add    %al,(%eax)
  10545f:	00 50 72             	add    %dl,0x72(%eax)
  105462:	69 6e 74 73 20 74 68 	imul   $0x68742073,0x74(%esi),%ebp
  105469:	65 20 63 75          	and    %ah,%gs:0x75(%ebx)
  10546d:	72 72                	jb     1054e1 <strncpy+0x36d>
  10546f:	65 6e                	outsb  %gs:(%esi),(%dx)
  105471:	74 20                	je     105493 <strncpy+0x31f>
  105473:	77 6f                	ja     1054e4 <strncpy+0x370>
  105475:	72 6b                	jb     1054e2 <strncpy+0x36e>
  105477:	69 6e 67 20 64 69 72 	imul   $0x72696420,0x67(%esi),%ebp
  10547e:	65 63 74 6f 72       	arpl   %si,%gs:0x72(%edi,%ebp,2)
  105483:	79 2e                	jns    1054b3 <strncpy+0x33f>
  105485:	00 00                	add    %al,(%eax)
  105487:	68 65 6c 70 00       	push   $0x706c65
  10548c:	65                   	gs
  10548d:	73 68                	jae    1054f7 <strncpy+0x383>
  10548f:	3a 20                	cmp    (%eax),%ah
  105491:	27                   	daa    
  105492:	25 73 27 20 6e       	and    $0x6e202773,%eax
  105497:	6f                   	outsl  %ds:(%esi),(%dx)
  105498:	74 20                	je     1054ba <strncpy+0x346>
  10549a:	66 6f                	outsw  %ds:(%esi),(%dx)
  10549c:	75 6e                	jne    10550c <strncpy+0x398>
  10549e:	64 2e 0a 00          	or     %cs:%fs:(%eax),%al
  1054a2:	55                   	push   %ebp
  1054a3:	73 61                	jae    105506 <strncpy+0x392>
  1054a5:	67 65 3a 20          	addr16 cmp %gs:(%bx,%si),%ah
  1054a9:	25 73 20 25 73       	and    $0x73252073,%eax
  1054ae:	0a 00                	or     (%eax),%al
  1054b0:	48                   	dec    %eax
  1054b1:	79 62                	jns    105515 <strncpy+0x3a1>
  1054b3:	4f                   	dec    %edi
  1054b4:	53                   	push   %ebx
  1054b5:	20 45 53             	and    %al,0x53(%ebp)
  1054b8:	68 65 6c 6c 20       	push   $0x206c6c65
  1054bd:	43                   	inc    %ebx
  1054be:	6f                   	outsl  %ds:(%esi),(%dx)
  1054bf:	6d                   	insl   (%dx),%es:(%edi)
  1054c0:	6d                   	insl   (%dx),%es:(%edi)
  1054c1:	61                   	popa   
  1054c2:	6e                   	outsb  %ds:(%esi),(%dx)
  1054c3:	64                   	fs
  1054c4:	73 3a                	jae    105500 <strncpy+0x38c>
  1054c6:	0a 00                	or     (%eax),%al
  1054c8:	25 31 30 73 20       	and    $0x20733031,%eax
  1054cd:	25 2d 73 0a 00       	and    $0xa732d,%eax
  1054d2:	08 20                	or     %ah,(%eax)
  1054d4:	08 00                	or     %al,(%eax)
  1054d6:	24 20                	and    $0x20,%al
  1054d8:	00 4f 6b             	add    %cl,0x6b(%edi)
  1054db:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1054df:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1054e3:	00 94 09 10 00 c2 09 	add    %dl,0x9c20010(%ecx,%ecx,1)
  1054ea:	10 00                	adc    %al,(%eax)
  1054ec:	e3 09                	jecxz  1054f7 <strncpy+0x383>
  1054ee:	10 00                	adc    %al,(%eax)
  1054f0:	03 0a                	add    (%edx),%ecx
  1054f2:	10 00                	adc    %al,(%eax)
  1054f4:	24 0a                	and    $0xa,%al
  1054f6:	10 00                	adc    %al,(%eax)
  1054f8:	4a                   	dec    %edx
  1054f9:	0a 10                	or     (%eax),%dl
  1054fb:	00 71 0a             	add    %dh,0xa(%ecx)
  1054fe:	10 00                	adc    %al,(%eax)
  105500:	97                   	xchg   %eax,%edi
  105501:	0a 10                	or     (%eax),%dl
  105503:	00 be 0a 10 00 e4    	add    %bh,0xe400100a(%esi)
  105509:	0a 10                	or     (%eax),%dl
  10550b:	00 0b                	add    %cl,(%ebx)
  10550d:	0b 10                	or     (%eax),%edx
  10550f:	00 31                	add    %dh,(%ecx)
  105511:	0b 10                	or     (%eax),%edx
  105513:	00 57 0b             	add    %dl,0xb(%edi)
  105516:	10 00                	adc    %al,(%eax)
  105518:	64 12 10             	adc    %fs:(%eax),%dl
  10551b:	00 61 0b             	add    %ah,0xb(%ecx)
  10551e:	10 00                	adc    %al,(%eax)
  105520:	88 0b                	mov    %cl,(%ebx)
  105522:	10 00                	adc    %al,(%eax)
  105524:	ae                   	scas   %es:(%edi),%al
  105525:	0b 10                	or     (%eax),%edx
  105527:	00 d4                	add    %dl,%ah
  105529:	0b 10                	or     (%eax),%edx
  10552b:	00 fb                	add    %bh,%bl
  10552d:	0b 10                	or     (%eax),%edx
  10552f:	00 22                	add    %ah,(%edx)
  105531:	0c 10                	or     $0x10,%al
  105533:	00 48 0c             	add    %cl,0xc(%eax)
  105536:	10 00                	adc    %al,(%eax)
  105538:	6e                   	outsb  %ds:(%esi),(%dx)
  105539:	0c 10                	or     $0x10,%al
  10553b:	00 95 0c 10 00 bc    	add    %dl,0xbc00100c(%ebp)
  105541:	0c 10                	or     $0x10,%al
  105543:	00 e2                	add    %ah,%dl
  105545:	0c 10                	or     $0x10,%al
  105547:	00 08                	add    %cl,(%eax)
  105549:	0d 10 00 2f 0d       	or     $0xd2f0010,%eax
  10554e:	10 00                	adc    %al,(%eax)
  105550:	64 12 10             	adc    %fs:(%eax),%dl
  105553:	00 39                	add    %bh,(%ecx)
  105555:	0d 10 00 60 0d       	or     $0xd600010,%eax
  10555a:	10 00                	adc    %al,(%eax)
  10555c:	86 0d 10 00 ac 0d    	xchg   %cl,0xdac0010
  105562:	10 00                	adc    %al,(%eax)
  105564:	d3 0d 10 00 fa 0d    	rorl   %cl,0xdfa0010
  10556a:	10 00                	adc    %al,(%eax)
  10556c:	20 0e                	and    %cl,(%esi)
  10556e:	10 00                	adc    %al,(%eax)
  105570:	46                   	inc    %esi
  105571:	0e                   	push   %cs
  105572:	10 00                	adc    %al,(%eax)
  105574:	6d                   	insl   (%dx),%es:(%edi)
  105575:	0e                   	push   %cs
  105576:	10 00                	adc    %al,(%eax)
  105578:	94                   	xchg   %eax,%esp
  105579:	0e                   	push   %cs
  10557a:	10 00                	adc    %al,(%eax)
  10557c:	ba 0e 10 00 e0       	mov    $0xe000100e,%edx
  105581:	0e                   	push   %cs
  105582:	10 00                	adc    %al,(%eax)
  105584:	64 12 10             	adc    %fs:(%eax),%dl
  105587:	00 ea                	add    %ch,%dl
  105589:	0e                   	push   %cs
  10558a:	10 00                	adc    %al,(%eax)
  10558c:	11 0f                	adc    %ecx,(%edi)
  10558e:	10 00                	adc    %al,(%eax)
  105590:	38 0f                	cmp    %cl,(%edi)
  105592:	10 00                	adc    %al,(%eax)
  105594:	5f                   	pop    %edi
  105595:	0f 10 00             	movups (%eax),%xmm0
  105598:	85 0f                	test   %ecx,(%edi)
  10559a:	10 00                	adc    %al,(%eax)
  10559c:	ab                   	stos   %eax,%es:(%edi)
  10559d:	0f 10 00             	movups (%eax),%xmm0
  1055a0:	d2 0f                	rorb   %cl,(%edi)
  1055a2:	10 00                	adc    %al,(%eax)
  1055a4:	f9                   	stc    
  1055a5:	0f 10 00             	movups (%eax),%xmm0
  1055a8:	1f                   	pop    %ds
  1055a9:	10 10                	adc    %dl,(%eax)
  1055ab:	00 45 10             	add    %al,0x10(%ebp)
  1055ae:	10 00                	adc    %al,(%eax)
  1055b0:	6c                   	insb   (%dx),%es:(%edi)
  1055b1:	10 10                	adc    %dl,(%eax)
  1055b3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055b7:	00 92 10 10 00 64    	add    %dl,0x64001010(%edx)
  1055bd:	12 10                	adc    (%eax),%dl
  1055bf:	00 9c 10 10 00 64 12 	add    %bl,0x12640010(%eax,%edx,1)
  1055c6:	10 00                	adc    %al,(%eax)
  1055c8:	64 12 10             	adc    %fs:(%eax),%dl
  1055cb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055cf:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055d3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055d7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055db:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055df:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055e3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055e7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055eb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055ef:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055f3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1055f7:	00 a6 10 10 00 cc    	add    %ah,0xcc001010(%esi)
  1055fd:	10 10                	adc    %dl,(%eax)
  1055ff:	00 f3                	add    %dh,%bl
  105601:	10 10                	adc    %dl,(%eax)
  105603:	00 19                	add    %bl,(%ecx)
  105605:	11 10                	adc    %edx,(%eax)
  105607:	00 23                	add    %ah,(%ebx)
  105609:	11 10                	adc    %edx,(%eax)
  10560b:	00 4a 11             	add    %cl,0x11(%edx)
  10560e:	10 00                	adc    %al,(%eax)
  105610:	70 11                	jo     105623 <strncpy+0x4af>
  105612:	10 00                	adc    %al,(%eax)
  105614:	97                   	xchg   %eax,%edi
  105615:	11 10                	adc    %edx,(%eax)
  105617:	00 a1 11 10 00 c7    	add    %ah,0xc7001011(%ecx)
  10561d:	11 10                	adc    %edx,(%eax)
  10561f:	00 ee                	add    %ch,%dh
  105621:	11 10                	adc    %edx,(%eax)
  105623:	00 14 12             	add    %dl,(%edx,%edx,1)
  105626:	10 00                	adc    %al,(%eax)
  105628:	3b 12                	cmp    (%edx),%edx
  10562a:	10 00                	adc    %al,(%eax)
  10562c:	64 12 10             	adc    %fs:(%eax),%dl
  10562f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105633:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105637:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10563b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10563f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105643:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105647:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10564b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10564f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105653:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105657:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10565b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10565f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105663:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105667:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10566b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10566f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105673:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105677:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10567b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10567f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105683:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105687:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10568b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10568f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105693:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105697:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10569b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10569f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056a3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056a7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056ab:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056af:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056b3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056b7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056bb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056bf:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056c3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056c7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056cb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056cf:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056d3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056d7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056db:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056df:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056e3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056e7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056eb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056ef:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056f3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056f7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056fb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1056ff:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105703:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105707:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10570b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10570f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105713:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105717:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10571b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10571f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105723:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105727:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10572b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10572f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105733:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105737:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10573b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10573f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105743:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105747:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10574b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10574f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105753:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105757:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10575b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10575f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105763:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105767:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10576b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10576f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105773:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105777:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10577b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10577f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105783:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105787:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10578b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10578f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105793:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105797:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10579b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10579f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057a3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057a7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057ab:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057af:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057b3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057b7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057bb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057bf:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057c3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057c7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057cb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057cf:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057d3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057d7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057db:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057df:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057e3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057e7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057eb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057ef:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057f3:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057f7:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057fb:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  1057ff:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105803:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105807:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10580b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10580f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105813:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105817:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10581b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10581f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105823:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105827:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10582b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10582f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105833:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105837:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10583b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10583f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105843:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105847:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10584b:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10584f:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105853:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  105857:	00 64 12 10          	add    %ah,0x10(%edx,%edx,1)
  10585b:	00 98 08 10 00 69    	add    %bl,0x69001008(%eax)
  105861:	6e                   	outsb  %ds:(%esi),(%dx)
  105862:	69 74 3a 20 6b 65 79 	imul   $0x6279656b,0x20(%edx,%edi,1),%esi
  105869:	62 
  10586a:	6f                   	outsl  %ds:(%esi),(%dx)
  10586b:	61                   	popa   
  10586c:	72 64                	jb     1058d2 <strncpy+0x75e>
  10586e:	20 25 32 75 20 62    	and    %ah,0x62207532
  105874:	75 66                	jne    1058dc <strncpy+0x768>
  105876:	2c 20                	sub    $0x20,%al
  105878:	25 32 75 62 20       	and    $0x20627532,%eax
  10587d:	65                   	gs
  10587e:	61                   	popa   
  10587f:	63 68 20             	arpl   %bp,0x20(%eax)
	...
  10589e:	00 00                	add    %al,(%eax)
  1058a0:	5d                   	pop    %ebp
  1058a1:	2e                   	cs
  1058a2:	2e                   	cs
  1058a3:	2e                   	cs
  1058a4:	2e                   	cs
  1058a5:	2e                   	cs
  1058a6:	2e                   	cs
  1058a7:	2e                   	cs
  1058a8:	2e                   	cs
  1058a9:	2e                   	cs
  1058aa:	2e                   	cs
  1058ab:	2e                   	cs
  1058ac:	2e                   	cs
  1058ad:	2e                   	cs
  1058ae:	2e                   	cs
  1058af:	2e                   	cs
  1058b0:	2e                   	cs
  1058b1:	2e                   	cs
  1058b2:	2e                   	cs
  1058b3:	2e                   	cs
  1058b4:	2e                   	cs
  1058b5:	2e                   	cs
  1058b6:	2e                   	cs
  1058b7:	2e                   	cs
  1058b8:	2e 2e 2e 2e 2e 2e 2e 	add    %dl,%cs:(%edx)
  1058bf:	2e 2e 2e 2e 2e 2e 2e 
  1058c6:	2e 2e 2e 2e 2e 2e 00 
  1058cd:	0a 
  1058ce:	0a 70 61             	or     0x61(%eax),%dh
  1058d1:	6e                   	outsb  %ds:(%esi),(%dx)
  1058d2:	69 63 3a 20 00 0a 0a 	imul   $0xa0a0020,0x3a(%ebx),%esp
  1058d9:	53                   	push   %ebx
  1058da:	79 73                	jns    10594f <strncpy+0x7db>
  1058dc:	74 65                	je     105943 <strncpy+0x7cf>
  1058de:	6d                   	insl   (%dx),%es:(%edi)
  1058df:	20 68 61             	and    %ch,0x61(%eax)
  1058e2:	6c                   	insb   (%dx),%es:(%edi)
  1058e3:	74 65                	je     10594a <strncpy+0x7d6>
  1058e5:	64 2e 00 44 69 76    	add    %al,%cs:%fs:0x76(%ecx,%ebp,2)
  1058eb:	69 64 65 20 65 72 72 	imul   $0x6f727265,0x20(%ebp,2),%esp
  1058f2:	6f 
  1058f3:	72 00                	jb     1058f5 <strncpy+0x781>
  1058f5:	44                   	inc    %esp
  1058f6:	65 62 75 67          	bound  %esi,%gs:0x67(%ebp)
  1058fa:	20 65 78             	and    %ah,0x78(%ebp)
  1058fd:	63 65 70             	arpl   %sp,0x70(%ebp)
  105900:	74 69                	je     10596b <strncpy+0x7f7>
  105902:	6f                   	outsl  %ds:(%esi),(%dx)
  105903:	6e                   	outsb  %ds:(%esi),(%dx)
  105904:	00 4e 6f             	add    %cl,0x6f(%esi)
  105907:	6e                   	outsb  %ds:(%esi),(%dx)
  105908:	6d                   	insl   (%dx),%es:(%edi)
  105909:	61                   	popa   
  10590a:	73 6b                	jae    105977 <strncpy+0x803>
  10590c:	61                   	popa   
  10590d:	62 6c 65 20          	bound  %ebp,0x20(%ebp,2)
  105911:	69 6e 74 65 72 72 75 	imul   $0x75727265,0x74(%esi),%ebp
  105918:	70 74                	jo     10598e <strncpy+0x81a>
  10591a:	20 28                	and    %ch,(%eax)
  10591c:	4e                   	dec    %esi
  10591d:	4d                   	dec    %ebp
  10591e:	49                   	dec    %ecx
  10591f:	29 00                	sub    %eax,(%eax)
  105921:	42                   	inc    %edx
  105922:	72 65                	jb     105989 <strncpy+0x815>
  105924:	61                   	popa   
  105925:	6b 70 6f 69          	imul   $0x69,0x6f(%eax),%esi
  105929:	6e                   	outsb  %ds:(%esi),(%dx)
  10592a:	74 20                	je     10594c <strncpy+0x7d8>
  10592c:	28 49 4e             	sub    %cl,0x4e(%ecx)
  10592f:	54                   	push   %esp
  105930:	33 29                	xor    (%ecx),%ebp
  105932:	00 4f 76             	add    %cl,0x76(%edi)
  105935:	65                   	gs
  105936:	72 66                	jb     10599e <strncpy+0x82a>
  105938:	6c                   	insb   (%dx),%es:(%edi)
  105939:	6f                   	outsl  %ds:(%esi),(%dx)
  10593a:	77 20                	ja     10595c <strncpy+0x7e8>
  10593c:	28 49 4e             	sub    %cl,0x4e(%ecx)
  10593f:	54                   	push   %esp
  105940:	4f                   	dec    %edi
  105941:	29 00                	sub    %eax,(%eax)
  105943:	42                   	inc    %edx
  105944:	6f                   	outsl  %ds:(%esi),(%dx)
  105945:	75 6e                	jne    1059b5 <strncpy+0x841>
  105947:	64                   	fs
  105948:	73 20                	jae    10596a <strncpy+0x7f6>
  10594a:	63 68 65             	arpl   %bp,0x65(%eax)
  10594d:	63 6b 00             	arpl   %bp,0x0(%ebx)
  105950:	49                   	dec    %ecx
  105951:	6e                   	outsb  %ds:(%esi),(%dx)
  105952:	76 61                	jbe    1059b5 <strncpy+0x841>
  105954:	6c                   	insb   (%dx),%es:(%edi)
  105955:	69 64 20 6f 70 63 6f 	imul   $0x646f6370,0x6f(%eax,1),%esp
  10595c:	64 
  10595d:	65 00 43 6f          	add    %al,%gs:0x6f(%ebx)
  105961:	70 72                	jo     1059d5 <strncpy+0x861>
  105963:	6f                   	outsl  %ds:(%esi),(%dx)
  105964:	63 65 73             	arpl   %sp,0x73(%ebp)
  105967:	73 6f                	jae    1059d8 <strncpy+0x864>
  105969:	72 20                	jb     10598b <strncpy+0x817>
  10596b:	6e                   	outsb  %ds:(%esi),(%dx)
  10596c:	6f                   	outsl  %ds:(%esi),(%dx)
  10596d:	74 20                	je     10598f <strncpy+0x81b>
  10596f:	61                   	popa   
  105970:	76 61                	jbe    1059d3 <strncpy+0x85f>
  105972:	69 6c 61 62 6c 65 00 	imul   $0x4400656c,0x62(%ecx,2),%ebp
  105979:	44 
  10597a:	6f                   	outsl  %ds:(%esi),(%dx)
  10597b:	75 62                	jne    1059df <strncpy+0x86b>
  10597d:	6c                   	insb   (%dx),%es:(%edi)
  10597e:	65 20 66 61          	and    %ah,%gs:0x61(%esi)
  105982:	75 6c                	jne    1059f0 <strncpy+0x87c>
  105984:	74 00                	je     105986 <strncpy+0x812>
  105986:	43                   	inc    %ebx
  105987:	6f                   	outsl  %ds:(%esi),(%dx)
  105988:	70 72                	jo     1059fc <strncpy+0x888>
  10598a:	6f                   	outsl  %ds:(%esi),(%dx)
  10598b:	63 65 73             	arpl   %sp,0x73(%ebp)
  10598e:	73 6f                	jae    1059ff <strncpy+0x88b>
  105990:	72 20                	jb     1059b2 <strncpy+0x83e>
  105992:	73 65                	jae    1059f9 <strncpy+0x885>
  105994:	67 6d                	addr16 insl (%dx),%es:(%di)
  105996:	65 6e                	outsb  %gs:(%esi),(%dx)
  105998:	74 20                	je     1059ba <strncpy+0x846>
  10599a:	6f                   	outsl  %ds:(%esi),(%dx)
  10599b:	76 65                	jbe    105a02 <strncpy+0x88e>
  10599d:	72 72                	jb     105a11 <strncpy+0x89d>
  10599f:	75 6e                	jne    105a0f <strncpy+0x89b>
  1059a1:	00 49 6e             	add    %cl,0x6e(%ecx)
  1059a4:	76 61                	jbe    105a07 <strncpy+0x893>
  1059a6:	6c                   	insb   (%dx),%es:(%edi)
  1059a7:	69 64 20 54 53 53 00 	imul   $0x53005353,0x54(%eax,1),%esp
  1059ae:	53 
  1059af:	65                   	gs
  1059b0:	67 6d                	addr16 insl (%dx),%es:(%di)
  1059b2:	65 6e                	outsb  %gs:(%esi),(%dx)
  1059b4:	74 20                	je     1059d6 <strncpy+0x862>
  1059b6:	6e                   	outsb  %ds:(%esi),(%dx)
  1059b7:	6f                   	outsl  %ds:(%esi),(%dx)
  1059b8:	74 20                	je     1059da <strncpy+0x866>
  1059ba:	70 72                	jo     105a2e <strncpy+0x8ba>
  1059bc:	65                   	gs
  1059bd:	73 65                	jae    105a24 <strncpy+0x8b0>
  1059bf:	6e                   	outsb  %ds:(%esi),(%dx)
  1059c0:	74 00                	je     1059c2 <strncpy+0x84e>
  1059c2:	53                   	push   %ebx
  1059c3:	74 61                	je     105a26 <strncpy+0x8b2>
  1059c5:	63 6b 20             	arpl   %bp,0x20(%ebx)
  1059c8:	65                   	gs
  1059c9:	78 63                	js     105a2e <strncpy+0x8ba>
  1059cb:	65                   	gs
  1059cc:	70 74                	jo     105a42 <strncpy+0x8ce>
  1059ce:	69 6f 6e 00 47 65 6e 	imul   $0x6e654700,0x6e(%edi),%ebp
  1059d5:	65                   	gs
  1059d6:	72 61                	jb     105a39 <strncpy+0x8c5>
  1059d8:	6c                   	insb   (%dx),%es:(%edi)
  1059d9:	20 50 72             	and    %dl,0x72(%eax)
  1059dc:	6f                   	outsl  %ds:(%esi),(%dx)
  1059dd:	74 65                	je     105a44 <strncpy+0x8d0>
  1059df:	63 74 69 6f          	arpl   %si,0x6f(%ecx,%ebp,2)
  1059e3:	6e                   	outsb  %ds:(%esi),(%dx)
  1059e4:	20 46 61             	and    %al,0x61(%esi)
  1059e7:	75 6c                	jne    105a55 <strncpy+0x8e1>
  1059e9:	74 00                	je     1059eb <strncpy+0x877>
  1059eb:	50                   	push   %eax
  1059ec:	61                   	popa   
  1059ed:	67 65 20 66 61       	addr16 and %ah,%gs:97(%bp)
  1059f2:	75 6c                	jne    105a60 <strncpy+0x8ec>
  1059f4:	74 00                	je     1059f6 <strncpy+0x882>
  1059f6:	43                   	inc    %ebx
  1059f7:	6f                   	outsl  %ds:(%esi),(%dx)
  1059f8:	70 72                	jo     105a6c <strncpy+0x8f8>
  1059fa:	6f                   	outsl  %ds:(%esi),(%dx)
  1059fb:	63 65 73             	arpl   %sp,0x73(%ebp)
  1059fe:	73 6f                	jae    105a6f <strncpy+0x8fb>
  105a00:	72 20                	jb     105a22 <strncpy+0x8ae>
  105a02:	65                   	gs
  105a03:	72 72                	jb     105a77 <strncpy+0x903>
  105a05:	6f                   	outsl  %ds:(%esi),(%dx)
  105a06:	72 00                	jb     105a08 <strncpy+0x894>
  105a08:	41                   	inc    %ecx
  105a09:	6c                   	insb   (%dx),%es:(%edi)
  105a0a:	69 67 6e 6d 65 6e 74 	imul   $0x746e656d,0x6e(%edi),%esp
  105a11:	20 63 68             	and    %ah,0x68(%ebx)
  105a14:	65 63 6b 00          	arpl   %bp,%gs:0x0(%ebx)
  105a18:	3f                   	aas    
  105a19:	3f                   	aas    
  105a1a:	00 49 52             	add    %cl,0x52(%ecx)
  105a1d:	51                   	push   %ecx
  105a1e:	30 00                	xor    %al,(%eax)
  105a20:	49                   	dec    %ecx
  105a21:	52                   	push   %edx
  105a22:	51                   	push   %ecx
  105a23:	31 00                	xor    %eax,(%eax)
  105a25:	49                   	dec    %ecx
  105a26:	52                   	push   %edx
  105a27:	51                   	push   %ecx
  105a28:	32 00                	xor    (%eax),%al
  105a2a:	49                   	dec    %ecx
  105a2b:	52                   	push   %edx
  105a2c:	51                   	push   %ecx
  105a2d:	33 00                	xor    (%eax),%eax
  105a2f:	49                   	dec    %ecx
  105a30:	52                   	push   %edx
  105a31:	51                   	push   %ecx
  105a32:	34 00                	xor    $0x0,%al
  105a34:	49                   	dec    %ecx
  105a35:	52                   	push   %edx
  105a36:	51                   	push   %ecx
  105a37:	35 00 49 52 51       	xor    $0x51524900,%eax
  105a3c:	36 00 49 52          	add    %cl,%ss:0x52(%ecx)
  105a40:	51                   	push   %ecx
  105a41:	37                   	aaa    
  105a42:	00 49 52             	add    %cl,0x52(%ecx)
  105a45:	51                   	push   %ecx
  105a46:	38 00                	cmp    %al,(%eax)
  105a48:	49                   	dec    %ecx
  105a49:	52                   	push   %edx
  105a4a:	51                   	push   %ecx
  105a4b:	39 00                	cmp    %eax,(%eax)
  105a4d:	49                   	dec    %ecx
  105a4e:	52                   	push   %edx
  105a4f:	51                   	push   %ecx
  105a50:	31 30                	xor    %esi,(%eax)
  105a52:	00 49 52             	add    %cl,0x52(%ecx)
  105a55:	51                   	push   %ecx
  105a56:	31 31                	xor    %esi,(%ecx)
  105a58:	00 49 52             	add    %cl,0x52(%ecx)
  105a5b:	51                   	push   %ecx
  105a5c:	31 32                	xor    %esi,(%edx)
  105a5e:	00 49 52             	add    %cl,0x52(%ecx)
  105a61:	51                   	push   %ecx
  105a62:	31 33                	xor    %esi,(%ebx)
  105a64:	00 49 52             	add    %cl,0x52(%ecx)
  105a67:	51                   	push   %ecx
  105a68:	31 34 00             	xor    %esi,(%eax,%eax,1)
  105a6b:	49                   	dec    %ecx
  105a6c:	52                   	push   %edx
  105a6d:	51                   	push   %ecx
  105a6e:	31 35 00 73 79 73    	xor    %esi,0x73797300
  105a74:	63 61 6c             	arpl   %sp,0x6c(%ecx)
  105a77:	6c                   	insb   (%dx),%es:(%edi)
  105a78:	00 0a                	add    %cl,(%edx)
  105a7a:	0a 70 61             	or     0x61(%eax),%dh
  105a7d:	6e                   	outsb  %ds:(%esi),(%dx)
  105a7e:	69 63 3a 20 45 78 63 	imul   $0x63784520,0x3a(%ebx),%esp
  105a85:	65                   	gs
  105a86:	70 74                	jo     105afc <strncpy+0x988>
  105a88:	69 6f 6e 20 30 78 25 	imul   $0x25783020,0x6e(%edi),%ebp
  105a8f:	30 38                	xor    %bh,(%eax)
  105a91:	58                   	pop    %eax
  105a92:	00 20                	add    %ah,(%eax)
  105a94:	28 25 73 29 00 75    	sub    %ah,0x75002973
  105a9a:	73 65                	jae    105b01 <ex.0+0x1>
  105a9c:	64 00 62 6c          	add    %ah,%fs:0x6c(%edx)
  105aa0:	6f                   	outsl  %ds:(%esi),(%dx)
  105aa1:	63 6b 20             	arpl   %bp,0x20(%ebx)
  105aa4:	25 35 70 3a 20       	and    $0x203a7035,%eax
  105aa9:	25 36 75 20 62       	and    $0x62207536,%eax
  105aae:	79 74                	jns    105b24 <ex.0+0x24>
  105ab0:	65                   	gs
  105ab1:	73 20                	jae    105ad3 <strncpy+0x95f>
  105ab3:	25 73 0a 00 66       	and    $0x66000a73,%eax
  105ab8:	72 65                	jb     105b1f <ex.0+0x1f>
  105aba:	65 00 69 6e          	add    %ch,%gs:0x6e(%ecx)
  105abe:	69 74 00 45 6e 61 62 	imul   $0x6c62616e,0x45(%eax,%eax,1),%esi
  105ac5:	6c 
  105ac6:	69 6e 67 20 68 61 72 	imul   $0x72616820,0x67(%esi),%ebp
  105acd:	64                   	fs
  105ace:	77 61                	ja     105b31 <ex.0+0x31>
  105ad0:	72 65                	jb     105b37 <ex.0+0x37>
  105ad2:	20 69 6e             	and    %ch,0x6e(%ecx)
  105ad5:	74 65                	je     105b3c <ex.0+0x3c>
  105ad7:	72 72                	jb     105b4b <ex.0+0x4b>
  105ad9:	75 70                	jne    105b4b <ex.0+0x4b>
  105adb:	74 73                	je     105b50 <ex.0+0x50>
  105add:	00 4d 6f             	add    %cl,0x6f(%ebp)
  105ae0:	72 65                	jb     105b47 <ex.0+0x47>
  105ae2:	20 77 6f             	and    %dh,0x6f(%edi)
  105ae5:	72 6b                	jb     105b52 <ex.0+0x52>
  105ae7:	20 6e 65             	and    %ch,0x65(%esi)
  105aea:	65                   	gs
  105aeb:	64                   	fs
  105aec:	73 20                	jae    105b0e <ex.0+0xe>
  105aee:	74 6f                	je     105b5f <ex.0+0x5f>
  105af0:	20 62 65             	and    %ah,0x65(%edx)
  105af3:	20 64 6f 6e          	and    %ah,0x6e(%edi,%ebp,2)
  105af7:	65 0a 00             	or     %gs:(%eax),%al
  105afa:	00 00                	add    %al,(%eax)
  105afc:	00 00                	add    %al,(%eax)
	...

00105b00 <ex.0>:
  105b00:	e8 58 10 00 08 00 00 00 56 00 00 00 f5 58 10 00     .X......V....X..
  105b10:	05 00 00 00 56 00 00 00 05 59 10 00 07 00 00 00     ....V....Y......
  105b20:	56 00 00 00 21 59 10 00 07 00 00 00 56 00 00 00     V...!Y......V...
  105b30:	33 59 10 00 08 00 00 00 ba 00 00 00 43 59 10 00     3Y..........CY..
  105b40:	08 00 00 00 ba 00 00 00 50 59 10 00 04 00 00 00     ........PY......
  105b50:	ba 00 00 00 5f 59 10 00 08 00 00 00 ba 00 00 00     ...._Y..........
  105b60:	79 59 10 00 07 00 00 00 1e 01 00 00 86 59 10 00     yY...........Y..
  105b70:	0b 00 00 00 1e 01 00 00 a2 59 10 00 0b 00 00 00     .........Y......
  105b80:	1e 01 00 00 ae 59 10 00 0b 00 00 00 1e 01 00 00     .....Y..........
  105b90:	c2 59 10 00 0b 00 00 00 1e 01 00 00 d2 59 10 00     .Y...........Y..
  105ba0:	0b 00 00 00 1e 01 00 00 eb 59 10 00 0b 00 00 00     .........Y......
  105bb0:	82 01 00 00 00 00 00 00 04 00 00 00 00 00 00 00     ................
  105bc0:	f6 59 10 00 08 00 00 00 82 01 00 00 08 5a 10 00     .Y...........Z..
	...
  105bd8:	18 5a 10 00 00 00 00 00 00 00 00 00 18 5a 10 00     .Z...........Z..
	...
  105bf0:	18 5a 10 00 00 00 00 00 00 00 00 00 18 5a 10 00     .Z...........Z..
	...
  105c08:	18 5a 10 00 00 00 00 00 00 00 00 00 18 5a 10 00     .Z...........Z..
	...
  105c20:	18 5a 10 00 00 00 00 00 00 00 00 00 18 5a 10 00     .Z...........Z..
	...
  105c38:	18 5a 10 00 00 00 00 00 00 00 00 00 18 5a 10 00     .Z...........Z..
	...
  105c50:	18 5a 10 00 00 00 00 00 00 00 00 00 18 5a 10 00     .Z...........Z..
	...
  105c68:	18 5a 10 00 00 00 00 00 00 00 00 00 18 5a 10 00     .Z...........Z..
	...
  105c80:	1b 5a 10 00 00 00 00 00 00 00 00 00 20 5a 10 00     .Z.......... Z..
	...
  105c98:	25 5a 10 00 00 00 00 00 00 00 00 00 2a 5a 10 00     %Z..........*Z..
	...
  105cb0:	2f 5a 10 00 00 00 00 00 00 00 00 00 34 5a 10 00     /Z..........4Z..
	...
  105cc8:	39 5a 10 00 00 00 00 00 00 00 00 00 3e 5a 10 00     9Z..........>Z..
	...
  105ce0:	43 5a 10 00 00 00 00 00 00 00 00 00 48 5a 10 00     CZ..........HZ..
	...
  105cf8:	4d 5a 10 00 00 00 00 00 00 00 00 00 53 5a 10 00     MZ..........SZ..
	...
  105d10:	59 5a 10 00 00 00 00 00 00 00 00 00 5f 5a 10 00     YZ.........._Z..
	...
  105d28:	65 5a 10 00 00 00 00 00 00 00 00 00 6b 5a 10 00     eZ..........kZ..
	...
  105d40:	71 5a 10 00 00 00 00 00 00 00 00 00                 qZ..........

00105d4c <irq0_int.1>:
  105d4c:	20 00 00 00                                          ...

00105d50 <irq8_int.2>:
  105d50:	28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     (...............
  105d60:	3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d     ================
  105d70:	3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d     ================
  105d80:	3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a     ===============.
	...
  105da0:	62 6c 6f 63 6b 73 3a 20 25 36 75 20 75 73 65 64     blocks: %6u used
  105db0:	2c 20 25 36 75 20 66 72 65 65 2c 20 25 36 75 20     , %6u free, %6u 
  105dc0:	74 6f 74 61 6c 0a 00 00 00 00 00 00 00 00 00 00     total...........
	...
  105de0:	20 62 79 74 65 73 3a 20 25 36 75 20 75 73 65 64      bytes: %6u used
  105df0:	2c 20 25 36 75 20 66 72 65 65 2c 20 25 36 75 20     , %6u free, %6u 
  105e00:	74 6f 74 61 6c 0a 00 00 00 00 00 00 00 00 00 00     total...........
	...
  105e20:	67 5f 68 65 61 70 5f 62 6f 74 3d 30 78 25 70 2c     g_heap_bot=0x%p,
  105e30:	20 67 5f 6b 62 72 6b 3d 30 78 25 70 2c 20 67 5f      g_kbrk=0x%p, g_
  105e40:	68 65 61 70 5f 74 6f 70 3d 30 78 25 70 0a 00 00     heap_top=0x%p...
	...
  105e60:	2a 2a 2a 20 73 6f 6d 65 20 68 65 61 70 20 6d 65     *** some heap me
  105e70:	6d 6f 72 79 20 69 73 20 6e 6f 74 20 61 63 63 6f     mory is not acco
  105e80:	75 6e 74 65 64 20 66 6f 72 0a 00 00 00 00 00 00     unted for.......
	...
  105ea0:	6b 65 72 6e 65 6c 20 68 65 61 70 20 69 73 20 63     kernel heap is c
  105eb0:	6f 72 72 75 70 74 20 69 6e 20 6d 61 6c 6c 6f 63     orrupt in malloc
  105ec0:	28 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ()..............
	...
  105ee0:	61 74 74 65 6d 70 74 20 74 6f 20 66 72 65 65 28     attempt to free(
  105ef0:	29 20 62 6c 6f 63 6b 20 61 74 20 30 78 25 70 20     ) block at 0x%p 
  105f00:	77 69 74 68 20 62 61 64 20 6d 61 67 69 63 20 76     with bad magic v
  105f10:	61 6c 75 65 00 00 00 00 00 00 00 00 00 00 00 00     alue............
  105f20:	6b 65 72 6e 65 6c 20 68 65 61 70 20 69 73 20 63     kernel heap is c
  105f30:	6f 72 72 75 70 74 20 69 6e 20 66 72 65 65 28 29     orrupt in free()
	...
  105f60:	61 74 74 65 6d 70 74 20 74 6f 20 66 72 65 65 28     attempt to free(
  105f70:	29 20 62 6c 6f 63 6b 20 61 74 20 30 78 25 70 20     ) block at 0x%p 
  105f80:	74 68 61 74 20 69 73 20 6e 6f 74 20 69 6e 20 74     that is not in t
  105f90:	68 65 20 68 65 61 70 00 00 00 00 00 00 00 00 00     he heap.........
  105fa0:	55 6e 61 62 6c 65 20 74 6f 20 72 75 6e 20 74 65     Unable to run te
  105fb0:	73 74 68 65 61 70 20 2d 2d 20 6b 6d 61 6c 6c 6f     stheap -- kmallo
  105fc0:	63 28 29 20 69 73 20 62 72 6f 6b 65 6e 2e 0a 00     c() is broken...
	...
  105fe0:	61 74 74 65 6d 70 74 20 74 6f 20 72 65 61 6c 6c     attempt to reall
  105ff0:	6f 63 28 29 20 62 6c 6f 63 6b 20 61 74 20 30 78     oc() block at 0x
  106000:	25 70 20 77 69 74 68 20 62 61 64 20 6d 61 67 69     %p with bad magi
  106010:	63 20 76 61 6c 75 65 00 00 00 00 00 00 00 00 00     c value.........
  106020:	49 6e 73 74 61 6c 6c 69 6e 67 20 6b 65 79 62 6f     Installing keybo
  106030:	61 72 64 20 69 6e 74 65 72 72 75 70 74 20 68 61     ard interrupt ha
  106040:	6e 64 6c 65 72 00 00 00 00 00 00 00 00 00 00 00     ndler...........
	...
  106060:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
  106070:	20 20 20 20 20 20 20 20 20 5f 20 20 20 5f 20 20              _   _  
  106080:	5f 20 20 5f 20 20 5f 5f 5f 5f 20 20 5f 5f 5f 5f     _  _  ____  ____
  106090:	5f 20 20 5f 5f 5f 20 20 20 20 20 20 20 20 20 20     _  ___          
  1060a0:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
	...
  1060c0:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
  1060d0:	20 20 20 20 20 20 20 20 28 20 29 5f 28 20 29 28             ( )_( )(
  1060e0:	20 5c 2f 20 29 28 20 20 5f 20 5c 28 20 20 5f 20      \/ )(  _ \(  _ 
  1060f0:	20 29 2f 20 5f 5f 29 20 20 20 20 20 20 20 20 20      )/ __)         
  106100:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
	...
  106120:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
  106130:	20 20 20 20 20 20 20 20 20 29 20 5f 20 28 20 20              ) _ (  
  106140:	5c 20 20 2f 20 20 29 20 5f 20 3c 20 29 28 5f 29     \  /  ) _ < )(_)
  106150:	28 20 5c 5f 5f 20 5c 20 20 20 20 20 20 20 20 20     ( \__ \         
  106160:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
	...
  106180:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
  106190:	20 20 20 20 20 20 20 20 28 5f 29 20 28 5f 29 20             (_) (_) 
  1061a0:	28 5f 5f 29 20 28 5f 5f 5f 5f 2f 28 5f 5f 5f 5f     (__) (____/(____
  1061b0:	5f 29 28 5f 5f 5f 2f 20 20 20 20 20 20 20 20 20     _)(___/         
  1061c0:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
  1061d0:	0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ................
  1061e0:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
  1061f0:	20 20 20 20 20 20 20 20 48 79 62 72 69 64 20 4f             Hybrid O
  106200:	70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 20     perating System 
  106210:	28 48 79 62 4f 53 29 20 20 20 20 20 20 20 20 20     (HybOS)         
  106220:	20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
  106230:	0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ................
  106240:	41 4c 54 20 2b 20 46 31 20 2d 20 46 38 20 66 6f     ALT + F1 - F8 fo
  106250:	72 20 76 69 72 74 75 61 6c 20 74 65 72 6d 69 6e     r virtual termin
  106260:	61 6c 73 0a 00 00 00 00 00 00 00 00 00 00 00 00     als.............
	...
  106280:	54 68 72 65 65 20 66 69 6e 67 65 72 20 73 61 6c     Three finger sal
  106290:	75 74 65 20 74 6f 20 72 65 73 74 61 72 74 0a 00     ute to restart..
  1062a0:	49 6e 69 74 69 61 6c 69 7a 69 6e 67 20 6d 65 6d     Initializing mem
  1062b0:	6f 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 00 00     ory management..
  1062c0:	00 00 00 00 74 61 73 6b 20 68 61 6e 64 6c 65 72     ....task handler
	...

001062e0 <ansi_to_vga.0>:
  1062e0:	00 00 00 00 04 00 00 00 02 00 00 00 06 00 00 00     ................
  1062f0:	01 00 00 00 05 00 00 00 03 00 00 00 07 00 00 00     ................
  106300:	1b 5b 32 4a 00 6d 6f 6e 6f 00 5d 2e 2e 2e 2e 2e     .[2J.mono.].....
  106310:	2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 00 63 6f 6c 6f     ............colo
  106320:	72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     r...............
	...
  106340:	69 6e 69 74 3a 20 76 69 64 65 6f 20 25 35 73 20     init: video %5s 
  106350:	65 6d 75 6c 61 74 69 6f 6e 2c 20 25 32 75 78 25     emulation, %2ux%
  106360:	32 75 2c 20 66 72 61 6d 65 62 75 66 66 65 72 20     2u, framebuffer 
  106370:	61 74 20 30 78 25 31 58 20 00 00 00 0c 4d 10 00     at 0x%1X ....M..
  106380:	40 4d 10 00 5c 4d 10 00 76 4d 10 00 98 4d 10 00     @M..\M..vM...M..
  106390:	b5 4d 10 00 dc 4e 10 00 dc 4e 10 00 dc 4e 10 00     .M...N...N...N..
  1063a0:	dc 4e 10 00 dc 4e 10 00 dc 4e 10 00 dc 4e 10 00     .N...N...N...N..
  1063b0:	dc 4e 10 00 dc 4e 10 00 dc 4e 10 00 63 4f 10 00     .N...N...N..cO..
  1063c0:	7e 4f 10 00 dc 4e 10 00 dc 4e 10 00 dc 4e 10 00     ~O...N...N...N..
  1063d0:	dc 4e 10 00 7e 4f 10 00 dc 4e 10 00 dc 4e 10 00     .N..~O...N...N..
  1063e0:	dc 4e 10 00 dc 4e 10 00 b9 4d 10 00 8c 4f 10 00     .N...N...M...O..
  1063f0:	b9 4d 10 00 dc 4e 10 00 dc 4e 10 00 96 4f 10 00     .M...N...N...O..
  106400:	dc 4e 10 00 82 4f 10 00 dc 4e 10 00 dc 4e 10 00     .N...O...N...N..
  106410:	b9 4d 10 00 00 00 00 00 00 00 00 00 00 00 00 00     .M..............
	...