ورود

View Full Version : کار با رشته ها در اسمبلی



CsharpNevisi
پنج شنبه 01 خرداد 1393, 15:35 عصر
سلام ... !!!
من تازه شروع ب یادگیری اسمبلی کردم و چیزی در چنته ندارم ... تصمیم گرفتم با استفاده از برنامه های کوچک این زبان را تا حدودی یاد بگیرم .. میشه یکی برنامه زیر را با توضیحات کامل تحت کنسول بنویسه برام ؟؟؟؟
یه برنامه که یه رشته 50 کاراکتری بگیره و بگه داخلش چندتا حرف A وجود داره
ممنون میشم

milad_d993
جمعه 02 خرداد 1393, 18:39 عصر
dseg segment data
msg1 db "Enter String: $"
msg2 db "'A' Count= $"
count db 0,'$'

strList label byte
maxlen db 50
len db ?
str db 50 dup(?)
dseg ends

cseg segment code
main proc far
mov AX,dseg
mov DS,AX

lea DX,msg1;-|
mov ah,9h ;-|--> chape reshte (msg1)
int 21h ;-|

lea DX,strList;-|
mov ah,0ah ;-|--> daryaft'e reshte
int 21h ;-|

lea BX,str

;asle barname az inja
mov CX,0
mov cl,len
for:
mov al,[BX]
CMP al,'A'
JNE next
inc count
next:
inc BX
loop for
;ta injaast...

mov ah,2;-|
mov bh,0;-| enteghale makan nama be
mov dh,1;-| x = 1 &&
mov dl,0;-| y = 0
int 10h

lea DX,msg2;-|
mov ah,9h ;-|--> chape reshte (msg2)
int 21h ;-|

add count,48; tabdile adad be reshte

lea DX,count;-|
mov ah,09h ;-|--> chape reshteye adadi (count)
int 21h ;-|

mov ah,01h
int 21h

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