浏览代码

Rebuilt 64bit winaos

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7658 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 年之前
父节点
当前提交
5f918214c1
共有 100 个文件被更改,包括 43 次插入25 次删除
  1. 2 2
      source/Builds.Tool
  2. 2 2
      source/Fox.Tool
  3. 二进制
      win64/bin/A2Sequencers.GofWw
  4. 二进制
      win64/bin/ADVAPI32.GofWw
  5. 二进制
      win64/bin/AFM.GofWw
  6. 二进制
      win64/bin/AMD64Decoder.GofWw
  7. 二进制
      win64/bin/ARMDecoder.GofWw
  8. 二进制
      win64/bin/ASMAMD64.GofWw
  9. 二进制
      win64/bin/ASN1.GofWw
  10. 二进制
      win64/bin/ActiveTimers.GofWw
  11. 二进制
      win64/bin/AlmSmtpReceiver.GofWw
  12. 二进制
      win64/bin/AnimationCodec.GofWw
  13. 二进制
      win64/bin/Archives.GofWw
  14. 二进制
      win64/bin/Attributes.GofWw
  15. 二进制
      win64/bin/Autostart.GofWw
  16. 二进制
      win64/bin/BIT.GofWw
  17. 二进制
      win64/bin/BMPCodec.GofWw
  18. 二进制
      win64/bin/Base64.GofWw
  19. 二进制
      win64/bin/Beep.GofWw
  20. 二进制
      win64/bin/BeepTest.GofWw
  21. 二进制
      win64/bin/BenchSyntaxHighlighter.GofWw
  22. 二进制
      win64/bin/BenchTCP.GofWw
  23. 二进制
      win64/bin/BenchXML.GofWw
  24. 二进制
      win64/bin/BimboMail.GofWw
  25. 二进制
      win64/bin/BimboScanner.GofWw
  26. 二进制
      win64/bin/Bimso.GofWw
  27. 二进制
      win64/bin/Bin2Hex.GofWw
  28. 二进制
      win64/bin/BinToCode.GofWw
  29. 二进制
      win64/bin/BitSets.GofWw
  30. 二进制
      win64/bin/BootConsole.GofWw
  31. 二进制
      win64/bin/BootManager.GofWw
  32. 二进制
      win64/bin/BootShell.GofWw
  33. 二进制
      win64/bin/CATServer.GofWw
  34. 二进制
      win64/bin/CLUTs.GofWw
  35. 二进制
      win64/bin/CPUID.GofWw
  36. 二进制
      win64/bin/CRC.GofWw
  37. 二进制
      win64/bin/CSS2.GofWw
  38. 二进制
      win64/bin/CSS2Parser.GofWw
  39. 二进制
      win64/bin/CSS2Properties.GofWw
  40. 二进制
      win64/bin/CSS2Scanner.GofWw
  41. 二进制
      win64/bin/CSV.GofWw
  42. 二进制
      win64/bin/Caches.GofWw
  43. 二进制
      win64/bin/CharacterLineup.GofWw
  44. 二进制
      win64/bin/Checksum.GofWw
  45. 二进制
      win64/bin/Clipboard.GofWw
  46. 二进制
      win64/bin/Clock.GofWw
  47. 二进制
      win64/bin/Codecs.GofWw
  48. 二进制
      win64/bin/ColorModels.GofWw
  49. 二进制
      win64/bin/CommandLine.GofWw
  50. 二进制
      win64/bin/Commands.GofWw
  51. 二进制
      win64/bin/Compiler.GofWw
  52. 2 1
      win64/bin/Compiler.SymWw
  53. 二进制
      win64/bin/CompilerInterface.GofWw
  54. 二进制
      win64/bin/ComplexNumbers.GofWw
  55. 二进制
      win64/bin/ComponentInfo.GofWw
  56. 二进制
      win64/bin/ComponentViewer.GofWw
  57. 二进制
      win64/bin/Configuration.GofWw
  58. 二进制
      win64/bin/ContextualDependency.GofWw
  59. 二进制
      win64/bin/CryptoAES.GofWw
  60. 4 14
      win64/bin/CryptoAES.SymWw
  61. 二进制
      win64/bin/CryptoARC4.GofWw
  62. 1 1
      win64/bin/CryptoARC4.SymWw
  63. 二进制
      win64/bin/CryptoBase64.GofWw
  64. 二进制
      win64/bin/CryptoBigNumbers.GofWw
  65. 二进制
      win64/bin/CryptoBlowfish.GofWw
  66. 二进制
      win64/bin/CryptoCAST.GofWw
  67. 二进制
      win64/bin/CryptoCSPRNG.GofWw
  68. 二进制
      win64/bin/CryptoCiphers.GofWw
  69. 二进制
      win64/bin/CryptoDES.GofWw
  70. 16 0
      win64/bin/CryptoDES.SymWw
  71. 二进制
      win64/bin/CryptoDES3.GofWw
  72. 1 1
      win64/bin/CryptoDES3.SymWw
  73. 二进制
      win64/bin/CryptoDSA.GofWw
  74. 二进制
      win64/bin/CryptoDiffieHellman.GofWw
  75. 二进制
      win64/bin/CryptoHMAC.GofWw
  76. 二进制
      win64/bin/CryptoHashes.GofWw
  77. 二进制
      win64/bin/CryptoIDEA.GofWw
  78. 二进制
      win64/bin/CryptoKeccakF1600.GofWw
  79. 二进制
      win64/bin/CryptoKeccakSponge.GofWw
  80. 二进制
      win64/bin/CryptoMD5.GofWw
  81. 二进制
      win64/bin/CryptoPrimes.GofWw
  82. 二进制
      win64/bin/CryptoRSA.GofWw
  83. 二进制
      win64/bin/CryptoSHA1.GofWw
  84. 二进制
      win64/bin/CryptoSHA256.GofWw
  85. 二进制
      win64/bin/CryptoSHA3.GofWw
  86. 二进制
      win64/bin/CryptoTestBigNumbers.GofWw
  87. 二进制
      win64/bin/CryptoTestCiphers.GofWw
  88. 2 0
      win64/bin/CryptoTestCiphers.SymWw
  89. 二进制
      win64/bin/CryptoTestDH.GofWw
  90. 二进制
      win64/bin/CryptoTestDSA.GofWw
  91. 二进制
      win64/bin/CryptoTestHMAC.GofWw
  92. 二进制
      win64/bin/CryptoTestHashes.GofWw
  93. 二进制
      win64/bin/CryptoTestRSA.GofWw
  94. 二进制
      win64/bin/CryptoTwofish.GofWw
  95. 13 4
      win64/bin/CryptoTwofish.SymWw
  96. 二进制
      win64/bin/CryptoUtils.GofWw
  97. 二进制
      win64/bin/CyberbitNetInstall.GofWw
  98. 二进制
      win64/bin/CyrillicUtilities.GofWw
  99. 二进制
      win64/bin/DES.GofWw
  100. 二进制
      win64/bin/DNS.GofWw

+ 2 - 2
source/Builds.Tool

@@ -85,9 +85,9 @@ SOLARIS32G -- 32 bit solaris a2 using generic object files
 Win64G -- work in progress
 ================
 	
-	Release.Build WinAosG64 ~
+	Release.Build --path=NewAos/ WinAosG64 ~
 
-	StaticLinker.Link --fileFormat=PE64CUI --fileName=oberon64.exe --extension=GofWw --displacement=401000H  
+	StaticLinker.Link --path=./NewAos/ --fileFormat=PE64CUI --fileName=oberon64.exe --extension=GofWw --displacement=401000H  
 		Runtime Trace Kernel32 
 		Heaps Modules Objects Kernel
 		KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets 

+ 2 - 2
source/Fox.Tool

@@ -1,6 +1,6 @@
 Fox - Flexible Oberon Cross Compiler
 Build and Test Tool
-(c) Felix Friedrich (fof), ETH Zürich, 2008-2016
+(c) Felix Friedrich (fof), ETH Zürich, 2008-2018
 Conceptual design of the compiler has been worked out together with Florian Negele.
 
 Heaps.SetYoung 
@@ -11,7 +11,7 @@ Compiler.Compile --noInterfaceCheck
 	SystemTools.DoCommands
 	SystemTools.Timer start ~
 
-	Compiler.Compile -p=Win32G *)
+	Compiler.Compile *)
 
 	BitSets.Mod ObjectFile.Mod GenericLinker.Mod StaticLinker.Mod
 	FoxBasic.Mod  FoxProgTools.Mod  FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod

二进制
win64/bin/A2Sequencers.GofWw


二进制
win64/bin/ADVAPI32.GofWw


二进制
win64/bin/AFM.GofWw


二进制
win64/bin/AMD64Decoder.GofWw


二进制
win64/bin/ARMDecoder.GofWw


二进制
win64/bin/ASMAMD64.GofWw


二进制
win64/bin/ASN1.GofWw


二进制
win64/bin/ActiveTimers.GofWw


二进制
win64/bin/AlmSmtpReceiver.GofWw


二进制
win64/bin/AnimationCodec.GofWw


二进制
win64/bin/Archives.GofWw


二进制
win64/bin/Attributes.GofWw


二进制
win64/bin/Autostart.GofWw


二进制
win64/bin/BIT.GofWw


二进制
win64/bin/BMPCodec.GofWw


二进制
win64/bin/Base64.GofWw


二进制
win64/bin/Beep.GofWw


二进制
win64/bin/BeepTest.GofWw


二进制
win64/bin/BenchSyntaxHighlighter.GofWw


二进制
win64/bin/BenchTCP.GofWw


二进制
win64/bin/BenchXML.GofWw


二进制
win64/bin/BimboMail.GofWw


二进制
win64/bin/BimboScanner.GofWw


二进制
win64/bin/Bimso.GofWw


二进制
win64/bin/Bin2Hex.GofWw


二进制
win64/bin/BinToCode.GofWw


二进制
win64/bin/BitSets.GofWw


二进制
win64/bin/BootConsole.GofWw


二进制
win64/bin/BootManager.GofWw


二进制
win64/bin/BootShell.GofWw


二进制
win64/bin/CATServer.GofWw


二进制
win64/bin/CLUTs.GofWw


二进制
win64/bin/CPUID.GofWw


二进制
win64/bin/CRC.GofWw


二进制
win64/bin/CSS2.GofWw


二进制
win64/bin/CSS2Parser.GofWw


二进制
win64/bin/CSS2Properties.GofWw


二进制
win64/bin/CSS2Scanner.GofWw


二进制
win64/bin/CSV.GofWw


二进制
win64/bin/Caches.GofWw


二进制
win64/bin/CharacterLineup.GofWw


二进制
win64/bin/Checksum.GofWw


二进制
win64/bin/Clipboard.GofWw


二进制
win64/bin/Clock.GofWw


二进制
win64/bin/Codecs.GofWw


二进制
win64/bin/ColorModels.GofWw


二进制
win64/bin/CommandLine.GofWw


二进制
win64/bin/Commands.GofWw


二进制
win64/bin/Compiler.GofWw


+ 2 - 1
win64/bin/Compiler.SymWw

@@ -1,5 +1,5 @@
 MODULE Compiler;
-	IMPORT Basic := FoxBasic, Scanner := FoxScanner, Parser := FoxParser, SemanticChecker := FoxSemanticChecker, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, Streams, Commands, Diagnostics, Options, Kernel, Printout := FoxPrintout, Backend := FoxBackend, Strings, Global := FoxGlobal, Frontend := FoxFrontend, Files;
+	IMPORT Basic := FoxBasic, Scanner := FoxScanner, Parser := FoxParser, SemanticChecker := FoxSemanticChecker, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, Streams, Commands, Diagnostics, Options, Kernel, Printout := FoxPrintout, Backend := FoxBackend, Strings, Global := FoxGlobal, Frontend := FoxFrontend, Files, Machine;
 CONST 
 	Print* = 0; 
 	Silent* = 1; 
@@ -46,5 +46,6 @@ VAR
 	PROCEDURE ^ AddPlatform*(context: Commands.Context); 
 	PROCEDURE ^ SetDefaultPlatform*(context: Commands.Context); 
 	PROCEDURE ^ GetDefaultPlatform(VAR name: ARRAY OF CHAR): BOOLEAN; 
+	PROCEDURE ^ SetupDefaults; 
 BEGIN
 END Compiler.

二进制
win64/bin/CompilerInterface.GofWw


二进制
win64/bin/ComplexNumbers.GofWw


二进制
win64/bin/ComponentInfo.GofWw


二进制
win64/bin/ComponentViewer.GofWw


二进制
win64/bin/Configuration.GofWw


二进制
win64/bin/ContextualDependency.GofWw


二进制
win64/bin/CryptoAES.GofWw


+ 4 - 14
win64/bin/CryptoAES.SymWw

@@ -12,10 +12,10 @@ CONST
 TYPE 
 	RTable = ARRAY 256 OF SET; 
 
+	RKeys = ARRAY (4 * (MaxRounds + 1)) OF SET; 
+
 	Cipher* = OBJECT (Ciphers.Cipher)
 	TYPE 
-		Key = ARRAY (4 * (MaxRounds + 1)) OF SET; 
-
 		Block = ARRAY 4 OF SET; 
 
 		Ind4 = RECORD 
@@ -23,7 +23,7 @@ TYPE
 		END; 
 	VAR 
 		rounds: SHORTINT; 
