URL: https://linuxfr.org/forums/linux-noyau/posts/impossible-d-afficher-des-pixels-via-le-mode-reel Title: impossible d'afficher des pixels via le mode reel Authors: cosmoff Date: 2019年08月10日T15:37:11+02:00 License: CC By-SA Tags: Score: 6 Bonjour à tous, voila je suis en train de faire mon petit systeme d'exploitation maison. J'ai réalisé un MBR tres simple qui charge mon noyau dans la RAM (via l'aide du bios) puis je saute à l'adresse de mon noyau. Le noyau par la suite affiche du texte via la carte graphic qui est mappé en mémoire, et ca marche. Je veux maintenant par ce meme procédé rendre mon écran bleu puis ensuite afficher mon texte. Et la ca ne marche pas du tout, seul le texte est affiché. d'apres ce que j'ai lu, pour afficher un pixel, ca se fait au segment 0xA000 avec ensuite 64Ko d'offset pour afficher les pixels. Je vous montre mon code : [BITS 16] ; directive pour le compilateur : les instructions sont sur 16 bits [ORG 0x0] jmp start start: mov ax, 0xA000 ; mov es, ax mov ax, 0x8000 ;segment pour la pile mov ss, ax mov bp, 0xFFFF ;base pour la pile mov sp, bp mov bx, 0 mov ax, 64000 loop: ;tant que la variable 64000 n'a pas atteint 0 on dessine un pixel bleu sub ax, 0x01 mov byte [es:bx], 1 ;on dessine un pixel bleu add bx, 0x01 cmp ax, 0x0 jne loop mov ax, 0xB000 mov es, ax mov byte [es:0x8A00], 'H' mov byte [es:0x8A01], 0x57 mov byte [es:0x8A02], 'E' mov byte [es:0x8A03], 0x0A mov byte [es:0x8A04], 'L' mov byte [es:0x8A05], 0x4E mov byte [es:0x8A06], 'L' mov byte [es:0x8A07], 0x62 mov byte [es:0x8A08], 'O' mov byte [es:0x8A09], 0x0E end: jmp end Je ne comprend pas pourquoi ca ne marche pas. Avez vous une idée ? merci d'avance Cdt