עבור לתוכן

עזרה קטנה באסמבלר (tasm)-נערך שוב...הבעיה כמעט נפ&#1

Featured Replies

פורסם

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

מישו יכול לעזור לי בבקשה עם התוכנית..

קולטים מספרים 1-9 למערך של 6 תאים.

קולטים קוד פעולה 1 או 2 כך שאם זה 1 התוכנית בודקת אם המערך סימטרי נגיד 123321 שאפשר לקרוא אותו מ 2 הצדדים אותו דבר וקוד פעולה 2 בודק אם המערך בסדר יורד...

התת תוכנית שבודקת אם המערך סימטרי עובדת

התת תוכנית שקוראים לה SIM לא עובדת ממש טוב היא תמיד כותבת שתמיד הוא בסדר יורד...

מישו יודע מה הטעות?מה לתקן?

הנה הקובץ: txt

http://www.mytempdir.com/1360063

בבקשה תעזרו לי עם זה...אני גם ככה ביום איחור בגלל המורה

פורסם

תעלה את הקובץ לפה או שתעביר אותו למקום נורמלי יותר שניתן לפתוח אותו גם בעבודה (:nono:)

פורסם
  • מחבר

.model small

.stack 100h

.data

arr db 6 dup(?)

n dw 6

flag dw ?

flag1 dw ?

adress dw ?

msg1 db 'the maarach is simetry',10,13,'$'

msg2 db 'the maarach is sorted up-down',10,13,'$'

msg3 db 'the maarach isnt sorted up-down',10,13,'$'

msg4 db 'the maarach isnt simetry',10,13,'$'

msg5 db 'enter code of peola 1 or 2',10,13,'$'

.code

start:

mov ax,@data

mov ds,ax

call kelet_arr

call kelet_code

cmp al,2

jnz sort

call simetry

sorty:

call sort

mov ah,4ch

int 21h

kelet_arr:

mov di,0

T:

mov ah,1

int 21h

cmp al,30

jb not_takin

cmp al,39h

ja not_takin

sub al,30h

mov arr[di],al

inc di

cmp di,5

ja sof7

jmp T

not_takin:

jmp T

sof7:

ret

kelet_code:

pop adress

mov dx,offset msg5

mov ah,09h

int 21h

again:

mov ah,1

int 21h

sub al,30h

cmp al,1

je takin

cmp al,2

je takin

mov dx,offset msg5

mov ah,9

int 21h

jmp again

takin:

push ax

push adress

ret

sort:

mov bx,0

mov n,6

mov flag1,1

s1:

mov al,arr[bx]

cmp al,arr[bx+1]

jb sofsof

inc bx

cmp bx,n

ja sofsof1

jmp s1

sofsof:

mov flag1,0

mov dx,offset msg3

mov ah,09h

int 21h

sofsof1:

mov dx,offset msg2

mov ah,09h

int 21h

jmp sofsof3

sofsof3:

push flag1

push adress

ret

simetry:

pop adress

shr n,1

mov flag,1

mov dx,0

mov si,5

s:

mov al,arr[bx]

cmp al,arr[si]

jne sofi

dec n

cmp n,1

je sofi2

inc bx

dec si

jmp s

sofi2:

mov flag,0

mov dx,offset msg4

sofi:

push flag

push adress

mov dx,offset msg1

ret

end start

פורסם

סתם שאלה- הבגרות באסמבלר הייתה כבר ממזמן ונגמרה כבר השנה למי תגיש את זה?

עריכה-אין לי מושג מה בדיוק עשית שמה אבל זו חתיכת תוכנית מסורבלת... הנה הקטע שאתה צריך למערך יורד שעשיתי בעצמי (אתה כנראה תצטרך לשנות כמה שמות)

downward: mov Down_Flag,1

mov cl,5

xor si,si

Again: mov al,arr[si]

cmp al,arr[si+1]

ja Cont

mov Down_Flag,0

jmp Notdown

cont: inc si

loop Again

notdown: ret

פורסם
  • מחבר

הבגרות באסמבלר ב 27

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

לא הבנתי משו אחד...מזה xor?

סתם שאלה

בן כמה אתה?

פורסם

הבגרות באסמבלר ב 27

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

לא הבנתי משו אחד...מזה xor?

סתם שאלה

בן כמה אתה?

הייתה לי כבר בגרות... לפני איזה שבועיים-3

כדי שתתחיל להבין כי אם לא תבין אתה לא הולך להתקרב אפילו ל80

אני בן 15 וחצי כיתה י' טכ"מ

ואני את הבגרות שלי (100) כבר עשיתי

פורסם
  • מחבר

גם אני כיתה י' טכמ בן 16 וחצי...

אתה יודע המורה שלנו עזרה לכל הכיתה עם הפרוייקטים חוץ ממני..לא יודע מה יש לה נגדי

אני בין התלמידים הכי טובים בכיתה..

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

האיסיקיו שלי 346244137

מסנג'ר: roy1991@012.net.il

דרך אגב..יפה על ה 100

פורסם

XOR זו פעולה על ביטים. אם 2 הביטים שונים, תקבל 1, אחרת 0.

טבלת האמת של XOR:

p q pxorq

0 0 0

0 1 1

1 0 1

1 1 0

למשל :

10111 xor 01000

זה

11111

פורסם
  • מחבר

כן הסבירו לי...תודה:)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים