随机数汇编程序

时间:2014-11-24 09:10:10

标签: assembly random assignment-operator

我正在尝试在Assembly中生成随机数,我发现了以下代码,但它正在给出 分段故障(核心转储)错误

RANDGEN:                 ; generate a rand no using the system time 
RANDSTART:  MOV AH, 00h  ; interrupts to get system time            
            INT 1AH      ; CX:DX now hold number of clock ticks since midnight      
                         ; lets just take the lower bits of DL for a start..
            MOV BH, 57   ; set limit to 57 (ASCII for 9)     
            MOV AH, DL
            CMP AH, BH   ; compare with value in  DL,   
            JA RANDSTART ; if more, regenerate. if not, continue... 

            MOV BH, 49   ; set limit to 48 (ASCII FOR 0)
            MOV AH, DL
            CMP AH, BH   ; compare with value in DL
            JB RANDSTART ; if less, regenerate.   

            ; if not, this is what we need
            mov ah, 2h   ; call interrupt to display a value in DL
            int 21h
            RET

0 个答案:

没有答案
相关问题