Drugari molim vas za pomoć,
naime imam zadatak sa prekoračenjem vrednosti neoznačenih brojeva
gde su podaci sledeći:
javlja se prekoračenje (Overflow) ukoliko ga rešavamo :
Moje rešenje ovoga bi bilo:
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
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
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
;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
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