haniye70
سه شنبه 26 دی 1391, 19:49 عصر
با سلام
من نياز به راهنمايي دوستان محترم دارم من برنامه اي رو نوشتم براي درس اسمبلي
هرجوري بود به زحمت برنامه خودم رو نوشتم ولي حالا مشكل دارم توي برنامم
من مي خوام وقتي از ورودي رشته اي رو ميگيرم كوچيك ترين كاركتر در ميان رشته هام رو نشونم بده برنامه من فقط تعداد حروف و يا عدد رشته اي كه برنامه از من ميگيره رو شمارش ميكنه و نشون ميده
من مي خوام برنامم تعداد كاركتر هاي كوچك رو در رشته چاپ كنه
اينم فايل من
data segment
num db ?
str db 3 dup(?),"$"
msg db "Enter String:","$"
msg1 db "Answer:","$"
msg2 db "Count:","$"
md label byte
max db 10
len db ?
Buffer db 10 dup(?),"$"
data ends
code segment
main proc far
assume ds:data,cs:code
mov ax,data
mov ds,ax
call clear
call namayesh
mov ah,0ah
lea dx,md
int 21h
lea bx,Buffer
mov ch,0
mov cl,len
mov al,1
mov dh,9
bol:
lol:
mov dl,[bx]
inc bx
dec dh
cmp dl,60h
ja bo
cmp bx,9
je bol1
bol1:
cmp dl,60h
ja mo
cmp dh,0
je en
loop lol
bo:
mov num,dh
mov str,dl
cmp al,1
je nm
ed:
mov dh,num
inc ch
mov ah,2h
mov dl,str
int 21h
cmp dh,0
jne bol
jmp dol
nm:
call namayesh1
mov al,0
cmp al,0
je ed
mo:
en:
dol:
call namayesh2
or ch,30h
mov ah,2h
mov dl,ch
int 21h
jmp eno
main endp
namayesh proc near
mov ah,2h
mov dh,5
mov dl,3
mov bh,0
int 10h
lea dx,msg
mov ah,9h
int 21h
ret
namayesh endp
namayesh1 proc near
mov ah,2h
mov dh,8
mov dl,6
mov bh,0
int 10h
lea dx,msg1
mov ah,9h
int 21h
ret
namayesh1 endp
namayesh2 proc near
mov ah,2h
mov dh,11
mov dl,9
mov bh,0
int 10h
lea dx,msg2
mov ah,9h
int 21h
ret
namayesh2 endp
clear proc near
mov ah,6h
mov al,25
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,70h
int 10h
ret
clear endp
eno:
code ends
end main
من نياز به راهنمايي دوستان محترم دارم من برنامه اي رو نوشتم براي درس اسمبلي
هرجوري بود به زحمت برنامه خودم رو نوشتم ولي حالا مشكل دارم توي برنامم
من مي خوام وقتي از ورودي رشته اي رو ميگيرم كوچيك ترين كاركتر در ميان رشته هام رو نشونم بده برنامه من فقط تعداد حروف و يا عدد رشته اي كه برنامه از من ميگيره رو شمارش ميكنه و نشون ميده
من مي خوام برنامم تعداد كاركتر هاي كوچك رو در رشته چاپ كنه
اينم فايل من
data segment
num db ?
str db 3 dup(?),"$"
msg db "Enter String:","$"
msg1 db "Answer:","$"
msg2 db "Count:","$"
md label byte
max db 10
len db ?
Buffer db 10 dup(?),"$"
data ends
code segment
main proc far
assume ds:data,cs:code
mov ax,data
mov ds,ax
call clear
call namayesh
mov ah,0ah
lea dx,md
int 21h
lea bx,Buffer
mov ch,0
mov cl,len
mov al,1
mov dh,9
bol:
lol:
mov dl,[bx]
inc bx
dec dh
cmp dl,60h
ja bo
cmp bx,9
je bol1
bol1:
cmp dl,60h
ja mo
cmp dh,0
je en
loop lol
bo:
mov num,dh
mov str,dl
cmp al,1
je nm
ed:
mov dh,num
inc ch
mov ah,2h
mov dl,str
int 21h
cmp dh,0
jne bol
jmp dol
nm:
call namayesh1
mov al,0
cmp al,0
je ed
mo:
en:
dol:
call namayesh2
or ch,30h
mov ah,2h
mov dl,ch
int 21h
jmp eno
main endp
namayesh proc near
mov ah,2h
mov dh,5
mov dl,3
mov bh,0
int 10h
lea dx,msg
mov ah,9h
int 21h
ret
namayesh endp
namayesh1 proc near
mov ah,2h
mov dh,8
mov dl,6
mov bh,0
int 10h
lea dx,msg1
mov ah,9h
int 21h
ret
namayesh1 endp
namayesh2 proc near
mov ah,2h
mov dh,11
mov dl,9
mov bh,0
int 10h
lea dx,msg2
mov ah,9h
int 21h
ret
namayesh2 endp
clear proc near
mov ah,6h
mov al,25
mov ch,0
mov cl,0
mov dh,24
mov dl,79
mov bh,70h
int 10h
ret
clear endp
eno:
code ends
end main