| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| ThePuppetMaster 
 
  
 Anmeldungsdatum: 18.02.2007
 Beiträge: 1839
 Wohnort: [JN58JR]
 
 | 
			
				|  Verfasst am: 19.12.2007, 05:52    Titel: FB zu ASM übersetzen |   |  
				| 
 |  
				| Hallöle .. ich arbeite gerade ein "etwas", und benötige ein wenig hilfe. Da ich schon ewig nicht mehr in ASM geschriebenhabe, und es auch nicht mehr wirklich behersche, wäre ich euch dankbar, wenn mir jemand dieses Codefragment übersetzen könnte. 
 
  	  | Code: |  	  | 'Ist X gleich 1 dann If  X =      1 Then
 
 '   Gebe aus „ja [1]“
 Print    "ja [1]"
 | 
 
 Bitte ohne irgend welche Deklarationen, oder speicherreservierungen im ASM code. Ausschliesslich dieses Codefragment, auch wenn es nicht fuktionieren wird. Es geht hier um einen Programmiersprachenvergleich.
 
 Vielen Dank
 
 
 MfG
 TPM
 _________________
 [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ytwinky 
 
  
 Anmeldungsdatum: 28.05.2005
 Beiträge: 2624
 Wohnort: Machteburch
 
 | 
			
				|  Verfasst am: 19.12.2007, 18:11    Titel: |   |  
				| 
 |  
				| Hmm, ich bin nicht sehr firm in ASM also reicht es nur zu etwas Pseudo-Asm: Die Strings mußt du halt selber reinbasteln.. 	  | Code: |  	  | Xor AX, AX 'Akku löschen Mov AX, Vergleichswert 'in den Akku laden
 Cmp 1 'durch den Vergleich werden die Flags gesetzt
 JZ Ja 'JZ ist mein Lieblingsbefehl, weiß aber nicht, obs den noch gibt
   'Nein ausgeben
 Ja:
 'Ja ausgeben
 | 
 Gruß
 ytwinky
 _________________
 
 ..also ungefähr so, wie ich GOTO.. 	  | v1ctor hat Folgendes geschrieben: |  	  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Bimi 
 
 
 Anmeldungsdatum: 03.12.2007
 Beiträge: 66
 
 
 | 
			
				|  Verfasst am: 19.12.2007, 18:24    Titel: |   |  
				| 
 |  
				|  	  | ytwinky hat Folgendes geschrieben: |  	  | Hmm, ich bin nicht sehr firm in ASM also reicht es nur zu etwas Pseudo-Asm: Die Strings mußt du halt selber reinbasteln.. 	  | Code: |  	  | Xor AX, AX 'Akku löschen Mov AX, Vergleichswert 'in den Akku laden
 Cmp 1 'durch den Vergleich werden die Flags gesetzt
 JZ Ja 'JZ ist mein Lieblingsbefehl, weiß aber nicht, obs den noch gibt
   'Nein ausgeben
 Ja:
 'Ja ausgeben
 | 
 Gruß
 ytwinky
 | 
 
 Wenn du den Akku im zweiten Befehl überschreibst, kann dur dir das löschen im ersten schenken...
   
 
  	  | Code: |  	  | mov eax,[X]   ' X laden
 shr eax,1     ' wenn x=1 ist ergibt ein shr 0 -> Zero Flag wird gesetzt
 jnz weiter    ' wenn zeroflag nicht gesetzt ist, war X auch nicht 1
 
 'ja ausgeben
 
 weiter:
 'weitermachen
 
 | 
 _________________
 Rechtbehelf:
 
 Rechschreibverfehlungen, Vergehen an der Deutschen Sprache sowie Stabwechselverbuchselungen unterliegen dem Urheberrecht, sind voll beabsichtigt und fördern das aufmerksame Lesen.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ytwinky 
 
  
 Anmeldungsdatum: 28.05.2005
 Beiträge: 2624
 Wohnort: Machteburch
 
 | 
			
				|  Verfasst am: 19.12.2007, 18:44    Titel: |   |  
				| 
 |  
				| Danke Bimi, mehr wollte ich auch gar nicht erreichen   Gruß
 ytwinky
 _________________
 
 ..also ungefähr so, wie ich GOTO.. 	  | v1ctor hat Folgendes geschrieben: |  	  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| volta 
 
 
 Anmeldungsdatum: 04.05.2005
 Beiträge: 1876
 Wohnort: D59192
 
 | 
			
				|  Verfasst am: 20.12.2007, 10:34    Titel: |   |  
				| 
 |  
				| der FBC macht daraus ~ dies: 
  	  | Code: |  	  | cmp dword ptr [X], 1 jne L_0001
 push offset L_Text
 call PrintString
 L_0001:
 | 
 Wie gewünscht ohne Deklarationen und Speicherreservierungen.
 _________________
 Warnung an Choleriker:
 Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ThePuppetMaster 
 
  
 Anmeldungsdatum: 18.02.2007
 Beiträge: 1839
 Wohnort: [JN58JR]
 
 | 
			
				|  Verfasst am: 20.12.2007, 10:50    Titel: |   |  
				| 
 |  
				| Perfekt ... Vielen dank @all! 
 
 MfG
 TPM
 _________________
 [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Bimi 
 
 
 Anmeldungsdatum: 03.12.2007
 Beiträge: 66
 
 
 | 
			
				|  Verfasst am: 20.12.2007, 12:03    Titel: |   |  
				| 
 |  
				| ...ne Ergänzung noch: 
 Das man FB durhc die Option -r daran hindern kann die .asm Datei nach der Assemblierung zu löschen, dürfte bekannt sein.
 
 Den kompletten Code (.exe) oder eine lib zu diassemblen geht mit objdump aus dem MinGW Packet.
 
 Hier hat mal jemand die Frage gestellt wie effektiv PSET in BASIC ist. Ich habe es mir mal angeschaut, die Datei wieder geschlossen und mir vorgenommen auf PSET bis auf weiteres zu verzichten....
 _________________
 Rechtbehelf:
 
 Rechschreibverfehlungen, Vergehen an der Deutschen Sprache sowie Stabwechselverbuchselungen unterliegen dem Urheberrecht, sind voll beabsichtigt und fördern das aufmerksame Lesen.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ThePuppetMaster 
 
  
 Anmeldungsdatum: 18.02.2007
 Beiträge: 1839
 Wohnort: [JN58JR]
 
 | 
			
				|  Verfasst am: 20.12.2007, 12:13    Titel: |   |  
				| 
 |  
				|   
 jo .. ich weis, das dies geht, jedoch kann ich dieses codefragment nicht kompilieren, da er ja nicht vollständig ist.
 
 Aber, das was ich benötige hab ich ja jetzt.
   
 
 MfG
 TPM
 _________________
 [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Bimi 
 
 
 Anmeldungsdatum: 03.12.2007
 Beiträge: 66
 
 
 | 
			
				|  Verfasst am: 20.12.2007, 12:48    Titel: |   |  
				| 
 |  
				|  	  | ThePuppetMaster hat Folgendes geschrieben: |  	  |   
 jo .. ich weis, das dies geht, jedoch kann ich dieses codefragment nicht kompilieren, da er ja nicht vollständig ist.
 
 Aber, das was ich benötige hab ich ja jetzt.
   
 
 MfG
 TPM
 | 
 
 
 ..und wo ist das Problem das codefragment einfach compilierbar zu vervollständigen....
  _________________
 Rechtbehelf:
 
 Rechschreibverfehlungen, Vergehen an der Deutschen Sprache sowie Stabwechselverbuchselungen unterliegen dem Urheberrecht, sind voll beabsichtigt und fördern das aufmerksame Lesen.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| volta 
 
 
 Anmeldungsdatum: 04.05.2005
 Beiträge: 1876
 Wohnort: D59192
 
 | 
			
				|  Verfasst am: 20.12.2007, 14:09    Titel: |   |  
				| 
 |  
				|  	  | Bimi hat Folgendes geschrieben: |  	  | Hier hat mal jemand die Frage gestellt wie effektiv PSET in BASIC ist. Ich habe es mir mal angeschaut, die Datei wieder geschlossen und mir vorgenommen auf PSET bis auf weiteres zu verzichten.... | 
 Das könnte ich nicht so generell sagen und sollte differenzierter betrachtet werden.
 Nur um einen Farbpunkt zu setzen ist PSET ideal. Weder die Adresse des Pixels aus x,y und Screenptr muss ich berechnen noch muss ich befürchten falsche Speicherbereiche zu überschreiben.
 Möchte man mehre Farbpunkte setzen, bieten sich die anderen Grafikbefehle an LINE, CIRCLE, PAINT ...
 Wesentlich langsamer ist das nicht.
 Natürlich sind diese Grafikbefehle nicht dazu gedacht Animationen (Video) auf den Screen zu bringen. So etwas mit PSET zu versuchen ist schon
  ,da sind dann spezielle Routinen gefragt. _________________
 Warnung an Choleriker:
 Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Bimi 
 
 
 Anmeldungsdatum: 03.12.2007
 Beiträge: 66
 
 
 | 
			
				|  Verfasst am: 20.12.2007, 16:17    Titel: |   |  
				| 
 |  
				|  	  | volta hat Folgendes geschrieben: |  	  |  	  | Bimi hat Folgendes geschrieben: |  	  | Hier hat mal jemand die Frage gestellt wie effektiv PSET in BASIC ist. Ich habe es mir mal angeschaut, die Datei wieder geschlossen und mir vorgenommen auf PSET bis auf weiteres zu verzichten.... | 
 Das könnte ich nicht so generell sagen und sollte differenzierter betrachtet werden.
 Nur um einen Farbpunkt zu setzen ist PSET ideal. Weder die Adresse des Pixels aus x,y und Screenptr muss ich berechnen noch muss ich befürchten falsche Speicherbereiche zu überschreiben.
 Möchte man mehre Farbpunkte setzen, bieten sich die anderen Grafikbefehle an LINE, CIRCLE, PAINT ...
 Wesentlich langsamer ist das nicht.
 Natürlich sind diese Grafikbefehle nicht dazu gedacht Animationen (Video) auf den Screen zu bringen. So etwas mit PSET zu versuchen ist schon
  ,da sind dann spezielle Routinen gefragt. | 
 
 Das stimmt schon was du sagst. Jedoch finde ich das auch unter Berücksichtigung der Parameterprüfung, des Bildschirmmodus und der Adresskalkulation geht das ganze ein wenige kompakter...
 _________________
 Rechtbehelf:
 
 Rechschreibverfehlungen, Vergehen an der Deutschen Sprache sowie Stabwechselverbuchselungen unterliegen dem Urheberrecht, sind voll beabsichtigt und fördern das aufmerksame Lesen.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |