string int2s(int n) { for (int i = 0; i < rep.size(); i++) { if (n >= rep[i].first) { return int2s(n/rep[i].first) + rep[i].second + int2s(n%rep[i].first); } } if (n >= 20) { return " " + tens[n/10] + int2s(n%10); } else if (n >= 1) return " " + digits[n]; else return ""; }
string numberToWords(int num) { if (num == 0) return "Zero"; string res = int2s(num); return res.substr(1); }
// El ID llega de 1 a 8 void imprimir_regs_desalojo(unsigned int id){ unsigned short fila = 0; unsigned short col = 0; int i; char* imprimir = buffer8B; unsigned char letra = C_FG_LIGHT_BROWN; unsigned char formato = C_BG_LIGHT_GREY; razon_desalojo t; t = (razon_desalojo) info_desalojo[id-1].razon; imprimir_desalojo(t); // Imprimo EAX fila = 9; col = 56; int2s(tareas_tss[id-1].eax); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo EBX imprimir = buffer8B; fila=11; col= 56; int2s(tareas_tss[id-1].ebx); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo ECX imprimir = buffer8B; fila=13; col=56; int2s(tareas_tss[id-1].ecx); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo EDX imprimir = buffer8B; fila= 15; col= 56; int2s(tareas_tss[id-1].edx); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo ESI imprimir = buffer8B; fila=17; col=56; int2s(tareas_tss[id-1].esi); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo EDI imprimir = buffer8B; fila=19; col=56; int2s(tareas_tss[id-1].edi); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo EBP imprimir = buffer8B; fila=21; col=56; int2s(tareas_tss[id-1].ebp); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo CR0 imprimir = buffer8B; fila=9; col=71; int2s(info_desalojo[id-1].cr0); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo CR2 imprimir = buffer8B; fila=11; col=71; int2s(info_desalojo[id-1].cr2); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo CR3 imprimir = buffer8B; fila=13; col=71; int2s(info_desalojo[id-1].cr3); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo CR4 imprimir = buffer8B; fila=15; col=71; int2s(info_desalojo[id-1].cr4); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo DS imprimir = buffer4B; fila=29; col=56; short2s(tareas_tss[id-1].ds); for (i = 0; i < 4; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo ES imprimir = buffer4B; fila=31; col=56; short2s(tareas_tss[id-1].es); for (i = 0; i < 4; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo FS imprimir = buffer4B; fila=33; col=56; short2s(tareas_tss[id-1].fs); for (i = 0; i < 4; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo GS imprimir = buffer4B; fila=35; col=56; short2s(tareas_tss[id-1].gs); for (i = 0; i < 4; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo EIP imprimir = buffer8B; fila= 25; col= 56; int2s(tareas_tss[id-1].eip); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo CS imprimir = buffer4B; fila=27; col=56; short2s(tareas_tss[id-1].cs); // Lo trunco a short for (i = 0; i < 4; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo EFLAGS imprimir = buffer8B; fila=39; col=59; int2s(tareas_tss[id-1].eflags); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo ESP imprimir = buffer8B; fila=23; col=56; int2s(tareas_tss[id-1].esp); for (i = 0; i < 8; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo SS imprimir = buffer4B; fila=37; col=56; short2s(tareas_tss[id-1].ss); for (i = 0; i < 4; i++){ printg(*imprimir,fila,col,letra,formato); imprimir++; col++; } // Imprimo PILA unsigned int j; fila=28; col=65; unsigned int* p = (unsigned int*) tareas_tss[id-1].esp; for (i = 0; i < 5; i++){ unsigned short col_temp = col; imprimir = buffer8B; int2s(*p); for (j = 0; j < 8; j++){ printg(*imprimir,fila,col_temp,letra,formato); imprimir++; col_temp++; } p++; fila++; } }