» Poradna » Programy

ASM Porovnání Signed Integer

 |   |  Microsoft Windows 10 Chrome 65.0.3325.181

V ASM potřebuji zjistit, zda je číslo X Signed Integer (double word) mezi dvěma hodnotami A, B, kde A<B viz část zjednodušeného kódu:cmp X, Bjg Dale ; X > Bcmp X, Ajl Dale ; X < Anop ; A<=X<=BNejsem si jistý, že to bude fungovat na záporná i kladná čísla. Například:X = -20500 (0FFFFAFECh)A = -20000 (0FFFFB1E0h)B = -21000 (0FFFFADF8h)aX = 7 A = 4B = 9

Odpovědi na otázku

 |   |  Microsoft Windows 10 Chrome 59.0.3071.112

Když nevíš tak to vyzkoušej v nějakém emulátoru, nebo v čem to děláš.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 65.0.3325.181

Nějaké testy jsem samozřejmě udělal. Vypadá to, že assembler neumí porovnat stejnými příkazy signed integer čísla s různými znaménky. Pro porovnání musí být znaménka stejná (kladná nebo záporná). Bude to šílené, otestovat všechny možnosti.Pokud s tím má někdo zkušenost, uvítám tip, jak na to.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 59.0.3071.112

No už si to ze školy moc nepamatuji, ale vím že "jump ip" příkazů byla hromada. Myslím že některé se dokonce lišili v tom že to bylo znaménkové a nebo bezznaménkové porovnání. Takže si vezmi k ruce seznam instrukcí a zkus tam najít ten lepší příkaz.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 65.0.3325.181

Přišel jsem na to, že instrukce pro porovnání dvou čísel neumí pracovat s různými znaménky. Vyřešil jsem převedením záporných hodnot zeměpisné šířky na kladnou hodnotu a přičtením 90. Např. LAT -34,528 bude 124,528. Po vynásobení 1 000 pak 124 528 v celočíselném tvaru. Vyřešeno .

Souhlasím  |  Nesouhlasím  |  Odpovědět




Určitě si přečtěte

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

** Microsoft představil nový tablet Surface Go ** Nový model zaujme nízkou cenou, ale schopnostmi zařízení Surface ** Microsoft nepoužil čip ARM, ale klasický procesor od Intelu 

Karel Javůrek | 117

Intel má 50 let! Připomeňte si 6 klíčových milníků v historii firmy

Intel má 50 let! Připomeňte si 6 klíčových milníků v historii firmy

** Firma Intel byla založena přesně před 50 lety ** Intel začínal jako výrobce pamětí ** Dnes je největším výrobcem procesorů pro osobní počítače

David Polesný, Pavel Tronner | 10

USB-C už mělo být všude, ale není. Tak kde to vázne?

USB-C už mělo být všude, ale není. Tak kde to vázne?

** Konektor USB-C byl představen už před čtyřmi roky ** Praktické univesrzální rozhraní však stále není rozšířeno ** Výrobcům hardwaru se do změny moc nechce

David Polesný, Vladislav Kluska | 87


Aktuální číslo časopisu Computer

Jak mobily určují svoji polohu?

Velký test notebooků pro studenty

Nejlepší reproduktory na párty

Služby a aplikace pro výuku angličtiny