|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
Anonymous Guest
|
Posted: Sat May 07, 2005 12:55 pm Post subject: Pāris jautājumi, parādi savu erudīciju! |
|
Virkne jautājumu:
1. Vai iekš Dev-C++ (mingw gcc) var pārslēgties no unix assemblera sintaksi uz Intel-a?
2. Kādam nebūs unix sintakses e-books vai kaut kas tamlīdzīgs?
3. Rakstot dažus algoritmus asmā, kods zaudē portējamību uz citām platformām?
4. Vai ir kāds freeware dosiskais paskāla kompilātors, kam inline asms un kompilātora direktīvas pierakstās tā pat kā borlanda produktos?
5. Vai kāds var padalīties ar literatūru par "Programminženieriju" (Software Engineering), kur vispārīgi būtu aprakstītas projektēšanas stratēģijas, sistēmas modelēšana, utt? Būtu vēlams angliski vai latviski. |
|
Back to top |
|
|
Himself Indago dalībnieks
Joined: 13 Apr 2004 Posts: 87 Location: Rīga
|
Posted: Sat May 07, 2005 1:42 pm Post subject: |
|
1) neesmu saskāries
2) jā
3) kādā ziņā platformām? Arhitektūrām? tādā gadījuma jā, bet ja tikai citā OS, tad tas ir atkarīgs no kompilatora, vai tas saprot asmu, ko esi uzrakstījis - jo asamblers taču arī tiek interpretēts softā un tad pārveidots mašīnkodā (es ķlūdos?)
4) Esi mēģinājis Free Pascal project ? (Par direktīvām gan nepatiekšu)
5) nevienu labu nevaru atminēties. |
|
Back to top |
|
|
anggelus
Joined: 23 Feb 2005 Posts: 383 Location: Rīga (LV)
|
Posted: Sat May 07, 2005 1:52 pm Post subject: |
|
5. Steve McConnell "Proffessional Software Development". Vieniigaa ko pagaidaam atceros. _________________ No comprendo lo que dice. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat May 07, 2005 3:31 pm Post subject: |
|
1) var, bet priekškam? unix sintakse diezgan arī laba ir, bet ja nu vajag, tad šādi:
Code: | int main(int argc, char* arg[]) {
int x = 10;
int y = 20;
int z;
__asm(
".intel_syntax \n\t"
"add eax, ecx \n\t"
"mov ecx, 2 \n\t"
"mul ecx \n\t"
".att_syntax \n\t"
: "=a" (z)
: "a" (x), "c" (y)
);
printf("2*(10+20)=%i", z);
return 0;
} |
2) e-booku nezinu, bet pats to sintaksi mācījos no šīm saitēm:
http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gnat_ugn_unw/Inline-Assembler.html
http://asm.sourceforge.net/articles/linasm.html
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
http://asm.sourceforge.net/intro/Assembly-Intro.html
http://www.cs.virginia.edu/~clc5q/gcc-inline-asm.pdf
3) uz platformām noteikti zaudē, tāpēc bieži vien opensource projektos, ja tiek lietots asms, tad fjas tiek rakstītas katra savai platformai (powerpc, x86-64bit, x86, utt). Bet ir gadījumi, ka pat starp OS zūt portējamība (linux/windows).
4) freepascal esot labs, lai gan direktīvas atšķirās gan. A kam tev vajag tādas pašas direktīvas? Katram kompilierim tak ir savas direktīvas. 100% savietojamību nekad nedabūsi |
|
Back to top |
|
|
Kjirbis
Joined: 22 May 2005 Posts: 20 Location: Liepaja
|
Posted: Mon May 23, 2005 1:02 pm Post subject: |
|
1) Ja asmaa raxtu veselu, garāku funkciju, tad izveelos atsevišķā .asm modulī to darīt. Nezinu,vai unix asms ir labāks (iekš Allegro raxtītās asm sources ir briesmīgas pēc sintakses), bet esmu pieradis pie intela un tādēļ parasti to izmantoju. Sākumā lietoju Netwide assembler (NASM), bet tad atradu ko labāku - flat assembler (FASM).
Ja vēlamies palikt pie Intela uz GCC, es iesaku FASM. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|