-		key, dkey: Key; 
+		key, dkey: RKeys; 
 		iv: Block; 
 
 		PROCEDURE ^ InitKey*(CONST src: ARRAY OF CHAR; keybits: LONGINT); 
@@ -43,19 +43,9 @@ TYPE
 		PROCEDURE ^ Init128(CONST src: ARRAY OF CHAR): SHORTINT; 
 		PROCEDURE ^ Init192(CONST src: ARRAY OF CHAR): SHORTINT; 
 		PROCEDURE ^ Init256(CONST src: ARRAY OF CHAR): SHORTINT; 
-		PROCEDURE ^ InvertKey; 
+		PROCEDURE ^ InvertKeys; 
 		PROCEDURE ^  & Init*; 
 	END Cipher; 
-
-	ConstBuffer = OBJECT 
-	VAR 
-		buf: ARRAY 2048 OF CHAR; 
-		ib: LONGINT; 
-
-		PROCEDURE ^  & Initialize; 
-		PROCEDURE ^ Append(CONST str: ARRAY OF CHAR); 
-		PROCEDURE ^ GetInt(): LONGINT; 
-	END ConstBuffer; 
 VAR 
 	e0, e1, e2, e3, e4: RTable; 
 	d0, d1, d2, d3, d4: RTable; 

二进制
win64/bin/CryptoARC4.GofWw


+ 1 - 1
win64/bin/CryptoARC4.SymWw

@@ -4,7 +4,7 @@ CONST
 TYPE 
 	Cipher* = OBJECT (Ciphers.Cipher)
 	VAR 
-		s: ARRAY 256 OF CHAR; 
+		s: ARRAY 256 OF LONGINT; 
 		i, j: LONGINT; 
 
 		PROCEDURE ^  & Init*; 

二进制
win64/bin/CryptoBase64.GofWw


二进制
win64/bin/CryptoBigNumbers.GofWw


二进制
win64/bin/CryptoBlowfish.GofWw


二进制
win64/bin/CryptoCAST.GofWw


二进制
win64/bin/CryptoCSPRNG.GofWw


二进制
win64/bin/CryptoCiphers.GofWw


二进制
win64/bin/CryptoDES.GofWw


+ 16 - 0
win64/bin/CryptoDES.SymWw

@@ -1,11 +1,20 @@
 MODULE CryptoDES;
 	IMPORT S := SYSTEM, U := CryptoUtils, Ciphers := CryptoCiphers;
 CONST 
+	Mask01 = S.VAL(SET, 0AAAAAAAAH); 
+	Mask02 = S.VAL(SET, 858993459); 
+	Mask04 = S.VAL(SET, 252645135); 
+	Mask08 = S.VAL(SET, 16711935); 
+	Mask16 = S.VAL(SET, 65535); 
 TYPE 
 	Sandbox = ARRAY 64 OF SET; 
 
 	BitSwap = ARRAY 16 OF SET; 
 
+	Ind4* = RECORD 
+		a-, b-, c-, d-: LONGINT; 
+	END; 
+
 	Cipher* = OBJECT (Ciphers.Cipher)
 	VAR 
 		ske, skd: ARRAY 32 OF SET; 
@@ -24,6 +33,13 @@ VAR
 	sb1-, sb2-, sb3-, sb4-, sb5-, sb6-, sb7-, sb8-: Sandbox; 
 	LHs, RHs: BitSwap; 
 
+	PROCEDURE  - Split*(x: SET; VAR i4: Ind4);
+	BEGIN
+		i4.a := (S.VAL(LONGINT, x) MOD 64); 
+		i4.b := ((S.VAL(LONGINT, x) DIV 256) MOD 64); 
+		i4.c := ((S.VAL(LONGINT, x) DIV 65536) MOD 64); 
+		i4.d := ((S.VAL(LONGINT, x) DIV 16777216) MOD 64)
+	END Split; 
 	PROCEDURE ^ NewCipher*(): Ciphers.Cipher; 
 	PROCEDURE ^ IP*(VAR x, y: SET); 
 	PROCEDURE ^ FP*(VAR x, y: SET); 

二进制
win64/bin/CryptoDES3.GofWw


+ 1 - 1
win64/bin/CryptoDES3.SymWw

@@ -1,5 +1,5 @@
 MODULE CryptoDES3;
-	IMPORT Ciphers := CryptoCiphers, U := CryptoUtils, DES := CryptoDES, S := SYSTEM;
+	IMPORT Ciphers := CryptoCiphers, U := CryptoUtils, D := CryptoDES;
 CONST 
 TYPE 
 	Cipher* = OBJECT (Ciphers.Cipher)

二进制
win64/bin/CryptoDSA.GofWw


