hsn_abieteh
چهارشنبه 10 تیر 1388, 15:43 عصر
سلام
يك سوال كوچيك و ابتدايي داشتم دوستان
اسمبلي كار نكردم تا حالا
يك برنامه به زبان اسمبلي نوشتم(با masm) كه يك جمله با حداكثر 100 كاراكتر رو دريافت مي كنه و بعد يك كاراكتر از ورودي مي گيره و ميگه چند بار اين كاراكتر تكرار شده
ولي نمي دونم براچي خروجي اينجوري ميشه
فكر كنم چون با دستورات آشنايي ندارم يه خطاي سينتكسي داشته باشم:متفکر:
مي تونيد كمكم كنيد؟
كدش رو ضميمه كردم
Open-Source
پنج شنبه 11 تیر 1388, 10:05 صبح
دوست عزیز برنامه شما درست کار میکنه.
فقط موقع چاپ کردن برنامه کاراکتر بدست اومده رو به جای عدد چاپ میکنه(که طبیعی هستش).
شما باید قبل از چاپ کردن مقدارت رو به عدد برای چاپ تبدیل کنی.
اگه کدش رو نداشتی بگو بزارم.
Open-Source
پنج شنبه 11 تیر 1388, 10:11 صبح
این برنامه یه عدد که تو ax هستش رو به رشته برای چاپ تبدیل میکند.
;
;Get a Number(in AX) & print
;
.model small
.data
sum db 5 dup(' '),'$'
.code
;+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++
main proc
mov ax,@data
mov ds,ax
;;;;;;;;;;;;;;;; your Number
mov ax,1030
;-------------------- Convert Number to String for Print
mov si,offset sum
call bintoasc
;--------------------- Print number(string)
mov ah,9
mov dx,offset sum
int 21h
;--------------------- end
mov ah,0
int 16h
mov ah,4ch
int 21h
main endp
;=================================Convert number to string(get ax,out si)
bintoasc proc
push bx
push dx
mov bx,10
up_bin:
mov dx,0
div bx
add dl,'0'
mov [si+4],dl
dec si
cmp ax,0
jne up_bin
pop dx
pop bx
ret
bintoasc endp
;======================================
end main
;+++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++
hsn_abieteh
پنج شنبه 11 تیر 1388, 11:07 صبح
مرسي دوست عزيز يه دنيا ازت ممنونم:قلب:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.