נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: מחפש source של שורש מספר באסמבלרו

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
Umen
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 02 July 2005
משתמש: מנותק/ת
הודעות: 5
נשלח בתאריך: 29 August 2005 בשעה 22:38 | IP רשוּם
ציטוט Umen

אבל בשיטת ניוטון
תודה לעוזרים

חזרה לתחילת העמוד הצג את כרטיס החבר של Umen חפש הודעות אחרות של Umen
 
Crossbow
משתמש פעיל
משתמש פעיל
סמל אישי

הצטרף / הצטרפה: 26 August 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 73
נשלח בתאריך: 30 August 2005 בשעה 17:41 | IP רשוּם
ציטוט Crossbow

אני לא מבין מה הבעייה... אם אתה יודע את האלגוריתם, לא צריכה להיות שום בעייה מלבד קצת התעסקות עם נקודה צפה... זה הכל.



__________________
Crossbow.
חזרה לתחילת העמוד הצג את כרטיס החבר של Crossbow חפש הודעות אחרות של Crossbow
 
Umen
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 02 July 2005
משתמש: מנותק/ת
הודעות: 5
נשלח בתאריך: 30 August 2005 בשעה 22:19 | IP רשוּם
ציטוט Umen

אז זהו שפה יש לי בעיה אני לא מצליח לעשות את זה ...

הינה יש לי קוד שעשיתי הבעיה הוא שאני לא מצליח לעשות את זה עם מספרים גדולים כמו

1000000

---------------------------------------------------

LF   EQU  0AH
CR   EQU  0DH


DSEG SEGMENT
DSEG ENDS
SSEG SEGMENT STACK
DW  100H DUP(?)
SSEG ENDS
CSEG SEGMENT
  ASSUME  CS:CSEG,DS:DSEG,SS:SSEG
BEGIN:
; uses di, bx, cx, dx
;
; square root of AX via Newton-Raphson iteration.

 

    mov di,ax
    mov ax,133
start_loop:
    mov bx,ax
    ;xor dx,dx
    ;mov ax,di
    mov dx,si
    mov ax,di
    div bx
    mov di,ax
    mov si,dx
    add ax,bx
    adc dx,0
    shr ax,1
    rcr ax,1
    mov cx,ax
    sub cx,bx
    cmp cx,2
    jae  start_loop
 
CALL PRINT_AX_2

 
 
READCHAR: MOV  AH,1
        INT    21H
        RET

PRINTCHAR:MOV  AH,2
        INT  21H
        RET

PRINT_NEWLINE: MOV  DL,CR
       CALL  PRINTCHAR
       MOV   DL,LF
       CALL  PRINTCHAR
       RET
;*********************************************************** ****
print_ax_1      proc near
        
      MOV     CL,4
      MOV     DL,AL
      SHR     DL,CL
      CALL    PRINT_AX
      MOV     DL,AL
     
      AND     DL,0FH
      CALL    PRINT_AX
      MOV     DL,AH
      SHR     DL,CL
      CALL    PRINT_AX
      MOV     DL,AH
 
      AND     DL,0FH
      CALL    PRINT_AX
      ret
print_ax_1      endp

print_ax_2     proc near
      MOV     CL,4
      MOV     DL,AH
      SHR     DL,CL
      CALL    PRINT_AX
      MOV     DL,AH
      AND     DL,0FH
      CALL    PRINT_AX
      MOV     DL,AL
      SHR     DL,CL
      CALL    PRINT_AX
      MOV     DL,AL
      AND     DL,0FH
      CALL    PRINT_AX
      ret
print_ax_2      endp

PRINT_AX      PROC    NEAR
      PUSH    AX
      ADD     DL,30H
      CMP     DL,'9'
      JBE     OK
      ADD     DL,7
OK:   MOV     AH,2
      INT     21H
      POP     AX
      RET
PRINT_AX        ENDP

CSEG ENDS
END BEGIN

 

חזרה לתחילת העמוד הצג את כרטיס החבר של Umen חפש הודעות אחרות של Umen
 
Crossbow
משתמש פעיל
משתמש פעיל
סמל אישי

הצטרף / הצטרפה: 26 August 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 73
נשלח בתאריך: 31 August 2005 בשעה 01:32 | IP רשוּם
ציטוט Crossbow

המממ... נסה אולי להגדיל את המקטע במקום 100H למשהו כמו 300H...

בכל מקרה, תוכל לפרט מה פירושו של "לא מצליח"? יש הודעת שגיאה? התוכנית נתקעת? מחזירה ערך שגוי?



__________________
Crossbow.
חזרה לתחילת העמוד הצג את כרטיס החבר של Crossbow חפש הודעות אחרות של Crossbow
 
Umen
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 01 September 2005 בשעה 10:25 | IP רשוּם
ציטוט Umen

הוא מביא לי שגיעת overflow
אתה יכול להריץ את הקוד על MASM ולראות
חזרה לתחילת העמוד הצג את כרטיס החבר של Umen חפש הודעות אחרות של Umen בקר בדף הבית של Umen
 
Crossbow
משתמש פעיל
משתמש פעיל
סמל אישי

הצטרף / הצטרפה: 26 August 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 73
נשלח בתאריך: 02 September 2005 בשעה 15:41 | IP רשוּם
ציטוט Crossbow

בדיוק מהסיבה הזו ביקשתי להגדיל את זה ל- 300...

__________________
Crossbow.
חזרה לתחילת העמוד הצג את כרטיס החבר של Crossbow חפש הודעות אחרות של Crossbow
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה