Forumi
Home Pravila i pomoć Članovi Kalendar Današnji postovi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 04.05.2009., 21:19   #1
hydek
N00t me
 
Datum registracije: Apr 2009
Lokacija: Mostar
Postovi: 2
Unhappy INTEL 8086 dijeljenje

imam problem, i to malo veći
znaci kroz nekakve procedure naći aritmetičku sredinu...
Fino odradim max član, pa min član.
Max spremim u bl (8bitni su brojevi), a min u bh...
Problem nastaje kada zelim ispisati (izračunati) aritmetičku sredinu (min i max clana), te mi uporno ispisuje 6 (kao brojeve unesem 1, 2, 3, 4, 5)...

Jel tko zna bar u čemu je problem...

Nemojte samo reć

__________________
You got to ask yourself one question: "Do i feel lucky?
Well do ya punk!"
hydek je offline   Reply With Quote
Staro 04.05.2009., 21:51   #2
thopok
Guest
 
Datum registracije: Jun 2008
Lokacija: Splity
Postovi: 3,003
Prije svega treba preselit u Web dizajn, programiranje i ostalo.

thopok je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 04.05.2009., 23:36   #3
Bubba
E Pluribus UNIX
Moj komp
 
Bubba's Avatar
 
Datum registracije: Oct 2002
Lokacija: M82
Postovi: 6,748
Citiraj:
Autor hydek Pregled postova
imam problem, i to malo veći
znaci kroz nekakve procedure naći aritmetičku sredinu...
Fino odradim max član, pa min član.
Max spremim u bl (8bitni su brojevi), a min u bh...
Problem nastaje kada zelim ispisati (izračunati) aritmetičku sredinu (min i max clana), te mi uporno ispisuje 6 (kao brojeve unesem 1, 2, 3, 4, 5)...

Jel tko zna bar u čemu je problem...
Gdje ti je kod?

Pogledaj ovo:
Code:
$ cat arithmetic.c
#include <stdio.h>

int ax, dl, ah, al, ah_b, al_b;

int main() {
        __asm__(
                "mov $0, %ax   \n"
                "mov $1, %dl   \n"
                "add %dl,%al \n"
                "mov $2,%dl   \n"
                "add %dl,%al    \n"
                "mov $3,%dl   \n"
                "add %dl,%al    \n"
                "mov $4,%dl   \n"
                "add %dl,%al    \n"
                "mov $5,%dl   \n"
                "add %dl,%al    \n"
                "mov %al, al_b     \n"
                "mov %ah, ah_b     \n"
                "mov $9,%dl   \n"
                "div %dl       \n"
                "mov %dl, dl   \n"
                "mov %al, al     \n"
                "mov %ah, ah     \n"
        );
        printf("Before division:\tAL %d\tAH %d\nDivided by:\t\tDL %d\nAfter division:\t\tAL %d\tAH %d\n", al_b, ah_b, dl, al, ah);
        return 0;

}

$ gcc -O2 -fomit-frame-pointer -W -Wall -g arithmetic.c -o arithmetic.asm
$ ./arithmetic.asm
Before division:        AL 15   AH 0
Divided by:             DL 9
After division:         AL 1    AH 6
za float division, tj.
Code:
Before division:        AL 15   AH 0
Divided by:             DL 5
After division:         AL 3    AH 0
u tvom konkretnom slucaju, kako bi i trebalo biti...

Dakle, treba nam tvoj kod da vidimo gdje je zapelo...
__________________
https://2.71828182845904523536028747...966967627.com/

Programer
Rok od dva mjeseca u stvari znači četiri, ali nikako ispod šest.
Bubba je offline   Reply With Quote
Staro 06.05.2009., 22:58   #4
hydek
N00t me
 
Datum registracije: Apr 2009
Lokacija: Mostar
Postovi: 2
Thumbs up

thnx bubba
naso sam problem
__________________
You got to ask yourself one question: "Do i feel lucky?
Well do ya punk!"
hydek je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Oglas

Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na