毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

微机原理课程设计_产生随机数并运算的程序_汇编语言课程设计

更新时间:2007-10-25:  来源:毕业论文

微机原理课程设计_产生随机数并运算的程序_汇编语言课程设计|精品课程网站设计|课程设计网报告总结心得

本程序需在DOS下运行。每运行一次可执行程序random.exe,即可显示任意两个
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 0
DATA ENDS

STACK SEGMENT
DB  200  DUP(0)
STACK ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK

START: 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  21H

MCAT 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 RR1
TT1: ADD BL,30H
RR1: MOV AA+1,BL
MOV AA+2,'$'
LEA DX,AA
MOV AH,9
INT 21H
s3:POP DX
POP CX
POP BX
POP AX
RET
MCAT  ENDP

RAND  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
RET
RAND  ENDP

RAND1 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
RET
RAND1  ENDP

CODE   ENDS
END  START  微机原理课程设计_产生随机数并运算的程序

微机原理课程设计_产生随机数并运算的程序_汇编语言课程设计下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。