ABA


"צריך עזרה באסמבלי"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15519 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15519
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   11:35   31.10.09   
אל הפורום  
  צריך עזרה באסמבלי  
 
   ניסתי לעשות מיזוג 2 מערכים למערך אחד, תוך כדי תרגום משפת C (אני מוצא את זה יותר פשוט ככה...)
הנה מה שניסתי:

; multi-segment executable file template.

data segment
ar1 dw 1,2,4,5
len1=($-ar1)
ar2 dw 1,3,6,8,9
len2=$-ar2
ar3 dw (len1+len2) dup(0)
ends

stack segment
dw 128 dup(0)
ends

code segment
start:
; set segment registers:
mov ax, data
mov ds, ax

;int ar1[]={1,2,4,5};
;int ar2[]={1,3,6,8,9};
;int ar3[9]={0};
;int i1=0,i2=0,i3=0;
;while(i1<4 && i2<9)
;{
; if(ar1[i1]<ar2[i2])
; {
; ar3[i3]=ar1[i1];
; i1++;
; i3++;
; }
; else
; {
; ar3[i3]=ar2[i2];
; i2++;
; i3++;
; }
;}

;while(i1<4)
;{
; ar3[i3]=ar1[i1];
; i1++;
; i3++;
;}
;
;while(i2<9)
;{
; ar3[i3]=ar2[i2];
; i2++;
; i3++;
;}

xor si,si ;i1=0
xor di,di ;i2=0
xor bx,bx ;i3=0

start_while1:
cmp si,len1
JGE end_while1
cmp di,len2
JGE end_while1

mov ax,word ptr ar1[si] ; if(ar1[i1]<ar2[i2])
cmp ax,word ptr ar2[di]
JGE ELSE

mov word ptr ar3[bx],ax ;ar3[i3]=ar1[i1]
add si,2 ;i1++
add bx,2 ;i3++
jmp NOT_ELSE
ELSE: ;ELSE
mov ax,word ptr ar2[di] ;ar3[i3]=ar2[i2]
mov word ptr [bx],ax
add di,2 ;i2++
add bx,2 ;i3++
NOT_ELSE:
jmp start_while1

end_while1:

start_while2:
cmp si,len1 ;while(i1<4)
JGE end_while2
mov ax,word ptr ar1[di] ;ar3[i3]=ar1[i1]
mov word ptr ar3[bx],ax
add si,2 ;i1++
add bx,2 ;i3++
jmp start_while2

end_while2:

start_while3:
cmp di,len2
JGE end_while3
mov ax,word ptr ar2[di] ;ar3[i3]=ar2[i2]
mov word ptr [bx],ax
add di,2 ;i2++
add bx,2 ;i3++
jmp start_while3
end_while3:



mov ax, 4c00h ; exit to operating system.
int 21h
ends

end start ; set entry point and stop the assembler.

וכמובן שזה לא עושה את העבודה שלו כמו שציפתי מימנו.. אשמח אם תצביעו על הבעיה/בעיות D=


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  anyone? ronen333  31.10.09 21:48 1
  ציפתי קצת ליותר היענות X= ronen333  05.11.09 18:49 2
     זה מלא קוד אסמבלי לא קריא, אין למה לצפות... תדבג את זה DLN 05.11.09 21:18 3
         זה לא מלא קוד, ומה לא קריא בו? X= ronen333  05.11.09 22:01 4
             זה אסמבלי, זה לא קריא בדיפולט... ועדיין, למה שלא פשוט תדבג את זה? DLN 06.11.09 03:05 5
                 ניסתי לא הצלחתי להבין איפה הטעות XD ronen333  06.11.09 08:29 6
  שכחתי לציין דבר חשוב: ronen333  06.11.09 10:11 7
  מצאתי את הטעות :) ronen333  06.11.09 10:15 8

       
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   21:48   31.10.09   
אל הפורום  
  1. anyone?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   18:49   05.11.09   
אל הפורום  
  2. ציפתי קצת ליותר היענות X=  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   21:18   05.11.09   
אל הפורום  
  3. זה מלא קוד אסמבלי לא קריא, אין למה לצפות... תדבג את זה  
בתגובה להודעה מספר 2
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   22:01   05.11.09   
אל הפורום  
  4. זה לא מלא קוד, ומה לא קריא בו? X=  
בתגובה להודעה מספר 3
 
   הרוב זה המסגרת של הEMU והערות שרשמתי מעל של תוכנית C כדי שיהיה קל לראות מה צריך.. וגם תיעוד, לא צריך להיות מסובך להבין אותו.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   03:05   06.11.09   
אל הפורום  
  5. זה אסמבלי, זה לא קריא בדיפולט... ועדיין, למה שלא פשוט תדבג את זה?  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   08:29   06.11.09   
אל הפורום  
  6. ניסתי לא הצלחתי להבין איפה הטעות XD  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   10:11   06.11.09   
אל הפורום  
  7. שכחתי לציין דבר חשוב:  
בתגובה להודעה מספר 0
 
   2 המערכים ממוינים וצריך שהמערך הממוזג ישאר ממוין


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   10:15   06.11.09   
אל הפורום  
  8. מצאתי את הטעות :)  
בתגובה להודעה מספר 0
 
   שכחתי לרשום ar[bx] עשיתי פשוט [bx].

XD


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net