七段码电子表程序
来源:互联网 发布:seo关键词布局 编辑:程序博客网 时间:2024/05/01 16:12
这是曾经汇编原理课程设计是的题目,效果如图:
现将源码共享出来:
DATA SEGMENT ;*****定义please等提示信息*****
STR DB 20
DB 50H,7,0,0
DB 6CH,7,0,1
DB 65H,7,0,1
DB 61H,7,0,1
DB 73H,7,0,1
DB 65H, 7,0,1
DB 70H,7,1,-10
DB 72H,7,0,1
DB 65H,7,0,1
DB 73H,7,0,1
DB 73H,7,0,1
DB 53H,7,0,2
DB 6BH,7,0,2
DB 65H,7,0,1
DB 79H,7,0,1
DB 65H,7,0,2
DB 78H,7,0,1
DB 69H,7,0,1
DB 74H,7,0,1
DB 21H,7,0,1 ;*****定义0-9十个图形数字*****
S0 DB 6 ;对S0进行定义
DB 5FH,7,0,0
DB 7CH,7,1,-1
DB 7CH,7,1,0
DB 5FH,7,0,1
DB 7CH,7,0,1
DB 7CH,7,-1,0
SY DB 2 ;对Sy进行定义
DB 7CH,7,1,0
DB 7CH,7,1,0
S2 DB 5 ;对S2进行定义
DB 5FH,7,0,0
DB 7CH,7,1,1
DB 5FH,7,0,-1
DB 7CH,7,1,-1
DB 5FH,7,0,1
S3 DB 5 ;对S3进行定义
DB 5FH,7,0,0
DB 7CH,7,1,1
DB 5FH,7,0,-1
DB 7CH,7,1,1
DB 5FH,7,0,-1
S4 DB 4 ;对S4进行定义
DB 7CH,7,1,0
DB 5FH,7,0,1
DB 7CH,7,1,1
DB 7CH,7,-1,0
S5 DB 5 ;对S5进行定义
DB 5FH,7,0,0
DB 7CH,7,1,-1
DB 5FH,7,0,1
DB 7CH,7,1,1
DB 5FH,7,0,-1
S6 DB 6 ;对S6进行定义
DB 5FH,7,0,0
DB 7CH,7,1,-1
DB 5FH,7,0,1
DB 7CH,7,1,1
DB 5FH,7,0,-1
DB 7CH,7,0,-1
S7 DB 3 ;对S7进行定义
DB 5FH,7,0,0
DB 7CH,7,1,1
DB 7CH,7,1,0
S8 DB 7 ;对S8进行定义
DB 7CH,7,1,0
DB 5FH,7,-1,1
DB 7CH,7,1,1
DB 5FH,7,0,-1
DB 7CH,7,1,1
DB 5FH,7,0,-1
DB 7CH,7,0,-1
S9 DB 6 ;对S9进行定义
DB 7CH,7,1,0
DB 5FH,7,-1,1
DB 7CH,7,1,1
DB 5FH,7,0,-1
DB 7CH,7,1,1
DB 5FH,7,0,-1
S11 DB 2 ;对S11进行定义
DB 03H,7,1,0
DB 03H,7,1,0
DATA ENDS ;定义以上量对后面的函数进行说明与符合汇编语言的语法相匹配
STACK SEGMENT
DB 200 DUP (0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AH,0 ;设置显示方式
MOV AL,4
INT 10H
MOV AH,0BH ;置彩色调板
MOV BH,0
MOV BL,1
INT 10H
MOV AH,0BH ;置彩色调板
MOV BH,1
MOV BL,4
INT 10H
MOV AH,2 ;取系统时间
INT 1AH
MOV AX,0
MOV BX,0
MOV AH,CH ;取系统时间
MOV AL,CL ;保存分钟
MOV BH,DH ;保存秒
MOV BL,DL ;保存百分之一秒
;取系统时间,并且保存1秒对后面程序的调用以及时间周期起到决定性的作用
TT:
PUSH AX
PUSH BX
MOV AH,0
MOV AL,4
INT 10H
MOV AH,0BH
MOV BH,0
MOV BL,1
INT 10H
MOV AH,0BH
MOV BH,1
MOV BL,4
INT 10H
MOV AH,1 ;读键盘缓冲区字符
INT 16H
JZ WW
MOV AH,8 ;从键盘输入字符
INT 21H
CMP AL,'s' ;输入s,结束程序
JE TU ;构建子函数,即对键盘的输入以及使调用信息与调用函数相结合使用
WW: POP BX
POP AX
CALL XIAN ;调用显示子程序
PUSH AX
QU: MOV AH,2 ;取系统时间
INT 1AH
CMP BH,DH
JE QU
POP AX
INC BH ;对时间进行加1
CMP BH,100
JL TT
MOV BH,0
INC AL
CALL BEEP
CMP AL,100
JL TT
MOV AL,0
INC AH
CMP AH,24
JL TT
MOV AH,0
JMP TT
TU: MOV AH,4CH
INT 21H
RET
XIAN PROC ;对时间值进行处理并显示的子程序
PUSH SI
PUSH DI
PUSH DX
PUSH CX
PUSH BX
PUSH AX
POP AX
PUSH AX
MOV BX,AX
MOV AX,0
MOV AL,BH
MOV CL,4
SHR AL,CL
MOV BL,AL
MOV DH,10
MOV DL,2
CALL FF
POP AX
PUSH AX
MOV BX,AX
MOV AX,0
MOV AL, BH
AND AL,0FH
MOV BL,AL
MOV DH,10
MOV DL,6
CALL FF
MOV DH,10
MOV DL,10
MOV BL,10
CALL FF
POP AX
PUSH AX
MOV CL,4
SHR AL,CL
MOV BL,AL
MOV DH,10
MOV DL,14
CALL FF
POP AX
PUSH AX
AND AL ,0FH
MOV BL,AL
MOV DH,10
MOV DL,18
CALL FF
MOV DH,10
MOV DL,22
MOV BL,10
CALL FF
POP AX
POP BX
PUSH BX
PUSH AX
MOV AX,0
MOV AL,BH
MOV CL,4
SHR AL,CL
MOV BL,AL
MOV DH,10
MOV DL,26
CALL FF
POP AX
POP BX
PUSH BX
PUSH AX
MOV AL,BH
AND AL,0FH
MOV BL,AL
MOV DH,10
MOV DL,30
CALL FF
MOV DH,0
MOV DL,15
MOV BL,22
CALL FF
POP AX
POP BX
POP CX
POP DX
POP DI
POP SI
RET
XIAN ENDP ;调用函数,实现思路图中构想的对函数调用,即主函数对整个程序算法的控制与调用子函数实现的主要部分
FF PROC ;显示具体数值
PUSH AX
PUSH BX
PUSH CX
PUSH DX
CMP BL,0
JE L0
CMP BL,1
JE L1
CMP BL,2
JE L2
CMP BL,3
JE L3
CMP BL,4
JE L4
CMP BL,5
JE L5
CMP BL,6
JE L6
CMP BL,7
JE L7
CMP BL,8
JE L8
CMP BL,9
JE L9
CMP BL,10
JE L10
CMP BL,22
JE LD
L0: LEA DI,S0
JMP TY
L1: LEA DI,SY
JMP TY
L2: LEA DI,S2
JMP TY
L3: LEA DI,S3
JMP TY
L4: LEA DI,S4
JMP TY
L5: LEA DI,S5
JMP TY
L6: LEA DI,S6
JMP TY
L7: LEA DI,S7
JMP TY
L8: LEA DI,S8
JMP TY
L9: LEA DI,S9
JMP TY
L10: LEA DI,S11
JMP TY
LD: LEA DI,STR
TY: MOV AH,0FH ;示方式
INT 10H
SUB CX,CX
MOV CL,[DI]
INC DI
PLOT_NEXT:
ADD DH,[DI+2]
ADD DL,[DI+3]
MOV AH,2
INT 10H
MOV AL,[DI]
MOV BL,[DI+1]
PUSH CX
MOV CX,1
MOV AH,09
INT 10H
POP CX
ADD DI,4
LOOP PLOT_NEXT
POP DX
POP CX
POP BX
POP AX
MOV CX,100
GG: DEC CX
LOOP GG
RET
FF ENDP
CLEAR PROC
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,6
MOV AL,0
MOV BH,1
INT 10H
POP DX
POP CX
POP BX
POP AX
re t
CLEAR ENDP
BEEP PROC
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AL ,10110110B
OUT 43H,AL
MOV AX,533H
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
IN AL,61H
MOV AH,AL
OR AL,03
OUT 61H,AL
SUB CX,CX
MOV BL,28H
G7: LOOP G7
DEC BL
JNZ G7
MOV AL,AH
OUT 61H,AL
POP DX
POP CX
POP BX
POP AX
RET
beep endpcode ends
END START ;主函数的调用结束之后就要进行输出,所以这部分实现的就是对屏幕的设计和输出显示,以及屏幕动态的显示出计时器
- 七段码电子表程序
- 电子表
- 电子表
- JavaScript电子表
- javaScript电子表
- javascript电子表
- 电子表示例
- JavaScript-电子表
- 彩色电子表
- 电子表课程设计
- 利用BIOS中断或DOS中断实现一个电子表的程序,要求精确到秒
- 自己刚学单片机的时候写的一个电子表的程序。
- js 实现液晶电子表
- Silverlight 版的电子表
- 奇怪的电子表
- Study Silverlight《模仿电子表》
- 一个电子表的例子
- js 中的电子表
- CvArr、Mat、CvMat、IplImage、BYTE转换
- auto_ptr
- jS省市选择
- WinFrom自定义控件–GroupBox扩展
- 赵氏孤儿案--找到编程的兴趣点
- 七段码电子表程序
- SQLServer2005数据库没有删除所有其他快照引发的问题及其解决方法
- ios各种手势,很有意思
- OpenRisc-26-openrisc中断实验
- 翻译《计算机体系结构--量化研究方法》第四版附录F向量化部分
- WinFrom自定义控件–Panel扩展
- Linux+varnish安装配置
- 会说话的QQ竞拍
- 《程序员的第一年》---------- virtual方法和abstract方法(学习笔记)