Przeglądaj źródła

Removed unnecessary register restore and return value

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7683 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 lat temu
rodzic
commit
aa83d017bf

+ 3 - 10
source/Generic.Linux.I386.Glue.Mod

@@ -144,18 +144,11 @@ VAR
 
 	PROCEDURE {NOPAF} putc*(file: ADDRESS; c: CHAR);
 	CODE
-		PUSH ECX
 		MOV EAX, 4
-		MOV EBX, [ESP + 12]
-		LEA ECX, [ESP+8]	
+		MOV EBX, [ESP + 8]
+		LEA ECX, [ESP + 4]
 		MOV EDX, 1
 		INT 80H
-		POP ECX
-		JNE fail
-		MOV EAX, [ESP + 4]
-		RET
-		fail:
-		MOV EAX, -1
 		RET
 	END putc;
 
@@ -489,4 +482,4 @@ Oberon.TCPExample.Mod
 ~
 SystemTools.Show Time elapsed: ~ SystemTools.Ln ~
 SystemTools.Timer elapsed ~ SystemTools.Ln ~
-~
+~

+ 2 - 9
source/Linux.I386.ElfHeader.Mod

@@ -135,18 +135,11 @@ VAR
 
 	PROCEDURE {NOPAF} putc*(file: ADDRESS; c: CHAR);
 	CODE
-		PUSH ECX
 		MOV EAX, 4
-		MOV EBX, [ESP + 12]
-		LEA ECX, [ESP+8]	
+		MOV EBX, [ESP + 8]
+		LEA ECX, [ESP + 4]
 		MOV EDX, 1
 		INT 80H
-		POP ECX
-		JNE fail
-		MOV EAX, [ESP + 4]
-		RET
-		fail:
-		MOV EAX, -1
 		RET
 	END putc;