PDA

View Full Version : تبدیل رشته ورودی به عدد



mehdi_pink_63
شنبه 04 دی 1389, 19:32 عصر
سلام قطعه کدی را می خواستم که رشته ورودی را به عدد تبدیل کنه تو تالار هم گشتم چیزی ندیدم اگر هست لطفا لینک بدید

xman_1365_x
شنبه 04 دی 1389, 20:35 عصر
شما كه جواب همه رو ميدي بد اين چيه پرسيدي؟ :لبخندساده:
رشته تشكيل شده از يك آرايه اي از كاراكتر كه هر كاراكتر يك كد اسكي هست
خوب شما كاراكتر كاراكتر بيا اونو تبديل به باينري كن
براي تبديل يك راه اينه كد اسكي رو از 48 كم كني
راه بيتي سريع تر هست!

mehdi_pink_63
شنبه 04 دی 1389, 21:21 عصر
مرسی بله می دونستم باید با 30h جمع بشه ولی از اونجایی که هر رشته آرایه هست یک مقداری تو نوشتنش مشکل پیدا کردم و جواب به هم می ریزه؟؟
راه بیتی چطوریه میشه راهنمایی کنید

xman_1365_x
یک شنبه 05 دی 1389, 01:32 صبح
من گفتم كم ميكنيم نه جمع!
كم كردن براي تبديل اسكي به باينري
جمع كردن باينري به اسكي
در مورد آرايه هم خيلي ساده هست
شما يك حلقه بزار از خانه اول تا خانه n ام ارايه رو چرخش كنه و تبديل انجام بده همين

nasim.gh68
جمعه 17 دی 1389, 12:40 عصر
اين برنامه كه 1+2+...+nرو محاسبه ميكنه .البته n رو از كاربر ميگيره و آخر چاپ ميكنه...اميدوارم كمك كنه...
#MAKE_EXE#
DSEG SEGMENT 'DATA'
peygham db '1+2+...+n=','$'
sum dw 0
aray db 0,0,'$'
n db 2

DSEG ENDS
;******************************************
SSEG SEGMENT STACK 'STACK'
DW 100h DUP(?)
SSEG ENDS
;******************************************
CSEG SEGMENT 'CODE'
START PROC FAR
assume ds:dseg,ss:sseg,cs:cseg
mov ax,dseg
mov ds,ax
;*****************daryaft n**************************

mov ah,02
mov dl,'n'
int 21h
mov ah,02
mov dl,'='
int 21h
mov ah,01
int 21h
mov cl,al
sub cl,48
mov ah,02
mov dl,';'
int 21h

;**********************sum************************ **
mov ch,0
mov bx,01h
mov dx,0h
for: clc
adc dx,bx
inc bx
loop for
mov sum,dx
;********************print************************ ***
mov di,offset aray +1
mov ah,09
mov dx,offset peygham
int 21h
mov bx,10
mov ax,sum
for1:mov dx,0
div bx
add dl,30h
mov [di],dl
MOV cl,[di]
DEC DI
cmp ax,0
jne for1
mov ah,09
mov dx,offset arAy
int 21h




mov ah,4ch
int 21h
START ENDP
;*******************************************
CSEG ENDS
END START ; set entry point.

masoudcg1
دوشنبه 20 دی 1389, 21:32 عصر
سلام
این پروسیجر اعدادی را از ورودی میگیرد(تا وقتی اینتر بزنه) و تبدیل به عدد میکند و در ثبات ax ذخیره میکند


Get_Num Proc near
mov ax,0
mov cx,0
mov bx,10

l1:push ax
mov ah,01h
int 21h
cmp al,13
jz end_
sub al,30h
mov ah,0
mov cx,ax
pop ax
mul bx
add ax,cx
jmp l1

end_:
pop ax
ret
Get_Num endp