diff --git a/debug/gdb_init_real_mode.txt b/debug/gdb_init_real_mode.txt index 697edd6..2c6e119 100644 --- a/debug/gdb_init_real_mode.txt +++ b/debug/gdb_init_real_mode.txt @@ -83,8 +83,8 @@ define compute_regs set $rds = ((unsigned long)$ds & 0xFFFF) set $res = ((unsigned long)$es & 0xFFFF) set $rss = ((unsigned long)$ss & 0xFFFF) - set $rfs = ((unsigned long)$es & 0xFFFF) - set $rgs = ((unsigned long)$ss & 0xFFFF) + set $rfs = ((unsigned long)$fs & 0xFFFF) + set $rgs = ((unsigned long)$gs & 0xFFFF) set $rip = ((((unsigned long)$cs & 0xFFFF) << 4) + ((unsigned long)$eip & 0xFFFFFFFF)) & $ADDRESS_MASK set $r_ss_sp = ((((unsigned long)$ss & 0xFFFF) << 4) + ((unsigned long)$esp & 0xFFFFFFFF)) & $ADDRESS_MASK set $r_ss_bp = ((((unsigned long)$ss & 0xFFFF) << 4) + ((unsigned long)$ebp & 0xFFFFFFFF)) & $ADDRESS_MASK @@ -243,7 +243,7 @@ define print_mb set $size = *(unsigned short*)($mem+6) set $name = (unsigned char*)($mem+8) printf "%s:%4X:%4X\n",$name,$mem,$size - set $mem=$mem+$size + set $mem=$mem+($size+2)*16 set $verif = *(unsigned char*)($mem) set $verif2 = *(unsigned char*)($mem+1) end diff --git a/lib/3d.asm b/lib/3d.asm index cdda48b..1b85b95 100644 --- a/lib/3d.asm +++ b/lib/3d.asm @@ -54,7 +54,7 @@ proc draw3d_point uses cx si, vertex3d:word,vertex2d:word,camera:word,color:word add si,4 dec cx jnz .draw - retf + ret endp ;affiche liste vertex %0 @@ -104,7 +104,7 @@ proc draw3d_line uses ax bx cx dx si di, type:word,faces:word,vertex3d:word,vert add di,2 dec cx jnz .draw - retf + ret endp ;affiche liste vertex %0 @@ -202,7 +202,7 @@ proc draw3d_hidden uses ax bx cx dx si di, type:word,faces:word,vertex3d:word,ve dec cx jnz .draw .endof: - retf + ret endp ;creer table pour face caché %0 @@ -279,7 +279,7 @@ proc draw3d_hidden_fill uses eax bx ecx edx si di, type:word,faces:word,vertex3d .enofvalue: dec cx jnz .calculvect - retf + ret endp @@ -416,7 +416,7 @@ proc load3ds uses eax bx cx si di ds es fs, seg:word,addt:word,objectname:word,v ;;jmp .reading .error1: .error2: - retf + ret endp un dd 1.0 @@ -450,7 +450,7 @@ proc translate uses eax ecx di es, mat:word,x:dword,y:dword,z:dword mov [di+7*4],eax mov eax,[z] mov [di+11*4],eax - retf + ret endp ;initialise une matrice de translation pour une translation TX %1 dans MATRICE %0 @@ -479,7 +479,7 @@ proc translatex uses eax ecx di es, mat:word,value:dword mov [di+11*4],eax mov eax,[value] mov [di+3*4],eax - retf + ret endp @@ -509,7 +509,7 @@ proc translatey uses eax ecx di es, mat:word,value:dword mov [di+11*4],eax mov eax,[value] mov [di+7*4],eax - retf + ret endp ;initialise une matrice de translation pour une translation TZ %1 dans MATRICE %0 @@ -538,7 +538,7 @@ proc translatez uses eax ecx di es, mat:word,value:dword mov [di+7*4],eax mov eax,[value] mov [di+11*4],eax - retf + ret endp ;initialise une matrice d'echelle %0 de facteur (x,y,z) %1-%3 @@ -564,7 +564,7 @@ proc scale uses eax ecx di es, mat:word,x:dword,y:dword,z:dword mov [di+10*4],eax mov eax,[cs:un] mov [di+15*4],eax - retf + ret endp ;initialise une matrice d'echelle %0 de facteur value %1 @@ -588,7 +588,7 @@ proc rescale uses eax ecx di es, mat:word,value:dword mov [di+10*4],eax mov eax,[cs:un] mov [di+15*4],eax - retf + ret endp ;copy une matrice %0 en %1 @@ -601,7 +601,7 @@ proc copy uses ecx si di es, mat1:word,mat2:word pop es cld rep stosd - retf + ret endp ;initialise une matrice %0 avec la valeur %1 @@ -614,7 +614,7 @@ proc fill uses eax ecx di es, mat:word,value:dword pop es cld rep stosd - retf + ret endp ;initialise une matrice d'identité %0 @@ -637,7 +637,7 @@ proc identity uses eax ecx di es, mat:word mov [di+5*4],eax mov [di+10*4],eax mov [di+15*4],eax - retf + ret endp @@ -674,7 +674,7 @@ proc rotationx uses eax ecx di es, mat:word,value:dword mov eax,[cs:un] mov [di+0*4],eax mov [di+15*4],eax - retf + ret endp ;initialise une matrice de rotation BX autour de Y de %0 degrees @@ -710,7 +710,7 @@ proc rotationy uses eax ecx di es, mat:word,value:dword mov eax,[cs:un] mov [di+5*4],eax mov [di+15*4],eax - retf + ret endp ;initialise une matrice de rotation %0 autour de Z de %1 degrees @@ -746,7 +746,7 @@ proc rotationz uses eax ecx di es, mat:word,value:dword mov eax,[cs:un] mov [di+10*4],eax mov [di+15*4],eax - retf + ret endp ;initialise une matrice de rotation %0 autour de X,Y,Z de %0-%3 degrees @@ -805,7 +805,7 @@ proc rotation uses eax ecx di es, mat:word,anglex:dword,angley:dword,anglez:dwor fstp dword [ di+2*4] mov eax,[cs:un] mov [di+15*4],eax - retf + ret endp @@ -866,7 +866,7 @@ proc project uses bx cx si di, vertex2d:word,vertex3d:word,origin:word add bx,.vertex2d.sizeof dec cx jnz .boucle - retf + ret endp @@ -966,7 +966,7 @@ proc transform uses cx si di, vertex3d:word,mat:word add si,.vertex3dori.sizeof dec cx jnz .boucle - retf + ret endp ;Multiplie la matrice de transformation %0 par celle en %1 et met les resultat en %2 @@ -1211,5 +1211,5 @@ proc multiply uses bx si di, p1:word,p2:word,mat:word fmul dword [ di+15*4] ;faddp st1 fstp dword [ bx+15*4] - retf + ret endp diff --git a/lib/detect.asm b/lib/detect.asm index e60964e..624eadd 100644 --- a/lib/detect.asm +++ b/lib/detect.asm @@ -29,7 +29,7 @@ proc detectvmware uses eax ebx ecx edx mov edx,5658h in ax,dx cmp ebx,564D5868h - retf + ret endp ;renvoie un pointer dx:ax vers la classe %0 @@ -39,7 +39,7 @@ proc getpciclass uses di, class:word shl di,1 mov ax,[cs:classes+di] mov dx,cs - retf + ret endp ;renvoie un pointer dx:ax vers la sous-classe de %1 et de classe %0 @@ -60,7 +60,7 @@ proc getpcisubclass uses di, class:word,subclass:word mov ax,[cs:di] .found: mov dx,cs - retf + ret endp divers db 'divers',0 @@ -327,10 +327,10 @@ end virtual cmp bl,40h jbe .goinfos clc - retf + ret .notexist: stc - retf + ret endp ;lit un octet du bus %0 device %1 function %2 nø %3 et le met en AL @@ -350,7 +350,7 @@ proc pcireadbyte uses bx dx, bus:word,device:word,function:word,pointer:word and bl,3 or dl,bl in al,dx - retf + ret endp ;lit 2 octet du bus %0 device %1 function %2 nø %3 et le met en AX @@ -370,7 +370,7 @@ proc pcireadword uses bx dx, bus:word,device:word,function:word,pointer:word and bl,3 or dl,bl in ax,dx - retf + ret endp ;lit 4 octet du bus %0 device %1 function %2 nø %3 et le met en EAX @@ -390,7 +390,7 @@ proc pcireaddword uses bx dx, bus:word,device:word,function:word,pointer:word and bl,3 or dl,bl in eax,dx - retf + ret endp ;Prob avec str pci @@ -414,14 +414,14 @@ proc pciinfo uses ax bx cx edx edi, pointer:word mov [.pciinf.types],al mov [.pciinf.maxbus],cl clc - retf + ret .errorpci: stc - retf + ret endp -;retfourne en DS:%1 les set supporté du processeur par rapport a la struct %0 +;retourne en DS:%1 les set supporté du processeur par rapport a la struct %0 proc setinfo uses bx si di, pointer:word,set:word mov di,[set] virtual at 0 @@ -454,7 +454,7 @@ end virtual jmp .set .endofset: mov byte [di],0 - retf + ret .theset dw .mmx dw .mmx2 @@ -481,7 +481,7 @@ end virtual endp -;retfourne en DS:%0 les capacités du processeur +;retourne en DS:%0 les capacités du processeur proc cpuinfo uses eax ebx ecx edx si di ds es, pointer:word push ds pop es @@ -627,9 +627,9 @@ proc cpuinfo uses eax ebx ecx edx si di ds es, pointer:word je .endofsearch jmp .search .endofsearch: - retf + ret .nocpuidatall: - retf + ret ;tableau avec vendeur taille + chainereelle + pointeur famille + pointeur famille etendue diff --git a/lib/lib.asm b/lib/lib.asm index 16bc9fa..9e764a9 100644 --- a/lib/lib.asm +++ b/lib/lib.asm @@ -11,7 +11,7 @@ header exe 1,exports,0,0,0 waitkey: mov ax,0 int 16h - retf + ret exporting declare waitkey diff --git a/lib/math.asm b/lib/math.asm index c6c4648..15405b3 100644 --- a/lib/math.asm +++ b/lib/math.asm @@ -21,12 +21,12 @@ proc random uses dx inc ax mov [cs:randseed],ax mov ax,dx - retf + ret endp proc randomize uses ax cx dx mov ah,0 int 1ah mov [cs:randseed],dx - retf + ret endp diff --git a/lib/str0.asm b/lib/str0.asm index 54aaa75..1c360d4 100644 --- a/lib/str0.asm +++ b/lib/str0.asm @@ -126,7 +126,7 @@ proc checksyntax uses ax bx cx dx si di ds es, src:word,dest:word,delim:word jne .itemer cld .ackno: - retf + ret .notequalatall: stc jmp .ackno @@ -151,7 +151,7 @@ proc cmpitems uses ax cx si di es, src:word,dest:word,item:word,delim:word cld rep cmpsb clc - retf + ret endp @@ -170,7 +170,7 @@ proc gettypeditem uses bx cx si di, src:word,item:word,delim:word stdcall gettyped,di xchg cl,[ds:si] clc - retf + ret endp @@ -207,7 +207,7 @@ proc gettyped uses si, src:word stdcall strtoadress,si .endofgettypeditem: clc - retf + ret endp ;Renvoie dans ax le type de la str0 point‚e par ds:%0 ‚l‚ment %1 delim %3 @@ -225,7 +225,7 @@ proc whatisitem uses bx cx si di, src:word,item:word,delim:word stdcall whatis,di xchg cl,[ds:si] clc - retf + ret endp ;Renvoie dans ax le type de la str0 point‚e par ds:%0 @@ -304,7 +304,7 @@ proc whatis uses bx cx edx si, src:word mov al,07h .endofwhat: clc - retf + ret endp @@ -314,7 +314,7 @@ proc strtoadress ;push stc ;pop - retf + ret endp @@ -323,7 +323,7 @@ proc strisadress ;push stc ;pop - retf + ret endp ;Renvoie non carry si la str ds:%0 point‚e peut ˆtre un nom de fichier @@ -347,7 +347,7 @@ proc strisname uses ax si di, src:word .itsok: clc .itsdead: - retf + ret endp non db '/<>|"?*:\',01,0FFh @@ -381,7 +381,7 @@ proc strisbase uses ax cx si di es, src:word,base:word .okbase: clc .endbase: - retf + ret .verifbase: cmp byte [si+1],0 je .okbase @@ -432,7 +432,7 @@ proc strtoint uses ebx ecx edx si edi es, src:word,base:word .endbaseto: mov eax,ebx clc - retf + ret endp @@ -448,7 +448,7 @@ proc left uses ax cx si di es, src:word,dest:word,nb:word mov al,0 stosb clc - retf + ret endp ;Renvoie en ds:%1 la partie de %2 caractŠres a partir de la droite de ds:%0 @@ -466,7 +466,7 @@ proc right uses ax cx si di es, src:word,dest:word,nb:word mov al,0 stosb clc - retf + ret endp ;Renvoie en ds:%1 la partie de %3 caractŠres a partir de la position %2 de ds:%0 @@ -482,7 +482,7 @@ proc middle uses ax cx si di es, src:word,dest:word,item:word,nb:word mov al,0 stosb clc - retf + ret endp ;Rempli de %3 caractŠres %2 a partir de la position %1 de ds:%0 @@ -496,7 +496,7 @@ proc fill uses ax cx si di es, src:word,item:word,char:word,nb:word cld rep stosb clc - retf + ret endp ;Remplace tout les caractŠres %1 de ds:%0 par des caractŠres %2 @@ -516,7 +516,7 @@ proc replaceallchar uses ax cx dx di es, src:word,char1:word,char2:word jmp .findandchange .endofchange: clc - retf + ret endp ;Recherche un caractŠre dl dans la chaŒne ds:%0 @@ -531,7 +531,7 @@ proc searchchar uses cx di es, src:word,char:word mov ax,di dec ax clc - retf + ret endp ;Inverse la chaine point‚e en ds:%0 @@ -556,7 +556,7 @@ proc invert uses ax cx si di, src:word jmp .revert .finishinvert: clc - retf + ret endp ;Compares 2 chaines de caractŠres DS:%0 et DS:%1 zerof si non equal @@ -572,7 +572,7 @@ proc cmpstr uses cx dx si di, src:word,dest:word jne .notequal repe cmpsb .notequal: - retf + ret endp ;Compares 2 chaines de caractŠres DS:%0 et DS:%1 zerof si non equal et renvoie le nb de caractŠre egaux dans ax @@ -589,13 +589,13 @@ proc evalue uses cx si di es, src:word,dest:word sub ax,cx popf clc - retf + ret .noident: sub ax,cx dec ax popf clc - retf + ret endp ;Insert une chaine ds:%0 en ds:%1 a partir du caractŠre %2 @@ -620,7 +620,7 @@ proc insert uses ax cx si di es, src:word,dest:word,item:word cld rep movsb clc - retf + ret endp @@ -640,7 +640,7 @@ proc delete uses ax cx dx si di es, src:word,item:word,size:word cld rep movsb clc - retf + ret endp ;Copie une chaine de ds:si en es:di @@ -654,7 +654,7 @@ proc copy uses ax cx si di, src:word,dest:word mov al,0 stosb clc - retf + ret endp @@ -673,7 +673,7 @@ proc concat uses ax cx si di es, src:word,dest:word mov al,0 stosb clc - retf + ret endp @@ -699,7 +699,7 @@ proc compressdelimiter uses cx dx si di es, src:word,delim:word jne .compressitems mov ax,dx clc - retf + ret endp ;Met le nombre d'‚l‚ments de ds:%0 à %1 @@ -732,7 +732,7 @@ proc setnbitems uses ax cx di es, src:word,size:word,delim:word mov byte [di],0 .noadjust: clc - retf + ret endp ;Renvoie la taille ax de l'‚l‚ment %0 @@ -745,7 +745,7 @@ proc getitemsize uses cx dx, src:word,item:word,delim:word sub ax,dx dec ax clc - retf + ret endp ;Renvoie en ds:%1 l'‚l‚ment %2 de ds:%0 @@ -762,7 +762,7 @@ proc getitem uses ax cx si di es, src:word,dest:word,item:word,delim:word mov al,0 stosb clc - retf + ret endp ;renvoi un pointeur ax sur l'‚l‚ment %1 de ds:%0 @@ -790,7 +790,7 @@ proc getpointeritem uses cx dx di es, src:word,item:word,delim:word .finishpointer: mov ax,di clc - retf + ret endp ;Renvoie le nombre d'‚l‚ments ax de ds:%0 @@ -810,7 +810,7 @@ proc getnbitems uses cx dx di es, src:word,delim:word jne .countitems mov ax,dx clc - retf + ret endp ;renvoie la taille en octets AX de la chaine point‚e en ds:%0 @@ -827,7 +827,7 @@ proc getlength uses cx di es, src:word dec cx mov ax,cx clc - retf + ret endp ;Met la taille en octets de la chaine point‚e ds:%0 a %1 @@ -836,7 +836,7 @@ proc setlength uses si, src:word,size:word add si,[size] mov byte [si],0 clc - retf + ret endp ;met en majuscule la chaine ds:%0 @@ -855,7 +855,7 @@ proc uppercase uses ax si, src:word jmp .uppercase .enduppercase: clc - retf + ret endp ;met en majuscule la premiŠre lettre chaine ds:%0 @@ -869,7 +869,7 @@ proc onecase uses ax si, src:word sub byte [si],'a'-'A' .oneenduppercase: clc - retf + ret endp ;met en minuscule la chaine ds:%0 @@ -888,7 +888,7 @@ proc lowercase uses ax si, src:word jmp .lowercase .endlowercase: clc - retf + ret endp ;Inverse la casse la chaine ds:%0 @@ -914,6 +914,6 @@ proc invertcase uses ax si, src:word jmp .invertcase .endinvertcase: clc - retf + ret endp diff --git a/lib/video.asm b/lib/video.asm index 186e11e..aeeed99 100644 --- a/lib/video.asm +++ b/lib/video.asm @@ -407,7 +407,7 @@ proc print pointer:word mov bp,di pop di si cx bx ax mov sp,bp - retf + ret endp @@ -432,7 +432,7 @@ proc showdate uses edx, dates:word and dx,11111111b add dx,1956 stdcall showintl,2,edx - retf + ret endp ;================SHOWTIME============== @@ -456,7 +456,7 @@ proc showtime uses edx, times:word and dx,11111b shl dx,1 stdcall showintl,2,edx - retf + ret endp ;================SHOWNAME============== @@ -477,7 +477,7 @@ proc showname uses cx si, thename:word .suiteaname: cmp cx,8+3 jb .showthename - retf + ret endp ;================SHOWATTR============== @@ -531,7 +531,7 @@ proc showattr, attr:word push '-' .directory: invoke showchars - retf + ret endp ;================SHOWSIZE============== @@ -567,7 +567,7 @@ proc showsize uses edx ds, thesize:dword stdcall showintr,4,edx stdcall showstring0,unitgiga .finsize: - retf + ret unit db ' o ',0 unitkilo db ' ko',0 @@ -583,7 +583,7 @@ endp proc showspace invoke showchars,' ',0FFFFh clc - retf + ret endp @@ -614,7 +614,7 @@ local showbuffer[50]:BYTE invoke showchars,cx,0FFFFh dec ax jnz .showinteger - retf + ret endp ;==========SHOWINTL=========== @@ -658,7 +658,7 @@ local showbuffer[50]:BYTE invoke showchars,cx,0FFFFh dec ax jnz .showinteger - retf + ret endp ;==========SHOWINTR=========== @@ -702,7 +702,7 @@ local showbuffer[50]:BYTE invoke showchars,cx,0FFFFh dec ax jnz .showinteger - retf + ret endp ;==========SHOWSIGNED=========== @@ -738,7 +738,7 @@ proc showsigned uses ebx cx edx, sizeofint:word,integer:dword invoke showchars,'-',0FFFFh .notsigned: stdcall showint,edx - retf + ret endp ;==========SHOWHEX=========== @@ -762,7 +762,7 @@ proc showhex uses ax bx cx edx, sizeofint:word,integer:dword invoke showchars,cx,0FFFFh dec al jnz .Hexaize - retf + ret Tab db '0123456789ABCDEF' endp @@ -786,7 +786,7 @@ proc showbin uses ax cx edx, sizeofint:word,integer:dword invoke showchars,cx,0FFFFh dec al jnz .binaize - retf + ret endp ;==========SHOWBCD=========== @@ -810,7 +810,7 @@ proc showbcd uses ax cx edx, sizeofint:word,integer:dword invoke showchars,cx,0FFFFh dec al jnz .BCDaize - retf + ret endp ;==========SHOWSTRING=========== @@ -826,7 +826,7 @@ proc showstring uses bx si, pointer:word invoke showchars,word [si],0FFFFh dec bl jnz .strinaize - retf + ret endp ;==========showchars=========== @@ -836,7 +836,7 @@ endp ;=============================== proc showchar, pointer:word invoke showchars,[pointer],0FFFFh - retf + ret endp ;==========SHOWSTRING0=========== @@ -854,6 +854,6 @@ proc showstring0 uses cx si, pointer:word inc si jmp .strinaize0 .no0: - retf + ret endp diff --git a/noyau/disque.asm b/noyau/disque.asm index f7cad00..73fec05 100644 --- a/noyau/disque.asm +++ b/noyau/disque.asm @@ -100,10 +100,10 @@ endfat: cmp ax,0FF0h jbe nocarry stc - retf + ret nocarry: clc - retf + ret endp ;============loadfile=============== @@ -137,11 +137,11 @@ local temp[48]:WORD stdcall loadway,cx,eax,[pointer] jc errorload clc - retf + ret errorload: stc xor eax,eax - retf + ret endp ;============execfile (Fonction 18)=============== @@ -194,14 +194,14 @@ proc execfile, file:word pop gs fs es ds popad clc - retf + ret .reallyerror: invoke mbfree,ax .reallyerrornoblock: pop gs fs es ds popad stc - retf + ret endp ;============projfile (Fonction 17)=============== @@ -252,11 +252,11 @@ popad jc .errorload .notace: clc - retf + ret .errorload: xor eax,eax stc - retf + ret endp @@ -290,13 +290,13 @@ proc searchfile uses bx cx si di ds es, pointer:word jc .nextsearch .okfound: clc - retf + ret .notgood: cmp si,0FF5h - retf + ret .errorsearch: stc - retf + ret endp ;Transforme la chaine ds:%0 en maj @@ -317,7 +317,7 @@ proc uppercase uses si ax, strs:word jmp .uppercaser .enduppercase: clc - retf + ret endp ;Compare le nom ds:%0 '.' avec ds:%1 @@ -363,10 +363,10 @@ proc cmpnames uses ax cx si di es, off1:word,off2:word jne .notequal .itok: clc - retf + ret .notequal: stc - retf + ret .trynoext: cmp byte [si-1],0 jne .notequal @@ -409,10 +409,10 @@ proc loadway uses eax bx cx dx si di ds es, sector:word,size:dword,offset:word rep movsb .zeroload: clc - retf + ret .noway: stc - retf + ret endp ;=============INITDRIVE=============== @@ -527,10 +527,10 @@ proc initdrive uses eax bx cx edx si di ds es dec dx jnz .seefat clc - retf + ret .errorinit: stc - retf + ret endp datafat db '/fat',0 @@ -554,7 +554,7 @@ proc findfirstfile uses cx si, pointer:word mov [.find.entryplace],cx mov [.find.firstsearch],1 stdcall findnextfile,[pointer] - retf + ret endp ;=============FindnextFile============== @@ -633,10 +633,10 @@ proc findnextfile uses ax bx cx di si ds es, pointer:word cld rep movsb clc - retf + ret .notwell: stc - retf + ret endp ;=============GetFreeSpace=============== @@ -651,7 +651,7 @@ proc getfreespace uses eax bx shl edx,16 add edx,eax pop eax - retf + ret endp ;ax=défectueux bx=libre @@ -705,10 +705,10 @@ proc readcluster uses ax bx dx si, sector:word,pointer:word dec bx jnz .readsectors clc - retf + ret .errorreadincluster: stc - retf + ret endp ;=============WRITECLUSTER=============== @@ -731,10 +731,10 @@ proc writecluster uses ax bx dx si, sector:word,pointer:word dec bx jnz .writesectors clc - retf + ret .errorwriteincluster: stc - retf + ret endp @@ -816,7 +816,7 @@ proc readsector uses ax bx cx dx si di ds es, sector:word,pointer:word mov word [bx+buffer.chain],0FFFEh .error: stc - retf + ret .preprepcopy: mov [tempsec],cx .prepcopy: @@ -838,7 +838,7 @@ proc readsector uses ax bx cx dx si di ds es, sector:word,pointer:word cld rep movsb .done: - retf + ret endp ;=============SETBUFFER============ @@ -871,10 +871,10 @@ proc setbuffer uses ax cx di ds es, size:word cld rep stosw clc - retf + ret .errorinit: stc - retf + ret endp ;=============GETBUFFER============ @@ -893,7 +893,7 @@ proc getbuffer uses ax cx di ds es, pointer:word cld rep movsb clc - retf + ret endp ;=============WRITESECTOR============ @@ -926,7 +926,7 @@ proc writesector uses ax bx cx dx si es, sector:word,pointer:word dec si jnz .tryagain .done: - retf + ret endp ;=============Getname============== @@ -948,7 +948,7 @@ proc getname uses ax cx si di ds es, pointer:word mov cx,11 repne scasb mov byte [es:di],0 - retf + ret endp ;=============Getserial============== ;Renvoie le numéro de serie en EAX @@ -957,7 +957,7 @@ endp ;==================================== proc getserial FAR mov eax,[cs:myboot.serialnumber] - retf + ret endp ;=============VERIFYSECTOR============== @@ -994,7 +994,7 @@ proc verifysector uses ecx si di ds es, sector:word cld rep cmpsd .errorverify: - retf + ret endp @@ -1008,7 +1008,7 @@ invert: cmp cx,[cs:myboot.sectorsize] jb invert pop cx si - retf + ret ;=============DecompressRle (Fonction 05H)============== ;decompress ds:si en es:di taille bp d‚compress‚ cx compress‚ @@ -1054,7 +1054,7 @@ proc decompressrle uses ecx dx si di ds es,seg1:word,off1:word,seg2:word,off2:wo mov ax,di sub ax,[off2] clc - retf + ret endp ;=============CompressRle (Fonction 06H)============== @@ -1108,7 +1108,7 @@ proc compressrle uses ax bx cx dx si di ds es, seg1:word,off1:word,seg2:word,off mov ax,si sub ax,[off2] clc - retf + ret endp ;=============Changedir (Fonction 13)============== @@ -1192,10 +1192,10 @@ local temp[64]:WORD rep movsb .theend: clc - retf + ret .noch: stc - retf + ret endp ;=============getdir============== @@ -1222,7 +1222,7 @@ proc getdir uses ax cx si di ds es, pointer:word cld rep movsb clc - retf + ret endp bufferread db 512 dup (0) diff --git a/noyau/mcb.asm b/noyau/mcb.asm index 2d5de99..859de23 100644 --- a/noyau/mcb.asm +++ b/noyau/mcb.asm @@ -223,7 +223,7 @@ proc mbcreate uses bx cx dx si di ds es, blocks:word, size:word dec dx dec dx mov gs,dx - cmp word [gs:0x0],'HN' + cmp word [gs:0x0],"NH" je .oktoset mov ax,memorystart .oktoset: @@ -239,7 +239,7 @@ proc mbcreate uses bx cx dx si di ds es, blocks:word, size:word cmp dl,false je .notenougtmem mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror cmp [es:mb.isnotlast],true sete dl @@ -248,7 +248,7 @@ proc mbcreate uses bx cx dx si di ds es, blocks:word, size:word mov ax,[es:mb.sizes] cmp cx,ax ja .notsogood - mov word [es:mb.check],"HN" + mov word [es:mb.check],"NH" mov [es:mb.isnotlast],true mov [es:mb.reference],gs mov [es:mb.isresident],false @@ -305,7 +305,7 @@ proc mbfree uses ax bx cx si di ds es, blocks:word dec bx dec bx mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror cmp [es:mb.reference],free je .wasfree @@ -324,7 +324,7 @@ proc mbfree uses ax bx cx si di ds es, blocks:word dec bx .searchtofree: mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror inc bx inc bx @@ -367,7 +367,7 @@ proc mbclean uses ax bx dx es gs xor dx,dx .searchfree: mov gs,bx - cmp word [gs:mb.check],"HN" + cmp word [gs:mb.check],"NH" jne .memoryerror inc bx inc bx @@ -419,7 +419,7 @@ proc mbresident uses bx es, blocks:word dec bx dec bx mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror mov [es:mb.isresident],true ret @@ -434,7 +434,7 @@ proc mbnonresident uses bx es, blocks:word dec bx dec bx mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror mov [es:mb.isresident],false ret @@ -450,7 +450,7 @@ proc mbchown uses bx dx es,blocks:word, owner:word dec bx dec bx mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror cmp [es:mb.reference],free je .wasfree @@ -484,7 +484,7 @@ proc mbget uses bx dx es, num:word xor dx,dx .searchfree: mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror inc bx inc bx @@ -520,7 +520,7 @@ proc mbfind uses bx si di es, blocks:word .search: mov es,bx lea di,[es:mb.names] - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror inc bx inc bx @@ -567,7 +567,7 @@ proc mbfindsb uses bx dx si di es, blocks:word, owner:word mov dx,[owner] .search: mov es,bx - cmp word [es:mb.check],"HN" + cmp word [es:mb.check],"NH" jne .memoryerror inc bx inc bx diff --git a/noyau/systeme.asm b/noyau/systeme.asm index 0189c05..23ba9dc 100644 --- a/noyau/systeme.asm +++ b/noyau/systeme.asm @@ -12,7 +12,7 @@ memorystart equ 0052h ;premier bloc de la m org 0h mb0: -header exe 1,0,imports,allsection,start +header exe 1,exports,imports,allsection,start start: push cs diff --git a/noyau/video.asm b/noyau/video.asm index bcbbe99..cf305d6 100644 --- a/noyau/video.asm +++ b/noyau/video.asm @@ -33,8 +33,8 @@ declare restorescreen declare page2to1 declare page1to2 declare xchgpages -declare waithretfrace -declare waitretfrace +declare waithretrace +declare waitretrace declare getvideoinfos declare savedac declare restoredac @@ -199,7 +199,7 @@ planesize equ 65000 ;===================================== proc enablescroll mov [cs:datablock.scrolling],1 - retf + ret endp ;=============DISABLESCROLLING========= @@ -209,7 +209,7 @@ endp ;====================================== proc disablescroll mov [cs:datablock.scrolling],0 - retf + ret endp ;=============ENABLECURSOR============= @@ -234,7 +234,7 @@ proc enablecursor uses ax dx mov dl,[cs:datablock.y] xor dh,dh stdcall setxy,ax,dx - retf + ret endp ;=============DISABLECURSOR============= @@ -254,7 +254,7 @@ proc disablecursor uses ax dx dec dx mov al,0Ah out dx,ax - retf + ret endp ;==========SETSTYLE========= @@ -265,7 +265,7 @@ endp proc setstyle uses cx, style:word mov ax,[style] mov [cs:datablock.style],al - retf + ret endp ;==========GETSTYLE========= @@ -276,7 +276,7 @@ endp proc getstyle mov al,[cs:datablock.style] xor ah,ah - retf + ret endp ;=============SetVideoMode========= @@ -402,9 +402,9 @@ proc setvideomode uses ax cx dx di, modenum:word mov [cs:datablock.base],ax mov [cs:datablock.cursor],1 mov [cs:datablock.style],0 - retf + ret .errorsetvideomode: - retf + ret endp @@ -416,7 +416,7 @@ initfont: stdcall loadfont,font8x8,8,1 stdcall loadfont,font8x16,16,0 pop ds - retf + ret ;=============GetVideoMode========= ;Renvoie le mode vidéo courant dans AX @@ -426,7 +426,7 @@ initfont: proc getvideomode mov al,[cs:datablock.modenum] xor ah,ah - retf + ret endp ;=============CLEARSCREEN========= @@ -474,7 +474,7 @@ proc clearscreen uses eax cx dx di es rep stosd .endoferase: stdcall setxy,0,0 - retf + ret endp @@ -497,9 +497,9 @@ proc setfont uses ax cx dx, font:word mov dx,sequencer mov al,3 out dx,ax - retf + ret .errorsetfont: - retf + ret endp ;=============GetFont========= @@ -510,7 +510,7 @@ endp proc getfont mov al,[cs:datablock.font] xor ah,ah - retf + ret endp ;!!!!!!!!!!!!!!!!!!!! a remettre les anciens params de timing depuis origine @@ -590,10 +590,10 @@ proc loadfont uses ax bx cx dx si di es, pointer:word, size:word, font:word inc di cmp di,6+6 jbe .doseqs2 - retf + ret .errorloadfont: stc - retf + ret reg2 dw 0100h, 0302h, 0304h, 0300h dw 0004h, 1005h, 0E06h @@ -602,7 +602,7 @@ reg1 dw 0100h, 0402h, 0704h, 0300h endp ;==========SHOWLINE=============== -;remet le curseur text a la ligne avec un retfour chariot +;remet le curseur text a la ligne avec un retour chariot ;-> ;<- ;================================= @@ -623,7 +623,7 @@ proc addline uses bx cx .scro: inc bl stdcall setxy,0,bx - retf + ret endp ;==========SETCOLOR========= @@ -634,7 +634,7 @@ endp proc setcolor, color:word mov cx,[color] mov [cs:datablock.colors],cl - retf + ret endp ;==========GETCOLOR========= @@ -645,7 +645,7 @@ endp proc getcolor mov al,[cs:datablock.colors] xor ah,ah - retf + ret endp ;==========SCROLLDOWN========= @@ -693,7 +693,7 @@ proc scrolldown uses ax cx dx si di ds es, line:word mov ds,ax rep movsb .graphp: - retf + ret endp ;==========GETXY========= @@ -704,7 +704,7 @@ endp proc getxy uses bx mov ah,[cs:datablock.x] mov al,[cs:datablock.y] - retf + ret endp ;==========SETXY========= @@ -724,7 +724,7 @@ proc setxy uses ax bx dx di, x:word ,y: word shl di,1 mov [cs:datablock.xy],di call setcursor - retf + ret endp ;==========SHOWPIXEL========= @@ -784,7 +784,7 @@ proc showpixel uses ax bx cx dx si di es, x:word,y:word,color:word mov al,[es:di] mov [es:di],ch .endofshow: - retf + ret endp ;!!!!!!!!!!!!!! gerer le mode chain 4 @@ -811,7 +811,7 @@ proc getpixel uses ax bx cx dx di es, x:word,y:word mov bx,0A000h mov es,bx mov al,[es:di] - retf + ret endp ;==========GETVGAINFO========= @@ -827,35 +827,35 @@ proc getvideoinfos uses cx si di ds, pointer:word mov di,[pointer] cld rep movsb - retf + ret endp -;==========WAITretfRACE========= -;Synchronisation avec la retfrace verticale +;==========WAITretRACE========= +;Synchronisation avec la retrace verticale ;<- ;-> ;============================== -proc waitretfrace uses ax dx +proc waitretrace uses ax dx mov dx,3DAh .waitr: in al,dx test al,8 jz .waitr - retf + ret endp -;==========WAITHretfRACE========= -;Synchronisation avec la retfrace horizontale +;==========WAITHretRACE========= +;Synchronisation avec la retrace horizontale ;<- ;-> ;=============================== -proc waithretfrace uses ax dx +proc waithretrace uses ax dx mov dx,3DAh .waitr: in al,dx test al,1 jz .waitr - retf + ret endp ;==========GETCHAR========= @@ -869,7 +869,7 @@ proc getchars uses di es mov di,[cs:datablock.xy] mov al,[es:di] xor ah,ah - retf + ret endp ;==========SHOWCHAR========= @@ -902,7 +902,7 @@ proc showchars uses ax bx cx dx di es, char:word,attr:word stdcall addline .noadjusted: call setcursor - retf + ret endp setcursor: @@ -980,10 +980,10 @@ push ax pop ds stdcall savescreento,0 clc -retf +ret .error: stc -retf +ret endp data3 db '/vgascreen',0 @@ -1001,7 +1001,7 @@ proc savescreento uses ecx si di ds es, offset:word xor si,si cld rep movsd - retf + ret endp ;===================================sauve les parametres en ds:%0================ @@ -1016,7 +1016,7 @@ proc saveparamto uses ecx si di ds es, offset:word mov si,datablock cld rep movsb - retf + ret endp ;===================================restore les parametres depuis en ds:%0================ @@ -1030,7 +1030,7 @@ proc restoreparamfrom uses ecx si di es, offset:word mov di,datablock cld rep movsb - retf + ret endp @@ -1050,10 +1050,10 @@ push ax pop ds stdcall restorescreenfrom,0 clc -retf +ret .error: stc -retf +ret endp @@ -1068,7 +1068,7 @@ proc restorescreenfrom uses ecx si di es, offset:word xor di,di cld rep movsd - retf + ret endp @@ -1087,7 +1087,7 @@ proc page2to1 uses ecx si di ds es xor di,di cld rep movsd - retf + ret endp ;===============================Page1to2============================ @@ -1102,7 +1102,7 @@ proc page1to2 uses ecx si di ds es xor si,si cld rep movsd - retf + ret endp ;===============================xchgPages============================ proc xchgpages uses ax ecx si di ds es bp @@ -1128,10 +1128,10 @@ cld rep movsd invoke mbfree,ax clc -retf +ret .error: stc -retf +ret endp data4 db '/vgatemp',0 @@ -1161,10 +1161,10 @@ stdcall savescreento,di add di,[cs:datablock.pagesize] stdcall savedacto,di clc -retf +ret .error: stc -retf +ret endp adata db '/vga',0 @@ -1188,10 +1188,10 @@ stdcall restorescreenfrom,di add di,[cs:datablock.pagesize] stdcall restoredacfrom,di clc -retf +ret .error: stc -retf +ret endp @@ -1208,10 +1208,10 @@ push ax pop ds stdcall savedacto,0 clc -retf +ret .error: stc -retf +ret endp data2 db '/vgadac',0 @@ -1227,10 +1227,10 @@ push ax pop ds stdcall restoredacfrom,0 clc -retf +ret .error: stc -retf +ret endp @@ -1259,7 +1259,7 @@ dec dx dec dx dec cx jne .save -retf +ret endp ;restore le DAC depuis ds:si @@ -1285,7 +1285,7 @@ out dx,al dec dx dec cx jne .save2 -retf +ret endp diff --git a/programs/commande.asm b/programs/commande.asm index f176353..46ff554 100644 --- a/programs/commande.asm +++ b/programs/commande.asm @@ -146,7 +146,7 @@ errorprec: code_exit: pop ax - retf + ret code_version: invoke print, version_text @@ -161,7 +161,7 @@ code_cls: code_reboot: push 0ffffh push 00000h - retf + ret code_command: invoke print, def diff --git a/programs/editeur.asm b/programs/editeur.asm index 09dded6..a8e834a 100644 --- a/programs/editeur.asm +++ b/programs/editeur.asm @@ -231,7 +231,7 @@ suit7: cmp ax,4200h jne adres invoke restorestate -retf +ret calc1: push ax dx si mov ax,[xx] diff --git a/programs/exem.asm b/programs/exem.asm index 736c8a8..10da75d 100644 --- a/programs/exem.asm +++ b/programs/exem.asm @@ -11,7 +11,7 @@ header exe 1,0,imports,0,realstart realstart: invoke print,message invoke waitkey - retf + ret message db 'Appel de la librairie \c02video\c07 et de la librairie \c02EXEM-LIB.LIB\c07 !',0 diff --git a/programs/gestion.asm b/programs/gestion.asm index fc2825a..a612da3 100644 --- a/programs/gestion.asm +++ b/programs/gestion.asm @@ -67,7 +67,7 @@ tre3: tre4: cmp ah,67 jne endof - retf + ret ;couleur al pour ligne %0 en %1 proc changelineattr uses ax bx di es,line:word,attr:word @@ -86,7 +86,7 @@ mov [es:di],bl add di,2 dec al jnz popep -retf +ret endp xx dw 1 diff --git a/programs/logo.asm b/programs/logo.asm index 39de5b4..082dc7f 100644 --- a/programs/logo.asm +++ b/programs/logo.asm @@ -35,7 +35,7 @@ endofit: xor ax,ax int 16h invoke restorestate - retf + ret problem: push cs diff --git a/programs/pmode.asm b/programs/pmode.asm index 7047661..5cad12f 100644 --- a/programs/pmode.asm +++ b/programs/pmode.asm @@ -12,6 +12,6 @@ realstart: mov eax,cr0 or al,1 mov cr0,eax - retf + ret diff --git a/programs/souris.asm b/programs/souris.asm index 14da112..970d1e6 100644 --- a/programs/souris.asm +++ b/programs/souris.asm @@ -12,11 +12,11 @@ realstart: invoke mouseon jc errormouse invoke print, message - retf + ret errormouse: invoke print, errormessage - retf + ret message db 'Activation de la souris\l',0 errormessage db 'impossible d''activer la souris\l',0 diff --git a/programs/test.asm b/programs/test.asm index d6f6bb2..ef69095 100644 --- a/programs/test.asm +++ b/programs/test.asm @@ -85,7 +85,7 @@ go4: mov ax,0 int 16h invoke restorestate - retf + ret put: invoke random mov di,ax diff --git a/programs/test2d.asm b/programs/test2d.asm index deff632..135ffb2 100644 --- a/programs/test2d.asm +++ b/programs/test2d.asm @@ -33,7 +33,7 @@ show: jnz show invoke bioswaitkey invoke restorestate - retf + ret importing use VIDEO.LIB,print diff --git a/programs/test3d.asm b/programs/test3d.asm index 2abdebe..5bf09d5 100644 --- a/programs/test3d.asm +++ b/programs/test3d.asm @@ -183,7 +183,7 @@ retrace: jmp rool endee: invoke restorestate - retf + ret errorloading: push cs diff --git a/programs/verifier.asm b/programs/verifier.asm index aecf6b6..8da1745 100644 --- a/programs/verifier.asm +++ b/programs/verifier.asm @@ -56,13 +56,13 @@ someof: mov ah,0 int 16h invoke restorestate - retf + ret errors: invoke print, error mov ah,0 int 16h invoke restorestate - retf + ret error db '\g10,10Erreur avec le lecteur de disquette !',0 error2 db '\g10,10Le disque est defectueux, appuyez sur une touche pour quitter',0 diff --git a/programs/volume.asm b/programs/volume.asm index b76e56c..63d02eb 100644 --- a/programs/volume.asm +++ b/programs/volume.asm @@ -225,7 +225,7 @@ suit7: cmp ax,4200h jne adres invoke restorestate -retf +ret calc1: push ax dx si mov ax,[xx]