汇编 如何生成随机数 ,急!在线等 ~~

春华-秋实 2010-07-08 10:07:09
汇编程序如何生成随机数 ~~各位 大大 帮帮忙 ~~
...全文
1191 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxdzxc 2010-07-09
  • 打赏
  • 举报
回复
biaoji....
masmaster 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dididu1515 的回复:]
俺blue有问题请教了[随机数]http://tieba.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=5721189651&z=553939752&pn=0&rn=30&lm=0&word=%BB%E3%B1%E0#5721189651
[/Quote]
多谢~,
mov al,40h,好像只能产生255内的随机数吧, 因为ah总是4C。 您提供的廉洁我看啦, 他们的代码我实验啦,
3楼的代码执行完out 43H,al便退出啦, 5楼的吧源,目的操作数写反了,
masmaster 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dididu1515 的回复:]
<PC技术内幕>
[/Quote]
多谢~
dididu1515 2010-07-08
  • 打赏
  • 举报
回复
<PC技术内幕>
春华-秋实 2010-07-08
  • 打赏
  • 举报
回复
这个产生随机数?放在ax中 ?[Quote=引用 2 楼 masmaster 的回复:]
in ax,40h;产生随机数
请教楼上,关于这些端口之类的资料,能给个链接地址吗? 我咋找不到呀, 多谢
[/Quote]
春华-秋实 2010-07-08
  • 打赏
  • 举报
回复
感谢大家,我已经弄出来了~~thank you !
masmaster 2010-07-08
  • 打赏
  • 举报
回复
in ax,40h;产生随机数
请教楼上,关于这些端口之类的资料,能给个链接地址吗? 我咋找不到呀, 多谢
dididu1515 2010-07-08
  • 打赏
  • 举报
回复
;小学生算术练习软件
;1) 屏幕出现菜单选择项。包括两位数的加减运算、一位数的乘除运算。
;2) 随机产生算式。判断输入的计算结果正确与否。
;要求
;1) 在屏幕上显示相关算式,等待键入计算结果。
;2) 随机产生两个两位以内的十进制数用于加减运算。
;3) 随机产生两个一位的十进制数用于乘除运算。
;
Output macro mess
mov dx,offset mess
mov ah,9
int 21h
endm

CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START:
push cs
pop ds
Begin: Output string
getkey: mov ah,0
int 16h
cmp al,0dh
jz exit
cmp al,'1'
jb getkey
cmp al,'4'
ja getkey
mov ah,0eh
int 10h
and ax,0fh
mov bx,ax
dec bx
shl bx,1
call word ptr Table[bx]
mov Z,al
call Change
jmp jsq
@warn: Output error
jsq: Output buffer
call shuru
cmp al,Z
jnz @warn
Output yes
jmp Begin
exit: mov ah,4ch
int 21h

csh: call @Rnd
mov X,al
call @Rnd
mov Y,al
ret
;随机产生两个两位以内的十进制数
@Rnd: push dx
xor dx,dx
in ax,40h;产生随机数
div cx
mov al,dl
test al,al
jz @Rnd
pop dx
ret
;------------------
jiafa: ;"+"
mov fh,'+'
mov cx,100
call csh
mov al,X
add al,Y
ret

jianfa: ;"-"
mov fh,'-'
mov cx,100
call csh
mov al,X
cmp al,Y
jnb jf1
xchg al,Y
mov X,al
jf1:
sub al,Y
ret

chenfa: ;"*"
mov fh,'*'
mov cx,10
call csh
mov al,X
mul Y
ret

Chufa: ;"/"
mov fh,'/'
mov cx,10
call csh
mov al,X
cbw
mov cl,Y
mov ch,0
cmp ax,cx
jnb cf1
xchg ax,cx
mov X,al
mov Y,cl
cf1:xor dx,dx
div cx
ret

Asc:mov al,al
aam
or ax,3030h
xchg al,ah
ret

Change:
mov al,X
call Asc
mov X1,ax
mov al,Y
call Asc
mov Y1,ax
mov al,Z
call Asc
mov Z1,ax
ret

shuru proc
push bp
push cx
push bx
xor bp,bp
mov bx,10
mov cx,3
input:
mov ah,0 ;键盘输入数据
int 16h
cmp al,0dh ;以回车结束输入
jz ok
cmp al,'0' ;只允许输入0~9
jb input
cmp al,'9'
ja input
mov ah,0eh ;显示有效输入
int 10h
and ax,000fH ;化ASCII为HEX
xchg ax,bp
mul bx ;扩大10倍
add bp,ax ;加一位
loop input
ok:mov ax,bp ;数值结果放入ax
;恢复用到的寄存器
pop bx
pop cx
pop bp
ret
shuru endp

X db ?
Y db ?
Z db ?
N db ?
buffer db 0dh,0ah,9
X1 dw ?
fh db ?
Y1 dw ?
db '= $'
Z1 dw ?

Yes db 9,'Correct!$'
error db 9,'Error!$'
string db 0dh,0ah,9,'Menu: '
db 9,'1.Jia fa 2.Jian fa Chen fa 4.Chu fa',0dh,0ah
db 9,'Choice(1-4),enter to quit: $'
Table dw jiafa,jianfa,chenfa,Chufa

CODE ENDS
END START
masmaster 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dididu1515 的回复:]
引用 8 楼 masmaster 的回复:
刚去了趟西单图书大厦和海淀图书城, 都木有这本书。。
你不会百度一下嘛?!
[/Quote]
我百了, 都是绝版。。。。。
dididu1515 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 masmaster 的回复:]
刚去了趟西单图书大厦和海淀图书城, 都木有这本书。。
[/Quote]你不会百度一下嘛?!
masmaster 2010-07-08
  • 打赏
  • 举报
回复
刚去了趟西单图书大厦和海淀图书城, 都木有这本书。。

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