|
|
|
|
So gesehen hätte ich auch vermutet, dass Spiele die heute einen Rechner für 900¤ benötigen, sehr wohl Mehrkern Features nutzen (sollten!).
|
|
|
|
|
|
|
Langsam kotzen mich die VMs hier auf Arbeit an. Es wäre nichtmal so schlimm, dass wir an jedem Terminal nur in der eigenen VM arbeiten, wenn nicht irgendwelche Leute hier immer zig Prozesse laufen lassen würden und nur ihre Session schließen anstatt ihre VM abzumelden wenn sie gehen.
|
|
|
|
|
|
|
16gb speicher sind aber echt ein bisschen übertrieben
Das ist ein Schlag direkt ins Gesicht der Leute, die Jahrelang an Puffer Seitenersetzungsstrategien gefeilt haben
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 19.05.2011 17:25]
|
|
|
|
|
|
| Zitat von Smoking Langsam kotzen mich die VMs hier auf Arbeit an. Es wäre nichtmal so schlimm, dass wir an jedem Terminal nur in der eigenen VM arbeiten, wenn nicht irgendwelche Leute hier immer zig Prozesse laufen lassen würden und nur ihre Session schließen anstatt ihre VM abzumelden wenn sie gehen. | | bei uns kann man zur not zu den rechnern gehen und alt+druck+k drücken.
|
|
|
|
|
|
|
Läuft alles unter Windows per Remote Desktop und VMWare. Aber die VMs können natürlich einfach auf dem Server abgeschossen werden. Ist trotzdem kacke jedesmal zum Admin zu laufen und zu sagen, er solle mal aufräumen.
|
|
|
|
|
|
|
Vielleicht sieht ja hier jemand meinen Fehler.
Ich soll Rekursiv in Assembler a^b berechnen. Eine C-Funktion übergibt die a^b, d.h. sie liegen am Anfang auf dem Stack.
Was mache ich jetzt falsch, dass ich IMMER a^2 bekomme, statt a^b?
|
Code: |
; Multitude-Algorithmus
; Programm erwartet a und b in dieser Reihenfolge auf dem Stack.
; Rückgabe in eax
segment .data
segment .bss
segment .text
global multitude
multitude:
ENTER 0,0
MOV ebx, [ebp+12] ;gets b
MOV eax, [ebp+8] ;gets a
CMP ebx, 0
JE term_cond
DEC ebx
PUSH ebx
PUSH eax
CALL multitude
POP eax
POP ebx
MUL dword [ebp+8]
JMP end
term_cond:
MOV eax, 1 ;if b=0 return 1
end:
LEAVE
RET
|
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von WeGi am 19.05.2011 17:46]
|
|
|
|
|
|
Weil du keinen rekursiven Aufruf hast, also keine Wiederholung?
e: oh übersehen
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Flash_ am 19.05.2011 17:57]
|
|
|
|
|
|
Ich habe doch CALL multitude in multitude?!
|
|
|
|
|
|
|
Ist schon ne Weile her, die Multiplikation sollte doch vor den Call-Befehl und ist es nicht unnötig, jedes Mal wieder a und b zu holen? Du sollst die Abbruchbedingung ja mit den aktuellen Werten prüfen
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Flash_ am 19.05.2011 18:07]
|
|
|
|
|
|
Eigentlich schon, aber wir sollten das halt explizit rekursiv implementieren, und da gehört halt ein Stack zu, bzw. multitude erwartet ja zwei variablen auf dem Stack.
|
|
|
|
|
|
|
Müsste bei JMP end conditional sein? So verlässt er das Ding doch nach einem Durchlauf.
Ne Quatsch
Hm ne er initialisiert den Stack immer neu. Ist das nicht das problem? Muss die Rekursion nicht nach den MOV_Bfehlen ansetzen?
Ach ist eh nur Raterei
|
[Dieser Beitrag wurde 4 mal editiert; zum letzten Mal von TriggerTG am 19.05.2011 18:13]
|
|
|
|
|
|
Wenn ebx null wird springst du doch zu term_cond und von an läuft er weiter bis in RET. Müsste nicht am Ende von term_cond ein Returns, damit er wieder in den "innersten" Durchlauf zurückspringt?
|
|
|
|
|
|
|
und musste man nicht den Program-counter retten, bevor man ein Unterprogramm aufruft?
|
|
|
|
|
|
|
Hab ich auf meinem AVR32 nie gemacht. Macht der Nutzer das überhaupt explizit?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 19.05.2011 18:23]
|
|
|
|
|
|
| Zitat von Achsel-des-Bösen
Wenn ebx null wird springst du doch zu term_cond und von an läuft er weiter bis in RET. Müsste nicht am Ende von term_cond ein Returns, damit er wieder in den "innersten" Durchlauf zurückspringt?
| |
Das RET in das er dann läuft lässt ihn ja auch nur aus der aktuellen Subroutine springen.
Ich finde einfach meinen Fehler nicht. :/
|
|
|
|
|
|
|
| Zitat von WeGi
| Zitat von Achsel-des-Bösen
Wenn ebx null wird springst du doch zu term_cond und von an läuft er weiter bis in RET. Müsste nicht am Ende von term_cond ein Returns, damit er wieder in den "innersten" Durchlauf zurückspringt?
| |
Das RET in das er dann läuft lässt ihn ja auch nur aus der aktuellen Subroutine springen.
| |
Auch wieder war. Hast du nen Debugger wo du das mal durchsteppen kannst?
|
|
|
|
|
|
|
Ich hab mir die Register mal dumpen lassen, allerdings werde ich daraus noch weniger schlau, da er mir für die Eingabe a=2 b=8 als Ergebniss 14 ausgibt, obwohl 14 nirgendwo auftaucht.
Hier nochmal das aktualisierte:
Assembler-Code:
|
Code: |
%include "asm_io.inc"
; Multitude-Algorithmus
; Programm erwartet a und b in dieser Reihenfolge auf dem Stack.
; Rückgabe in eax
segment .data
segment .bss
segment .text
global multitude
multitude:
ENTER 0,0
MOV ebx, [ebp+12] ;gets b
MOV eax, [ebp+8] ;gets a
CALL dump_regs 1
CMP ebx, 0
JE term_cond
DEC ebx
PUSH ebx
PUSH eax
CALL multitude
POP ebx
POP eax
MUL dword [ebp+8]
JMP end
term_cond:
MOV eax, 1 ;if b=0 return 1
end:
LEAVE
RET
|
|
Das C-Schnipsel:
|
Code: |
#include <stdio.h>
int main(void) {
printf("%d \n", multitude(2,8));
return 0;
}
|
|
Die Ausgabe:
|
Code: |
Register Dump # 1
EAX = 00000002 EBX = 00000008 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA72528 ESP = FFA72528
EIP = 08048497 FLAGS = 0286 SF PF
Register Dump # 1
EAX = 00000002 EBX = 00000007 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA72518 ESP = FFA72518
EIP = 08048497 FLAGS = 0202
Register Dump # 1
EAX = 00000002 EBX = 00000006 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA72508 ESP = FFA72508
EIP = 08048497 FLAGS = 0206 PF
Register Dump # 1
EAX = 00000002 EBX = 00000005 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA724F8 ESP = FFA724F8
EIP = 08048497 FLAGS = 0206 PF
Register Dump # 1
EAX = 00000002 EBX = 00000004 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA724E8 ESP = FFA724E8
EIP = 08048497 FLAGS = 0202
Register Dump # 1
EAX = 00000002 EBX = 00000003 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA724D8 ESP = FFA724D8
EIP = 08048497 FLAGS = 0206 PF
Register Dump # 1
EAX = 00000002 EBX = 00000002 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA724C8 ESP = FFA724C8
EIP = 08048497 FLAGS = 0202
Register Dump # 1
EAX = 00000002 EBX = 00000001 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA724B8 ESP = FFA724B8
EIP = 08048497 FLAGS = 0202
Register Dump # 1
EAX = 00000002 EBX = 00000000 ECX = E2AD5FF8 EDX = 00000001
ESI = 00000000 EDI = 00000000 EBP = FFA724A8 ESP = FFA724A8
EIP = 08048497 FLAGS = 0246 ZF PF
14
|
|
|
|
|
|
|
|
|
Ich hab heute zwei Rechner bekommen und mit Software bespielt (Siemens-Kram). Einen mit zwei Monitoren, einen mit vier. Ich glaube an zwei könnte ich mich auch zu hause gewöhnen. Ist schon schick irgendwie.
Witzig ist auch dass auf dem Rechner mit zwei Monitoren die Software nicht unter Windows 7 läuft. Also läuft in einem Monitor der XP-Mode mit dem System und auf dem anderen Windows 7. Das hat ein wenig für verwirrung geführt unter den unwissenden Kollegen
|
|
|
|
|
|
|
Ach herrje
Harold Camping, founder of Family Radio, has predicted that the Rapture will occur on 2011-MAY-21
Ist also soweit.
|
|
|
|
|
|
|
|
|
|
|
Diesen Christenzeug wo die "Guten" aufsteigen.
Apokalypse oder so? Peacemaker müsste es wissen. Entrückung
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 19.05.2011 19:03]
|
|
|
|
|
|
Crosspost, yeah!
Einsparungsmöglichkeiten?
Ursprünglich wollte ich auf 750-800¤, 900¤ ist meine absolute Schmerzgrenze. Wo kann ich noch was einsparen? Netzteil? Kann es auch ruhig ein schwächeres sein (z.B. ein 500W NT) oder bin ich dem Gefilde schon ganz richtig? Und ansonsten irgendwas?
|
|
|
|
|
|
|
Hässliches Gehäuse
Wie ist denn jetzt der Gesamtpreis?
|
|
|
|
|
|
|
Netzteil kannst du sicherlich auch was kleineres nehmen. Hast du keinen Brenner mehr? Die braucht man ja heute so selten, da kann man auch den alten IDE benutzen.
Wie sind denn ASRock Mainboards so? Gibt es für den Preis nicht auch was von Asus, Msi und Konsorten?
|
|
|
|
|
|
|
Was muss ich an Kosten für 2 Monitore ~19" einplanen? Oder gibts 19 gar nicht mehr?
|
|
|
|
|
|
|
24" kriegst du inzwischen, wenn du etwas Zeit hast um ne Aktion abzupassen, gute für 150.
19-Zöller kriegst du hinterher geschmissen. Einfach mal bei Ebay Kleinanzeigen in deiner Region gucken. Sowas ist oft drin.
|
|
|
|
|
|
|
|
|
|
|
Keine Ahnung was du außer Zocken so treibst am Computer und 16GB Ram sind sicher nice to have ... aber irgendwie overkill.
|
|
|
|
|
|
|
|
|
|
|
| Zitat von TriggerTG
24" kriegst du inzwischen, wenn du etwas Zeit hast um ne Aktion abzupassen, gute für 150.
19-Zöller kriegst du hinterher geschmissen. Einfach mal bei Ebay Kleinanzeigen in deiner Region gucken. Sowas ist oft drin.
| |
eine herstellerempfehlung?
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |