dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Pāris jautājumi, parādi savu erudīciju!

 
dev.gamez.lv Forum Index -> Programmēšana
View previous topic :: View next topic  
Author Message
Anonymous
Guest





PostPosted: 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
Indago dalībnieks


Joined: 13 Apr 2004
Posts: 87
Location: Rīga

PostPosted: 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
View user's profile Send e-mail
anggelus



Joined: 23 Feb 2005
Posts: 383
Location: Rīga (LV)

PostPosted: 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
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: 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
View user's profile Send e-mail
Kjirbis



Joined: 22 May 2005
Posts: 20
Location: Liepaja

PostPosted: 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
View user's profile Visit poster's website
Display posts from previous:   
dev.gamez.lv Forum Index -> Programmēšana All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
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