هم دانشگاهی
جمعه 05 خرداد 1391, 13:35 عصر
سلام چگونه عدد تصادفی ایجاد کنیم
MostafaMohammadi
جمعه 05 خرداد 1391, 15:04 عصر
روش های زیادی هست که می تونی با زبان اسمبلی پیاده سازی کنی و توابع مختلفی هست که عدد تصادفی تر تولید می کنند. ولی یکی از ساده ترین راههاش اینه که با سرویس 01h دستور INT 1Ah ساعت رو بخونی. این وقفه میلی ثانیه رو میریزه تو ثبات CL، حالا تو می تونی یه سری عملیات ریاضی روش انجام بدی تا اون عدد رو به فرمت دلخواه ات تغییر بدی. (منظورم از فرمت اینه که مثلا عدد تصادفی مورد نظر ات یه رقمی باشه یا زوج باشه یا بین بازه 100 تا 300 باشه و ...)
p30_code
جمعه 05 خرداد 1391, 23:04 عصر
با استفاده از ساعت سیستم عدد تصادفی ایجاد میشه.این هم سورس کد
; multi-segment executable file template.
data segment
; add your data here!
pkey db " "
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
mov ah,2ch
int 21h
mov al,dl
mov bl,dh
add al,bl
mov ah,0
mov cl,100
div cl
mov bl,ah
mov ah,2
mov dl,al
add dl,50
int 21h
sub bl,50
sub al,50
add bl,dl
add al,dh
mov ah,0
mov cl,10
div cl
mov bl,ah
mov ah,2
mov dl,al
add dl,50
int 21h
mov ah,2
mov dl,bl
add dl,50
int 21h
lea dx, pkey
mov ah,9h
int 21h
mov ah, 1
int 21h
mov ax, 4c00h
int 21h
ends
end start
MostafaMohammadi
شنبه 06 خرداد 1391, 00:22 صبح
p30_code (http://barnamenevis.org/member.php?251339-p30_code) عزیز،
ضمن تشکر بابت به اشتراک گذاشتن کد ات، ولی کد ات درست نیست، خیلی وقت ها توی خروجی رشته غیر عددی چاپ میشه، مخصوصا ":" و ";" دار.
p30_code
یک شنبه 07 خرداد 1391, 19:34 عصر
مشکل اش را برطرف کنید. :متفکر:
xman_1365_x
یک شنبه 07 خرداد 1391, 20:10 عصر
شرط بزارید در بازه اعداد باشه ،بزرگتر از کد اسکی اعداد نشه
8 + 50 = 3ah = ':'
9 + 50 = 3bh = ";"
pkey db " $"
موفق باشی:چشمک:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.