» »

program v zbirniku

program v zbirniku

Nejc89 ::

Zdravo, imam težavo glede ene naloge, ki jo moram narediti za faks. Zelo lepo bi prosil če mi lahko kdo pomaga, ker moram oddati danes do 15. ure.

Naloga je sledeča:

Napišite program v zbirnem jeziku, ki bo izračunal vsoto števil med 1d in 10d. Rezultat naj bo ob koncu programa shranjen v registru AL. Ime datoteke naj ne vsebuje šumnikov in sičnikov, format datoteke je asm.

Upam da se najde kdo ki mi jo reši, ker sam nimam pojma:)

Lightning17 ::

Tu je enaka naloga... [Naloge]Problem

Zgodovina sprememb…

smoke ::

Zdravo.

O(N):
    xor eax, eax
    xor ebx, ebx
    mov al, 0
    mov bl, 1
loop:
    add al, bl
    inc bl
    cmp bl, 10
    jle loop


O(1):
    xor eax, eax
    xor ebx, ebx
    mov al, 10
    mov bl, 11
    mul bl
    mov bl, 2
    div bl


PS: Nisem stestiral, ampak pomoje bi moglo delat :)

Nejc89 ::

Hvala za pomoč!

Spura ::

Smoke zakaj ne bi naredil tako:

mov al,0
mov bl,10

loop:
add al, bl
dec bl
jne loop

amacar ::

A sem samo jaz razumel nalogo tako, da si d izberemo sami. Recimo če je d = 5, potem izpišeš vsoto med 5 in 50.

smoke ::

amacar, z "10d" verjetno ni mislil matematičnega izraza 10*d ampak število "10 decimalno" podobno kot bi lahko napisal 10h ali pa 0x10 za hexadecimalno 16.

Spura, oba algotitma z zanko sta slaba, ker je problem rešljiv v konstantnem času. Drugač pa kul rešitev :). Dost programiraš v x86 ASM?

Spura ::

Ne programiram ASM, samo vem, da vse matematicne operacije nastavijo flag register, ki ga uporabljajo jump/branch ukazi in sicer glede na to ali je rezultat operacije negativen, nic ali pozitiven. Torej je CMP ukaz ubistvu enak SUB ukazu, le da ne spreminja vrednosti. In ce potem obrnes zanko, da se konca ko stevec pride na 0, lahko CMP ukaz izpustis.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Digitalna evolucija (strani: 1 2 3 426 27 28 29 )

Oddelek: Znanost in tehnologija
141675451 (25620) pietro
»

[ASM] Pomoč, ne najdem napake

Oddelek: Programiranje
51089 (965) c0dehunter
»

Pentagon prepovedal in zaplenil USB-ključe

Oddelek: Novice / Apple iPhone/iPad/iPod
255722 (4025) Jst
»

PIC 16f84A - utripanje

Oddelek: Elektrotehnika in elektronika
222205 (2005) ql000
»

[Naloge]Problem

Oddelek: Programiranje
161877 (1520) OwcA

Več podobnih tem