צריך בבקשה עזרה באסמבלי - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

צריך בבקשה עזרה באסמבלי


Alex Koretzki

Recommended Posts

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

קישור לתוכן
שתף באתרים אחרים

.DATA

input_str db 20,?,20 dup(?)

.CODE

start:

mov ax, @data

mov ds, ax

input_toString:

mov ah,0AH

lea dx,input_str

int 21H

;mov bl,dx+1

mov cx,20

lea si,input_str

compare:

cmp [si],[si]+32 ;error!!

jne set_upper;

loop compare

jmp exit

set_upper:

exit:

mov ah, 4ch

int 21H

end_code:

END start


קישור לתוכן
שתף באתרים אחרים

יש לך את si ותשמור באוגר נוסף את si - 32. אח"כ תשווה ביניהם.

חוץ מזה, תבדוק שההשוואה שלך הגיונית (si שווה ל-si)

עריכה: שים את הקוד שלך בתוך תגית הקוד #

קישור לתוכן
שתף באתרים אחרים

  • 1 חודש מאוחר יותר...

הפעולה cmp לא יכולה להשוות בין כל דבר.

אם אני לא טועה ההשוואות האפשריות הן בין שני אוגרים, בין אוגר למקום בזיכרון, בין אוגר לערך (לדוגמה מספר), בין מקום בזיכרון לערך ובין מקום בזיכרון לאוגר EAX.

לכן אתה לא יכול להשוות בין אוגר לאוגר פלוס ערך. אלא כמו שגיל אמר אתה צריך להכניס את הערך של SI+32 לאוגר אחר ולעשות השוואה בין האוגרים (שזוהי השוואה חוקית)

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...