Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoć oko prekoračenja vrednosti označenih brojeva

[es] :: Asembler :: Pomoć oko prekoračenja vrednosti označenih brojeva

[ Pregleda: 2818 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

amanteo
student,Pupin-Zrenjanin

Član broj: 168025
Poruke: 42
89.216.49.*



Profil

icon Pomoć oko prekoračenja vrednosti označenih brojeva25.01.2009. u 08:42 - pre 139 meseci
Drugari molim vas za pomoć,

naime imam zadatak sa prekoračenjem vrednosti neoznačenih brojeva
gde su podaci sledeći:

Code:

 podaci segment
    ; PODACI
    b1        db    -128       ; 8 bitni operand
    b2        db    -2        ; 8 bitni operand
    zbir    dw    ?                  ; 16 bitni zbir
podaci ends


javlja se prekoračenje (Overflow) ukoliko ga rešavamo :

Code:


;PROGRAM
    mov ah,0            ;rezervišem ah za 16bitni rezultat
    mov    al,b1
    add    al,b2        ; problem !!! (-130)
        adc ah,0 
        
    mov    zbir,ax



Moje rešenje ovoga bi bilo:

Code:

 podaci segment
    ; PODACI
    b1        dw    -128       ; 16 bitni operand
    b2        dw    -2        ; 16 bitni operand
    zbir    dw    ?                  ; 16 bitni zbir
podaci ends

;PROGRAM
    
    mov    ax,b1
    add    ax,b2        
         
    mov    zbir,ax



Rezultat je dobar ali mislim da negde pravim logičku grešku
i ubijam se ali ne mogu da skapiram da li je ovo generalno rešenje za
problem ili samo puki koincident.

Unapred zahvalan

 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
*.eunet.rs.



+67 Profil

icon Re: Pomoć oko prekoračenja vrednosti označenih brojeva27.01.2009. u 08:06 - pre 139 meseci
za kontrolu prekoracenja trebas koristiti EFLAGS registar

tacnije njegov OVERFLOW bit koji biva setovan kada do prekodacenja u aritmetici dodje

ako dodje do prekoracenja , moras koristiti veci registar
 
Odgovor na temu

[es] :: Asembler :: Pomoć oko prekoračenja vrednosti označenih brojeva

[ Pregleda: 2818 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.