zoukankan      html  css  js  c++  java
  • 产生随机数

    Code  Segment;定义段
       Assume CS:Code,DS:Code,ES:Code; 建立段寄存器寻址
    ; -----------------------------------------
    ; 功能:输出一个字符
    ; 入口:dl=要显示的字符
    Output_Chr  proc  Near ;定义过程.

       push  ax ;压入堆栈
       mov  ah,02h  ;调用中断输出一个数
       int  21h
       pop  ax ;弹出堆栈
       ret ;过程返回
    Output_Chr  endp ;过程结束
    ; -----------------------------------------
    ; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
    ; 入口:AX=二进制数
    ; 出口:在当前光标位置显示转换后的ASCII码数字
    Dec_ASCII  Proc  Near
       push  dx ;压入堆栈
       push  bx ;压入堆栈
       push  di;压入堆栈
       mov  bx,10
       lea  di,@@Temp_Save[6] ;LEA DX,string ;把偏移地址存到DX
       mov  byte ptr [di],'$'
       dec  di ;减 1
       cld ;清方向标志位.
    @@Divide:  xor  dx,dx ;异或运算
               div  bx ;无符号除法.
               or   dl,30h ;或运算
               mov  [di],dl
               dec  di ;减 1
               test  ax,0ffffh ;测试指令
               jnz  @@Divide ;条件转移指令
               inc  di ;加 1.
               push  di ;压入堆栈
               pop  dx ;弹出堆栈
               mov  ah,9
               int  21h
               pop  di ;弹出堆栈
               pop  bx ;弹出堆栈
               pop  dx;弹出堆栈
               ret ;过程返回
    @@Temp_Save db   7 dup(?)
    Dec_ASCII  EndP
    ; -----------------------------------------
    Press_Key db   13,10,13,10,'Press any key to exit...$'
    Start:   push cs;压入堆栈
             pop  ds;弹出堆栈
             push es;压入堆栈
             pop  es;弹出堆
             mov  cx,6;随机产生25个1~6的随机数                          
    @@L1:  xor  al,al;异或运算
           out  43h,al;I/O端口输出语法: OUT {端口号│DX},累加器
           in  al,40h;I/O端口输入语法: IN 累加器, {端口号│DX}
           cmp  al,6;比较.(两操作数作减法,仅修改标志位,不回送结果).
           ja  @@L1   ;大于6则继续产生随机数
           cmp al,0   ;等于0则继续产生随机数
           jz @@L1
           xor  ah,ah;异或运算,清0
           call Dec_ASCII ;显示输出这个数
           mov  dl,20h
           call Output_Chr
           loop @@L1
           lea  dx,Press_Key; LEA DX,string ;把偏移地址存到DX.
           mov  ah,9
           int  21h
           mov  ah,1
           int  21h
    Exit_Proc: mov  ah,4ch ;结束程序
               int  21h
    Code  ENDS
    END   Start

  • 相关阅读:
    Azkaban的使用
    Azkaban安装
    Kafka 启动失败,报错Corrupt index found以及org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'version': java.nio.BufferUnderflowException
    Kafka 消费者设置分区策略及原理
    Kafka利用Java API自定义生产者,消费者,拦截器,分区器等组件
    zookeeper群起总是有那么几个节点起不来的问题解决
    flume 启动agent报No appenders could be found for logger的解决
    Flume 的监控方式
    Flume 自定义 组件
    Source r1 has been removed due to an error during configuration java.lang.IllegalArgumentException: Required parameter bind must exist and may not be null & 端口无法连接
  • 原文地址:https://www.cnblogs.com/java20130723/p/3211549.html
Copyright © 2011-2022 走看看