案例2产生随机数并运算的程序
来源:互联网 发布:免费换ip软件 编辑:程序博客网 时间:2024/04/30 06:38
此程序可显示任意两个16进制数的加法或减法表达式及其运算结果。在减法运算中,如果被减数小于减数,显示“Divide Overflow”的提示信息。
代码块:
DATA SEGMENT CC DB '+' ww db '-' GG DB '=' II DB 0DH,0AH,'$' AA DB 5 DUP(?) www dw 0 ghh db '0',0dh,0ah,'$' bnm dw 0DATA ENDSSTACK SEGMENT DB 200 DUP(0)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV CX,20 CALL RAND ;产生一随机数 CALL MCAT ;将随机数转换为16进制表示的ASCII码字符 MOV AX,BX PUSH AX CMP www,0 ;WWW=0? JE A1 ;执行'+' CMP www,1 ;www=1? JE A2 ;执行'-' A1: MOV DL,CC ;显示'+' MOV AH,2 INT 21H CALL RAND ;产生另一随机数 add bx,0fh CALL MCAT ;将随机数转换为16进制表示的ASCII码字符 MOV DL,GG ;显示'=' MOV AH,2 INT 21H POP AX ADD AX,BX cmp ax,0 jne yjw1 lea dx,ghh mov ah,9 int 21h jmp qq1 yjw1: JMP B1 A2: MOV DL,WW ;显示'-' MOV AH,2 INT 21H mov cx,65535 mai1: loop mai1 CALL RAND1 CALL MCAT MOV DL,GG MOV AH,2 INT 21H POP AX Sbb AX,BX cmp ax,0 jne yjw2 lea dx,ghh mov ah,9 int 21h jmp qq1 yjw2: JMP B1 B1: MOV BX,AX CALL MCAT lea DX,II MOV AH,9 INT 21H QQ1: MOV AH,4CH INT 21HMCAT PROC ;将随机数转换为16进制表示的ASCII码字符子程序 PUSH AX push bx PUSH CX PUSH DX CMP BX,9 JA S1 PUSH AX PUSH BX PUSH CX PUSH DX mov ax,bx mov bl,5 div bl cmp ah,3 jae vb1 mov www,1 jmp vn1 vb1:mov www,0 vn1:pop dx pop cx pop bx pop ax ADD BL,30H MOV AA,BL MOV AA+1,'$' LEA DX,AA MOV AH,9 INT 21H JMP s3 s1:MOV CL,4 MOV AL,0 PUSH BX SHL BX,CL CMP BH,9 JBE V1 SUB BH,9 ADD BH,40H JMP MM1 V1:ADD BH,30H MM1:MOV AA,BH POP BX AND BL,0FH PUSH AX PUSH BX PUSH CX PUSH DX mov ax,bx mov bl,5 div bl cmp ah,3 jae vb2 mov www,1 jmp vn2 vb2:mov www,0 vn2:pop dx pop cx pop bx pop ax CMP BL,9 JBE TT1 SUB BL,9 ADD BL,40H JMP RR1TT1: ADD BL,30HRR1: MOV AA+1,BL MOV AA+2,'$' LEA DX,AA MOV AH,9 INT 21H s3:POP DX POP CX POP BX POP AX RETMCAT ENDPRAND PROC PUSH CX PUSH DX PUSH AX STI MOV AH,0 ;读时钟计数器值 INT 1AH MOV AX,DX ;清高6位 AND AH,3 MOV DL,101 ;除101,产生0~100余数 DIV DL MOV BL,AH ;余数存BX,作随机数 POP AX POP DX POP CX RETRAND ENDPRAND1 PROC PUSH CX PUSH DX PUSH AX STI MOV AH,0 INT 1AH MOV ax,cx AND AH,3 MOV DL,101 DIV DL MOV BL,AH POP AX POP DX POP CX RETRAND1 ENDPCODE ENDS END START
1 0
- 案例2产生随机数并运算的程序
- JavaScript产生随机数并对数据进行简单的运算
- 随机数产生的程序
- 均匀分布随机数产生的程序
- 设计程序,产生10个10-19的随机数,对它们递增排序并输出结果
- C++程序,产生随机数
- 产生随机数并比较大小
- 集合框架_产生10个1-20之间的随机数要求随机数不能重复案例
- 产生一个1000以内的随机数,并猜测
- 【matlab】如何产生特定格式的随机数,并保存结果
- VC下的C语言程序随机数的产生
- 该程序用来产生不重复的随机数 0~9
- cocos2d-x(2) 产生不同的随机数
- java产生随机数的2种方式
- 关于随机数的产生
- 随机数的产生
- 随机数的产生
- 随机数的产生
- 每天一个设计模式: 观察者模式(Observer)
- 演化计算会议
- 比大小 OJ 73
- 关于c语言char*的问题
- 20150108-小失误-中国流-执黑胜
- 案例2产生随机数并运算的程序
- 进程和线程的简单介绍
- 使用vim删除内容
- Unity3D游戏开发者该如何有效利用其特性
- jquery的常见使用
- RESTful API 设计指南
- Android插件化(一):使用改进的MultiDex动态加载assets中的apk
- Nginx 配置文件 参考
- ASP.NET MVC 提供与访问 Web Api