From: George H. <geo...@us...> - 2006-12-02 12:21:26
|
Update of /cvsroot/win32forth/win32forth-stc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv456/win32forth-stc/src Modified Files: 486asm.f dis486.f Log Message: gah:Fixed bug in dissembler and added FCOMI and FCMOV instructions Index: dis486.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/dis486.f,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** dis486.f 30 Nov 2006 20:17:07 -0000 1.7 --- dis486.f 2 Dec 2006 12:21:22 -0000 1.8 *************** *** 691,700 **** bits3-5 S" fcmovb fcmove fcmovbefcmovu ??? ??? ??? ??? " ! 7 .ss ; : fda ( addr op -- ) drop count dup 0xc0 < IF dup falu3 .dword mod-r/m(ModR/M) ! ELSE 0xe9 = IF .sop" fucompp" drop ELSE dup fcmova sti. --- 691,700 ---- bits3-5 S" fcmovb fcmove fcmovbefcmovu ??? ??? ??? ??? " ! 7 .ss ; : fda ( addr op -- ) drop count dup 0xc0 < IF dup falu3 .dword mod-r/m(ModR/M) ! ELSE dup 0xe9 = IF .sop" fucompp" drop ELSE dup fcmova sti. *************** *** 764,768 **** IF .sop" fnstsw" ." ax " drop ELSE dup 0x38 and ! CASE 0x28 OF .sop" fucomip" sti. endof 0x30 OF .sop" fcomip" sti. endof ??? --- 764,769 ---- IF .sop" fnstsw" ." ax " drop ELSE dup 0x38 and ! CASE 0x00 OF .sop" ffreep" sti. endof ! 0x28 OF .sop" fucomip" sti. endof 0x30 OF .sop" fcomip" sti. endof ??? *************** *** 922,926 **** else mod-r/m(ModR/M) then ., .regm(XX-XXX-NNN) ; ! : par ( adr op -- adr' ) opstr does> count (.sop") mmx-size r,r/m() ; --- 923,927 ---- else mod-r/m(ModR/M) then ., .regm(XX-XXX-NNN) ; ! : par ( adr op -- adr' ) opstr does> count (.sop") mmx-size r,r/m() ; *************** *** 930,937 **** par ceq "pcmpeq" par sus "psubus" ! par sbs "psubs" ! par sub "psub" par aus "paddus" ! par ads "padds" par add "padd" --- 931,938 ---- par ceq "pcmpeq" par sus "psubus" ! par sbs "psubs" ! par sub "psub" par aus "paddus" ! par ads "padds" par add "padd" *************** *** 1065,1069 **** repeat 3drop ; ! \ create ttable \ tval , ," value" --- 1066,1070 ---- repeat 3drop ; ! \ create ttable \ tval , ," value" *************** *** 1078,1082 **** : desc-stack ( n -- ) dup 0< if drop ." ? " else . then ; ! also forth definitions --- 1079,1083 ---- : desc-stack ( n -- ) dup 0< if drop ." ? " else . then ; ! also forth definitions Index: 486asm.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/486asm.f,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 486asm.f 21 Sep 2006 16:26:32 -0000 1.1 --- 486asm.f 2 Dec 2006 12:21:22 -0000 1.2 *************** *** 25,28 **** --- 25,30 ---- \ simplified cell/ 8* 8/ 16*+ 16/mod + \ gah Friday, December 01 2006 - 22:18 added FCMOVcc FCOMI etc FFREEP instructions + ( declare the vocabularies needed ) only forth definitions ( vocabulary assembler ) also assembler definitions *************** *** 1498,1502 **** ?inst-pre register generic-entry2 ?noimmed ?reg,r/m code-w, compile-fields ; ! ( mov instruction ) : mov-compile ( compile a mov instruction ) --- 1500,1504 ---- ?inst-pre register generic-entry2 ?noimmed ?reg,r/m code-w, compile-fields ; ! ( mov instruction ) : mov-compile ( compile a mov instruction ) *************** *** 1781,1785 **** --- 1783,1797 ---- 0e0d9 ' 2byte opcode fchs 0e2db9b ' 3byte opcode fclex + 0c0da ' fmisc-compile opcode fcmovb + 0c8da ' fmisc-compile opcode fcmove + 0d0da ' fmisc-compile opcode fcmovbe + 0d8da ' fmisc-compile opcode fcmovu + 0c0db ' fmisc-compile opcode fcmovnb + 0c8db ' fmisc-compile opcode fcmovne + 0d0db ' fmisc-compile opcode fcmovnbe + 0d8db ' fmisc-compile opcode fcmovnu 02 ' fcom-compile opcode fcom + 0f0db ' fmisc-compile opcode fcomi + 0f0df ' fmisc-compile opcode fcomip 03 ' fcom-compile opcode fcomp 0d9de ' 2byte opcode fcompp *************** *** 1792,1795 **** --- 1804,1808 ---- 0f0 ' fxp-compile opcode fdivrp \ added for compatibility with some other assemblers 0c0dd ' fmisc-compile opcode ffree + 0c0df ' fmisc-compile opcode ffreep 00 ' fix-compile opcode fiadd 02 ' fix-compile opcode ficom *************** *** 1847,1850 **** --- 1860,1865 ---- 0e4d9 ' 2byte opcode ftst 0e0dd ' fmisc-compile opcode fucom + 0e8db ' fmisc-compile opcode fucomi + 0e8df ' fmisc-compile opcode fucomip 0e8dd ' fmisc-compile opcode fucomp 0e9da ' 2byte opcode fucompp |