Násobení číslem 3 – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Násobení číslem 3 – Assembler – Fórum – Programujte.comNásobení číslem 3 – Assembler – Fórum – Programujte.com

 

Kirk
~ Anonymní uživatel
4 příspěvky
5. 12. 2012   #1
-
0
-

Ahoj, nevíte někdo, jak můžu hodnotu ulořenou v edi vynásobit 3x ?

mám instrukci: 

add [esi+00000588],edi

kde "edi" obsahuje vstupní hodnotu... jen nevim jak jí vynásobit 3x... napadlo mě "mul" ale ten jen vynásobí 2x a ani nevim jestli by fungoval na "edi"

Nevíte někdo jak na to?

Nahlásit jako SPAM
IP: 213.168.183.–
6. 12. 2012   #2
-
0
-

Podívej se do instrukční sady procesoru. Pravděpodobně instrukce násobení má dva parametry - dva registry nebo registr a konstanta.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Kirk
~ Anonymní uživatel
4 příspěvky
6. 12. 2012   #3
-
0
-

Já se koukal sem http://www.jegerlehner.ch/intel/IntelCodeTable.pdf a pro násobení je tam jen MUL a ten má jeden parametr.. prostě nevvim :/

a zkoušel jsem použít MUL na edi a nejde mi to, tak jsem zkoušel něco jako 

push edx
mov edx,edi
mul edx
add [esi+00000588],edx
pop edx

kde jsem předpokládal, že se to vynásobí 2x a výsledek byla 0 nebo NULL

Nahlásit jako SPAM
IP: 213.168.183.–
Kirk
~ Anonymní uživatel
4 příspěvky
6. 12. 2012   #4
-
0
-

to předtim mělo být pop edi a pak až add...

jinak je mi jasný, že to můžu zapsat třeba takto 

add edi,edi
add edi,edi
add [esi+00000588],edi

ale zajímalo by mě, jestli to jde napsat nějak elegantněji

Nahlásit jako SPAM
IP: 213.168.183.–
Kirk
~ Anonymní uživatel
4 příspěvky
6. 12. 2012   #5
-
0
-

no, tak už to mám... hlavně že v tý tabulce kam jsem koukal nebyl uvedenej další parametr... jinak je to  

imul edi,edi,3
add [esi+00000588],edi
Nahlásit jako SPAM
IP: 213.168.183.–
6. 12. 2012   #6
-
0
-

kdyby ses do tý tabulky a vysvětlivek pod ní podíval pořádně, zjistil bys, že druhý operand a výsledek je v akumulátoru. Jinak v tebou odkazované tabulce není všechno. Více informací je na http://faydoc.tripod.com/cpu/imul.htm. Stačilo použít Google 

ještě by sis měl udělat jasno, zda chceš signed (instrukce IMUL) nebo unsigned (instrukce MUL) násobení

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 35 hostů

Podobná vlákna

Objekt s číslem — založil Paulí

Problém s velkým číslem — založil František Falta

Násobení — založil pejrák

Nasobeni v C — založil pep

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý