AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Konstanten(pool) in Assembler

Ein Thema von chaoslion · begonnen am 15. Sep 2010 · letzter Beitrag vom 15. Sep 2010
Antwort Antwort
chaoslion

Registriert seit: 1. Mär 2006
52 Beiträge
 
#1

Konstanten(pool) in Assembler

  Alt 15. Sep 2010, 14:34
Hey Leute,

wie werden eigentlich Konstanten in einem Assembler Program gehandhabt?
Ich weiß es gibt Befehle die können Integer Konstanten die net alzu lang sind (10-14Bit)
direkt im Wort speichern. Strings werden wohl auch nur einmal gespeichert im Datensegment und dann bloß bei jedem Aufruf referenziert. Aber wie sieht es in der Regel mit Gleitpunktzahlen aus? Werden die auch im Konstantenpool gespeichert
und ref. oder wie wird das generell gehandhabt?

Gruß

Geändert von chaoslion (15. Sep 2010 um 14:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Konstanten(pool) in Assembler

  Alt 15. Sep 2010, 14:40
Du kannst diese binär via DB/DW/DD/DQ anlegen und dann einfach über deren Startadresse laden.

Du könntest auch in Pascal eine (eventuell typisiterte) Konstante anlegen und diese verwenden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
chaoslion

Registriert seit: 1. Mär 2006
52 Beiträge
 
#3

AW: Konstanten(pool) in Assembler

  Alt 15. Sep 2010, 14:47
Okey, sagen wir ich brauch in einem Programm 3 Gleitpkt. Konstanten: 1.0, 3.14 und nochmal 1.0.
Per Hand würd ich natürlich nur 2 erstellen und dann per Addresse laden. Wie würde es ein Compiler machen?
schaut er auch nur nach wieviel er tatsächlich anlegen muss oder würde er in dem Fall die 3 Zahlen erstellen?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Konstanten(pool) in Assembler

  Alt 15. Sep 2010, 15:00
Kommt drauf an.

Ich glaube untypisierte Konstanten werden gar nicht in die exe geschrieben, sondern sie werden quasi per "Suchen&Ersetzen" intern im Code ersetzt vor der Compilierung.

Bei typisierten Konstanten werden in deinem Fall irgendwo 1x 1.0 und 1x 3.14 binär gespeichert.
Es sei denn, du definierst 2 verschiedene Konstanten mit dem gleichen Wert.

Edit: Prinzipiell gibt es keinen Unterschied zwischen Fließkomma-/Ganzzahl-/String-Konstanten.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
chaoslion

Registriert seit: 1. Mär 2006
52 Beiträge
 
#5

AW: Konstanten(pool) in Assembler

  Alt 15. Sep 2010, 15:09
Alles klar, danke euch!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz