// File: DaCasBe[P]Gestion-de-asignaturas-mediante-listas-doblemente-enlazadas-ordenadas/funcionesAuxiliares.cpp
// Function: ed::consultarAsignatura(ed::Asignatura&)
void ed::consultarAsignatura(ed::Asignatura  &asignatura){
  if(asignatura.estaVacia()){ //La asignatura esta vacia
	std::cout << std::endl << ONIRED << "Error: no hay ningun estudiante cargado" << RESET << std::endl;
  }

  else{ //La asignatura no esta vacia
  	int i;
	Estudiante estudiante;

  	std::cout << IBLUE << "Codigo de la asignatura: " << asignatura.getCodigo() << std::endl;
  	std::cout << "Nombre de la asignatura: " << asignatura.getNombre() << std::endl;
 	std::cout << "Lista de estudiantes de la asignatura: " << GREEN << std::endl;

	//Mostramos la lista de estudiantes de la asignatura
  	for(i=0;i<asignatura.getNumeroEstudiantes();i++){
		estudiante=asignatura.getEstudiante(i);
		estudiante.escribirEstudiante();
		std::cout << std::endl;
  	}

	std::cout << RESET;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb $0x1, %al
jne 0x6fef
jmp 0x7043
movq 0x8fda(%rip), %rdi      # 0xffd0
movq 0x8fc3(%rip), %rsi      # 0xffc0
callq 0x31c0
movq %rax, %rdi
leaq 0x4cf8(%rip), %rsi      # 0xbd04
callq 0x31a0
movq %rax, %rdi
leaq 0x50fb(%rip), %rsi      # 0xc116
callq 0x31a0
movq %rax, %rdi
leaq 0x4004(%rip), %rsi      # 0xb02e
callq 0x31a0
movq %rax, %rdi
movq 0x8f87(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x738d
leaq -0x81(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x32c0
movq -0xe8(%rbp), %rdx
leaq 0x4e15(%rip), %rsi      # 0xbe79
leaq -0x80(%rbp), %rdi
callq 0x3210
jmp 0x706f
leaq -0xb9(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x32c0
movq -0xf0(%rbp), %rdx
leaq 0x4de9(%rip), %rsi      # 0xbe79
leaq -0xb8(%rbp), %rdi
callq 0x3210
jmp 0x709e
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x53c0
jmp 0x70ba
leaq -0xb8(%rbp), %rdi
callq 0x3120
jmp 0x70c8
leaq -0xb9(%rbp), %rdi
callq 0x31d0
leaq -0x80(%rbp), %rdi
callq 0x3120
jmp 0x70df
leaq -0x81(%rbp), %rdi
callq 0x31d0
movq 0x8ede(%rip), %rdi      # 0xffd0
leaq 0x5045(%rip), %rsi      # 0xc13e
callq 0x31a0
movq %rax, -0xf8(%rbp)
jmp 0x7107
movq -0xf8(%rbp), %rdi
leaq 0x5031(%rip), %rsi      # 0xc146
callq 0x31a0
movq %rax, -0x100(%rbp)
jmp 0x7123
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq (%rax), %rax
callq *%rax
movl %eax, -0x104(%rbp)
jmp 0x7137
movl -0x104(%rbp), %esi
movq -0x100(%rbp), %rdi
callq 0x32a0
movq %rax, -0x110(%rbp)
jmp 0x7152
movq -0x110(%rbp), %rdi
movq 0x8e60(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x7167
movq 0x8e62(%rip), %rdi      # 0xffd0
leaq 0x4feb(%rip), %rsi      # 0xc160
callq 0x31a0
movq %rax, -0x118(%rbp)
jmp 0x7183
movq -0x8(%rbp), %rsi
movq (%rsi), %rax
movq 0x8(%rax), %rax
leaq -0xe0(%rbp), %rdi
callq *%rax
jmp 0x7199
movq -0x118(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x3180
movq %rax, -0x120(%rbp)
jmp 0x71b5
movq -0x120(%rbp), %rdi
movq 0x8dfd(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x71ca
leaq -0xe0(%rbp), %rdi
callq 0x3120
jmp 0x71d8
movq 0x8df1(%rip), %rdi      # 0xffd0
leaq 0x4f94(%rip), %rsi      # 0xc17a
callq 0x31a0
movq %rax, -0x128(%rbp)
jmp 0x71f4
movq -0x128(%rbp), %rdi
leaq 0x4dfc(%rip), %rsi      # 0xbffe
callq 0x31a0
movq %rax, -0x130(%rbp)
jmp 0x7210
movq -0x130(%rbp), %rdi
movq 0x8da2(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x7225
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x138(%rbp)
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
movl %eax, -0x134(%rbp)
jmp 0x724a
movl -0x138(%rbp), %eax
movl -0x134(%rbp), %ecx
cmpl %ecx, %eax
jge 0x7360
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movq %rax, -0x140(%rbp)
jmp 0x7277
movq -0x140(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x3840
jmp 0x7289
leaq -0x60(%rbp), %rdi
callq 0x3660
jmp 0x7294
movq 0x8d35(%rip), %rdi      # 0xffd0
movq 0x8d1e(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x72a9
jmp 0x72ab
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x722c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x731c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x7303
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x3120
jmp 0x7301
jmp 0x7303
leaq -0xb9(%rbp), %rdi
callq 0x31d0
leaq -0x80(%rbp), %rdi
callq 0x3120
jmp 0x731a
jmp 0x731c
leaq -0x81(%rbp), %rdi
callq 0x31d0
jmp 0x7396
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
jmp 0x7380
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x3120
jmp 0x735e
jmp 0x7380
movq 0x8c69(%rip), %rdi      # 0xffd0
leaq 0x3cc0(%rip), %rsi      # 0xb02e
callq 0x31a0
jmp 0x7375
leaq -0x60(%rbp), %rdi
callq 0x4fd0
jmp 0x738d
leaq -0x60(%rbp), %rdi
callq 0x4fd0
jmp 0x738b
jmp 0x7396
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq -0x90(%rbp), %rdi
callq 0x32b0
movq %rax, %rdi
callq 0x5040
nopw (%rax,%rax)