עבור לתוכן

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

Featured Replies

פורסם

אני צריך להשוואות את האינדקסים ולבדוק עם המערך הראשון שווה למערך השני ואותו דבר ההפך עם המערך השני שווה למערך הראשון יש לי בעיה ב check אני לא יודע איך להשוואות אותם זה התוכנית :


.model small
.stack 0FFFh
.data

mar db "ctov marh1 : $"
mas db "ctov marh2 : $"
shavim db "shti amarcfim shavim$"
no db "error$"
arr db 5 dup (0)
arb db 5 dup (0)
ten db 10
errorr db "no digit$"
sum db 0
num db 0

.code
Start:
mov ax, @data
mov ds, ax

lea dx,[mar]
mov ah,09h
int 21h

call printenter

call keletMarh1
call printMarh1
call printenter

lea dx,[mas]
mov ah,09h
int 21h


call printenter
call keletMarh2
call printMarh2
call check




sof:
mov ah,4ch
int 21h


ok :
lea dx,[shavim]
mov ah,09h
int 21h

quit :

lea dx,[no]
mov ah,09h
int 21h

check :
mov bx,0
mov si,0
mov arr[bx],al
mov arb[si],ah
loppp:
cmp ah,al
inc bx
inc si
jnz loppp






keletMarh1:
cmp bx,5
je printMarh1
mov ah,01h
int 21h
mov arr[bx],al
inc bx
jmp keletMarh1
ret

printMarh1:
call printenter
mov bx,0
lopp:
cmp bx,5
je sofprintMarh1
mov dl,arr[bx]
mov ah,02h
int 21h
inc bx
jmp lopp
sofprintMarh1:ret


keletMarh2:
cmp si,5
je printMarh2
mov ah,01h
int 21h
mov arb[si],al
inc si
jmp keletMarh2
ret

printMarh2:
call printenter
mov si,0
lop:
cmp si,5
je sofprintMarh2
mov dl,arb[si]
mov ah,02h
int 21h
inc si
jmp lop
sofprintMarh2:ret

printenter:
mov dl,10
mov ah,02h
int 21h
mov dl,13
int 21h
ret



end start

פורסם

בוא נרשום בעברית מה אתה עושה:

1. מעביר ל- bx ו- si את הערך 0

2. שם את al ו- ah ב- arr[bx] ו- arb[si] בהתאמה

3. משווה את ah ו- al.

4. מגדיל את הערכים של bx ו- si

5. חוזר ל- 3

אם תשים לב, אתה לא מעדכן את הערכים של ah ו- al בלולאה. לכן, הם תמיד יהיו שווים (או שונים).

ארכיון

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

דיונים חדשים