12-02-2011, 18:24
|
|
|
|
חבר מתאריך: 04.11.04
הודעות: 6,986
|
|
יש פה כמה בעיות:
1. בכל פעם שאתה מבצע קפיצה , למשל JE EFES, אתה מדלג מעל LOOP: AGAIN, ובעצם מבצע רק לולאה אחת (במקום 100)
2. אם למשל אתה עושה JE EFES, אתה אח"כ מגדיל את כל המונים שלך (zero,neg,pos) ברצף, ככה שאתה מקבל תוצאה לא נכונה.
הייתי מנסה משהו בסגנון הזה:
קוד:
TAR: START
MOV BX,OFFSET NUMBERS
MOV SI,0000H
MOV CX,0063H
MOX AX,[BX+SI]
ADD SI,0002H
AGAIN: CMP AX,0000H
JE EFES
CMP AX,0000H
JL MINUS
CMP AX,0000H
JG GADOL
EFES: INC ZERO
JMP INCR
MINUS: INC NEG
JMP INCR
GADOL: INC POS
INCR: ADD SI,0002H
CMP SI,0100H
JNE AGAIN
JMP FINISH
NUMBERS: DW 100 DUP(?)
ZERO DW
POS DW
NEG DW
FINISH: END
|