|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
Marcina
Joined: 15 Aug 2006 Posts: 26 Location: Rīga
|
Posted: Sat Dec 23, 2006 11:41 am Post subject: Mašīnkods |
|
Jo vairāk kaut ko programmēju, jo vairāk mani sāk mocīt doma, kā tas viss izskatās mašīnkodā
Piemēram, kā tiek pārstrādāta šāda rindiņa
if(x<4)
Būtu interesanti uzzināt, jo tas arī varētu palīdzēt saprast, kā maksimāli uzlabot savu kodu
Ar milzīgu prieku gaidīšu jūsu atbildes! |
|
Back to top |
|
|
nai
Joined: 20 Dec 2006 Posts: 48
|
Posted: Sat Dec 23, 2006 12:08 pm Post subject: |
|
Ielien debugerii, disassembly, tur ir hexaa komandas(dazhaados izmeeros) un blakaam asm komandas. Iesleedz veel klaat CPU regjistru viewu un pa solim skaties kaa tas notiek. |
|
Back to top |
|
|
programmer
Joined: 15 Sep 2006 Posts: 71 Location: Latvija, Limbaži
|
Posted: Sat Dec 23, 2006 3:28 pm Post subject: |
|
Tas varētu izskatīties apmēram tā:
0x000000 A1 0C 00 <= mov ax, [x]
0x000003 83 F8 04 <= cmp ax, 4
0x000006 73 02 <= jnb not_below
0x000008 ... <= below (x<4)
0x00000A ... <= not_below (x>=4)
0x00000C 05 00 00 <= x vērtība
Last edited by programmer on Sat Dec 23, 2006 4:44 pm; edited 2 times in total |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Dec 23, 2006 4:41 pm Post subject: |
|
Ja lieto Visual Studio, tad nokompilē kodu ar debug informāciju, uzliec breikpointu uz tās if rindiņas, palaid programmu, lai tā apstājas uz breikpointa, un uzspied Alt+8 (Debug->Windows->Diassembly). Tur arī visu redzēsi - gan mašīnkodu, gan assembleru. |
|
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
|