【网站源码绑定】【源码自动发货】【家装 源码】ipop源码

时间:2024-11-27 03:02:06 来源:源码网投 分类:百科

1.汇编语言怎麼产生随机数

ipop源码

汇编语言怎麼产生随机数

       NASM汇编:

section .text

        global _start       ; gcc 必须的源码声明

       rand: ; 生成随机数,返回值在eax

        push edx

        rdtsc ; 内核纳秒级时间作为种子

        imul eax,源码网站源码绑定 edx

        add eax, 0xF1E2D3C4

        imul eax, 0xB5A

        pop edx

        ret

       _start: ; 程序入口

           nop

           call rand ; 生成随机数

           

           mov esi, msg

           mov ecx, len

        call binasc ; 转换成ascii

        mov edx, ecx ; 显示

        mov ecx, esi

        mov ebx, 1

        mov eax, 4

        int 0x

        mov eax, 1 ; 退出

           xor ebx, ebx

           int h

           

       ; 将数字转换成ascii

       binasc:

           push edx

        push ebx

        push edi

        push eax

        mov edi,esi

       ba1:

           mov byte [esi],' '

        inc esi

        loop ba1

        mov ebx,

        or eax,eax

        jns ba2

        neg eax

       ba2:

           xor edx,edx

        div ebx

        add dl,'0'

        dec esi

        mov [esi],dl

        inc ecx

        cmp esi,edi

        jz ba4

        or eax,eax

        jnz ba2

        pop eax

        or eax,eax

        jns ba3

        dec esi

        mov byte [esi],'-'

        inc ecx

       ba3:

           pop edi

        pop ebx

        pop edx

        ret

       ba4:

           pop eax

        jmp ba3

       section .data

       msg db '                ',0xa

       len equ $ - msg

       多次运行结果: