ورود

View Full Version : سوال: در مورد دستور پرش



mohammad_ali_7
پنج شنبه 22 خرداد 1393, 21:40 عصر
سلام
در مورد کد زیر راهنمایی می خواستم.
تعداد اعداد بزرگتر و کوچکتر از 5 رو درست میده ولی اولین عدد که 20 هست باید به l1 پرش کنه و ax رو یک واحد اضافه کنه که bx رو زیاد میکنه





stseg segment


db 64 dup (?)
stseg ends


;-------


dtseg segment
A DB 20,-6,-7,-66,12




dtseg ends
;-------------
cdseg segment
main proc far
assume cs:cdseg,ds:dtseg,ss:stseg
mov ax ,dtseg
mov ds,ax
;-------
MOV CX,5
mov ax,0
mov bx,0
MOV SI,OFFSET A
L3: CMP [SI],5
Jg L1
INC bx
JMP L2
L1: INC ax
L2: INC SI
DEC CX
jnz l3



















;-------


mov ah,4ch
int 21h
main endp
cdseg ends
end main

mohammad_ali_7
جمعه 23 خرداد 1393, 12:53 عصر
پروژه حساب میشه این سوال که کسی راهنمایی نمیکنه؟

mohammad_ali_7
جمعه 23 خرداد 1393, 13:19 عصر
مشکل پیدا کردم.
خط 26 باید
CMP byte ptr [SI],5
باشه
si پیش فرض word هست.
با pointer اسمبلی آشنایی نداشتم.

masoud.8086
جمعه 03 مرداد 1393, 16:10 عصر
اگر مقدار ارايتو از نوعdw بگيري درست ميشه فقط بايد مقدار si هر بار دو تا اضافه كني..