社区
汇编语言
帖子详情
汇编语言如何产生随机数???请高手指教。
jlhong
2004-05-12 10:21:29
汇编语言如何产生随机数???
...全文
642
8
打赏
收藏
汇编语言如何产生随机数???请高手指教。
汇编语言如何产生随机数???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Aluo1979
2004-06-27
打赏
举报
回复
UP
sten
2004-06-26
打赏
举报
回复
up!
Allemand
2004-06-23
打赏
举报
回复
以前有人问过:
http://community.csdn.net/Expert/topic/2973/2973071.xml?temp=.7555353
wangziz
2004-06-22
打赏
举报
回复
assume cs:cseg,ds:cseg,ss:cseg
cseg segment para public 'code'
FirstCode:
org 100h
TableBase label byte
LoadTSR:
jmp cs:[Last]
Last dw LastCode
org 200h
ByteLoc dw TableBase+00ffh
LastByte dw Tablebase+00ffh
Continue9 dd ?
Continue2F dd ?
INT9:
push ax
push bx
mov bx,cs:[ByteLoc]
inc bl
cmp bx,cs:[LastByte]
je exit
xor ax,ax
out 43h,al
in al,40h
mov ah,al
in al,40h
xchg al,ah
shr ax,1
shr ax,1
mov cs:[ByteLoc],bx
mov cs:[bx],al
exit:
pop bx
pop ax
jmp cs:[continue9]
INT2F:
cmp ah,0aeh
jne exit2f
cmp dx,726eh ;'rn'
jne exit2f
push bx
push cx
mov dx,di
or al,al
jz DoneOK
mov cl,al
xor ch,ch
Loop1:
cli
mov bx,cs:[LastByte]
cmp bx,cs:[ByteLoc]
je DoneShort
inc bl
mov al,cs:[bx]
mov cs:[LastByte],bx
sti
stosb
loop loop1
DoneOK:
mov al,0ffh
DoneDone:
sub di,dx
xchg dx,di
pop cx
pop bx
iret
DoneShort:
xor al,al
jmp DoneDone
exit2f:
jmp cs:[continue2f]
LastCode:
mov ax,0ae00h
mov dx,0726eh
int 2fh
cmp al,0ffh
jnz NotLoaded
or dx,dx
jz AlreadyLoaded
NotLoaded:
mov ax,3509h
int 21h ;get int 9
mov [word ptr Continue9],bx
mov [word ptr Continue9+2],es
mov ax,2509h
mov dx,offset INT9
int 21h ;link to INT9
mov ax,352Fh
int 21h ;get int 2F
mov [word ptr Continue2F],bx
mov [word ptr Continue2F+2],es
mov ax,252Fh
mov dx,offset INT2F
int 21h ;link to INT2F
mov dx,offset Success
mov ah,9
int 21h
mov ax,3100h ;TSR
mov dx,(LastCode+15-FirstCode)/16
int 21h ;TSR
AlreadyLoaded:
mov dx,offset Already
mov ah,9
int 21h
mov ax,4c01h
int 21h
Success db 0dh,0ah,0ah,'RANTSR loaded and linked to INT 2F',0ah,0dh
db ' Joseph R Ahlgren, BBS 703-241-2661',0ah,0dh,0ah,'$'
Already db 0dh,0ah,0ah,'RANTSR already loaded',0ah,0dh,0ah,'$'
cseg ends
end LoadTSR
programfanny
2004-06-14
打赏
举报
回复
16位下 RDTSC 可用 DB xx xx... 代替
你的单片机CUP是x86吗?
longz21zheng
2004-05-14
打赏
举报
回复
取出CPU的时间戳计数器,然后用你的模数求模。
RDTSC
不过,在16位我没有这个指令。不过你可以取得系统时间,把它转变成毫秒,然后。。。
vicallee
2004-05-12
打赏
举报
回复
转贴:
DATA SEGMENT
OUTBUF DB 4 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
LOP1: MOV SI,OFFSET OUTBUF
PUSH SI
MOV AH,0
INT 1AH
MOV AL,DL
MOV AH,0
MOV BL,20
DIV BL
INC AH
LOP2: MOV AL,AH
MOV AH,0
MOV BL,10
DIV BL
ADD AL,30H
MOV [SI],AL
INC SI
ADD AH,30H
MOV [SI],AH
INC SI
MOV BYTE PTR [SI],20H
INC SI
MOV BYTE PTR [SI],'$'
POP DX
MOV AH,9
INT 21H
MOV CX,9000
DONE1:MOV BX,0FFFFH
DONE:DEC BX
JNE DONE
LOOP DONE1
MOV AH,6
MOV DL,0FFH
INT 21H
JE LOP1
CMP AL,'Q'
JE LAST
JMP LOP1
LAST: RET
MAIN ENDP
CODE ENDS
END MAIN
jlhong
2004-05-12
打赏
举报
回复
能否请 vicallee(^^给我个理由先^^) 解释一下,我要在单片机上用这个。不胜感激!!!
随机数产生与仿真36选7的开奖过程 (
汇编语言
程序设计)
这篇博客探讨了如何使用
汇编语言
来实现36选7的随机数生成并仿真开奖过程。程序设计中,首先从包含36个数的数组中随机选取7个数,并排除已选数字,确保每次选择基数减小。文章详细介绍了数据结构设计,算法描述包括利用系统时间作为随机数种子,并通过键盘输入检测控制流程。最后,给出了两位数的输出方法及代码实现的概述。
随机数的产生原理与实现
本文介绍了一种基于公式 Rand_Number=(Rand_Seed*X+Y)modZ 的伪随机数生成方法,通过使用 GetTickCount API 作为随机种子并设定 X 和 Y 为素数,实现了在指定范围内生成随机数。
汇编语言
四
产生随机数
,统计奇数的个数,并计算所有奇数的和
本文介绍了一种使用同余法生成小于256的伪随机数的方法,并通过
汇编语言
实现,统计其中奇数的数量及求和,最终将结果存储在指定内存单元。
随机数产生原理
本文深入探讨了随机数生成的基本原理,介绍了一种简单的伪随机数生成算法及其应用,包括汇编代码实现和参数选择策略。
汇编语言
| 随机数的生成
文章介绍了如何使用DOS下的INT21H中断生成随机数,并通过
汇编语言
程序进行显示。首先,展示了生成一位随机数的方法,然后扩展到生成10位随机数,通过调整GETRAM子程序中的CX值并加入延时子程序WAITM以产生不同的随机数序列。最后,给出了一个循环生成10位随机数的程序,直到检测到键盘输入为止。
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章