ورود

View Full Version : سوال: معکوس کردن عدد



davood59
شنبه 16 خرداد 1388, 18:59 عصر
سلام دوستان؛ چجوری برنامه ای بنویسیم که معکوس یک عدد ده رقمی رو برای ما نشون بده. البته بدون استفاده از تقسیم متوالی.
فکر کنم با استفاده از ماسک بشه.
ضمنا اگه اشتباه نکنم میشه این عدد رو بعنوان آرایه در نظر گرفت و در هنگام چاپ یک واحد از محلهای شروع کم و از انتها شروع به چاپش کنیم.
اگه دوستان کمک کنند ممنون میشم.

Open-Source
شنبه 16 خرداد 1388, 20:21 عصر
دوست من منظورت اینه که مانند یه رشته با اون برخورد کنیم یا یک عدد.؟
آخه معکوس کردن یه رشته خیلی راحته.

davood59
یک شنبه 17 خرداد 1388, 08:25 صبح
آره دوست عزیز، مثل یک رشته باهاش برخورد کنیم. منظور من همین بود.

Open-Source
دوشنبه 18 خرداد 1388, 10:16 صبح
دوست عزیر اینجا نمیشه برنامه در اختیار کسی گذاشت ولی چون این برنامه قبلا در انجمن بوده من اینجا یه نمونه کد میزارم:


;
;Get String and Reverse
;
.model small

.data
maxlen db 50
actlen db ?
string db 50 dup(?)

temp db ? ;for reverse

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

;--------- Get String
mov ah,10
mov dx,offset maxlen
int 21h

;------------------------- reverse
mov bl,actlen
mov bh,0

mov si,0

mov cx,bx
up:
;-- Get and Put In Temp
mov di,cx
sub di,1
mov dl,string[di]
mov temp[si],dl
inc si
;----------------------
loop up

mov temp[si],'$'
;-----------------------------------

;--------Enter
mov ah,2
mov dl,10
int 21h

;----------Print
mov ah,9
mov dx,offset temp
int 21h

;-----------getch
mov ah,0
int 16h

;-------end
mov ah,4ch
int 21h

end start