random.asm
来自「学分管理系统的分析」· 汇编 代码 · 共 63 行
ASM
63 行
public random
data segment para public 'data'
mod_num db ?
num1 db 17
num2 db 128
num_x db ?
status db 1
data ends
code segment public 'code'
assume cs:code,ds:data
.386
;======================================================
;入口参数: CL-- 模的大小
;出口参数:BX--为CL范围内的一个随机数
random proc far
push ax
push cx
push dx
push di
push ds
mov di, data
mov ds, di
cmp byte ptr[status],1
je next
mov al,byte ptr[num1]
mul byte ptr[num_x]
add ax,37
div byte ptr[num2]
mov byte ptr[num_x],ah
jmp next1
next: push cx
mov ah,0
int 1ah
mov [num_x],dl
mov status,0
pop cx
next1: mov ax,0
mov al,[num_x]
div cl
mov bh,0
mov bl,ah
pop ds
pop di
pop dx
pop cx
pop ax
ret
random endp
;=======================================================
code ends
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?