二进制
win64/bin/CryptoDiffieHellman.GofWw


二进制
win64/bin/CryptoHMAC.GofWw


二进制
win64/bin/CryptoHashes.GofWw


二进制
win64/bin/CryptoIDEA.GofWw


二进制
win64/bin/CryptoKeccakF1600.GofWw


二进制
win64/bin/CryptoKeccakSponge.GofWw


二进制
win64/bin/CryptoMD5.GofWw


二进制
win64/bin/CryptoPrimes.GofWw


二进制
win64/bin/CryptoRSA.GofWw


二进制
win64/bin/CryptoSHA1.GofWw


二进制
win64/bin/CryptoSHA256.GofWw


二进制
win64/bin/CryptoSHA3.GofWw


二进制
win64/bin/CryptoTestBigNumbers.GofWw


二进制
win64/bin/CryptoTestCiphers.GofWw


+ 2 - 0
win64/bin/CryptoTestCiphers.SymWw

@@ -7,6 +7,7 @@ CONST
 	PROCEDURE ^ Ctr1*(context: Commands.Context); 
 	PROCEDURE ^ Ecb2*(CONST modname, input, output, key: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ Cbc2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
+	PROCEDURE ^ DecryptCbc2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ Ctr2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ MeasureTime*(context: Commands.Context); 
 	PROCEDURE ^ DesEcb2*; 
@@ -19,5 +20,6 @@ CONST
 	PROCEDURE ^ IdeaCbc2*; 
 	PROCEDURE ^ AesCbc2*; 
 	PROCEDURE ^ AesCtr2*; 
+	PROCEDURE ^ CbcRandom*(context: Commands.Context); 
 BEGIN
 END CryptoTestCiphers.

二进制
win64/bin/CryptoTestDH.GofWw


二进制
win64/bin/CryptoTestDSA.GofWw


二进制
win64/bin/CryptoTestHMAC.GofWw


二进制
win64/bin/CryptoTestHashes.GofWw


二进制
win64/bin/CryptoTestRSA.GofWw


二进制
win64/bin/CryptoTwofish.GofWw


+ 13 - 4
win64/bin/CryptoTwofish.SymWw

@@ -2,11 +2,15 @@ MODULE CryptoTwofish;
 	IMPORT S := SYSTEM, Ciphers := CryptoCiphers, U := CryptoUtils;
 CONST 
 	N = 16; 
+	FDBK = 361; 
+	Fdbk2 = S.VAL(SET, (FDBK DIV 2)); 
+	Fdbk4 = S.VAL(SET, (FDBK DIV 4)); 
+	Byte0 = S.VAL(SET, 255); 
+	S14d = S.VAL(SET, 333); 
+	S0a6 = S.VAL(SET, 166); 
 TYPE 
 	Block = ARRAY 4 OF SET; 
 
-	LI = LONGINT; 
-
 	SKey = ARRAY 4 OF SET; 
 
 	Cipher* = OBJECT (Ciphers.Cipher)
@@ -25,14 +29,19 @@ TYPE
 		PROCEDURE ^  & Init*; 
 	END Cipher; 
 VAR 
-	tab: ARRAY 2 OF ARRAY 256 OF SET; 
+	tab0: ARRAY 256 OF SET; 
+	tab1: ARRAY 256 OF SET; 
 
 	PROCEDURE ^ NewCipher*(): Ciphers.Cipher; 
 	PROCEDURE ^ m1(x: LONGINT): SET; 
 	PROCEDURE ^ mx(x: LONGINT): SET; 
 	PROCEDURE ^ my(x: LONGINT): SET; 
 	PROCEDURE ^ split(x: LONGINT; VAR v: SKey); 
-	PROCEDURE ^ f32(x: LONGINT; CONST k32: ARRAY OF LONGINT; keybits: LONGINT): LONGINT; 
+	PROCEDURE  - Int(x: SET): LONGINT;
+	BEGIN
+		RETURN S.VAL(LONGINT, x)
+	END Int; 
+	PROCEDURE ^ F32(x: SET; CONST k32: ARRAY OF LONGINT; keybits: LONGINT): LONGINT; 
 	PROCEDURE ^ Encode(k0, k1: LONGINT): LONGINT; 
 	PROCEDURE ^ Init0; 
 BEGIN

二进制
win64/bin/CryptoUtils.GofWw


二进制
win64/bin/CyberbitNetInstall.GofWw


二进制
win64/bin/CyrillicUtilities.GofWw


二进制
win64/bin/DES.GofWw


二进制
win64/bin/DNS.GofWw


部分文件因为文件数量过多而无法显示