汇编语言程序设计袁全清.docx

上传人:b****3 文档编号:12677912 上传时间:2023-04-21 格式:DOCX 页数:16 大小:33.48KB
下载 相关 举报
汇编语言程序设计袁全清.docx_第1页
第1页 / 共16页
汇编语言程序设计袁全清.docx_第2页
第2页 / 共16页
汇编语言程序设计袁全清.docx_第3页
第3页 / 共16页
汇编语言程序设计袁全清.docx_第4页
第4页 / 共16页
汇编语言程序设计袁全清.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

汇编语言程序设计袁全清.docx

《汇编语言程序设计袁全清.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计袁全清.docx(16页珍藏版)》请在冰豆网上搜索。

汇编语言程序设计袁全清.docx

汇编语言程序设计袁全清

汇编语言课程设计报告

 

课题:

设计时钟显示程序

指导老师:

袁全清

学部:

信息科学与技术学部专业班级:

10软件工程

(1)班

学号:

 

汇编程序设计报告

一、任务及要求:

任务:

编程设计时实时钟(数字、模拟均可)

要求:

数字尽量大,颜色应鲜艳,程序尽量少。

二、程序设计的分析

1、时钟的获取:

1用软中断INT1AH

AH

功能

入口参数

出口参数

说明

0

读数

CX、DX=高、低字AL=0,若时钟未过24

双字为((时*60+

分)*60+秒)*18.2

1

写数

CX、DX=高、低字

2

读时

CH\CL\DH=时分秒CF=1,时钟未操作

均为压缩BCD码

3

写时

CH\CL\DH=时分秒

4

读日

CX\DH\DL=年月日

5

写日

CX\DH\DL=年月日

6

写铃

CH\CL\DH=时分秒

CF=1,时钟未操作或已置响铃允许

7

请铃

请除响铃

②直接读取CMOS中的数据

MOVAH,2CH

INT21H;通过2ch号DOS调用,获得时间信息

MOVAL,CH;小时

LEASI,HOUR

CALLPL

2、时钟的显示

7段显示

如右图,由三横线和四竖线组成。

每条线需要显示时,每一方块的ASCII码为219;不需显示时,方块的ASCII码为32。

由此7段显示和不显示的组合,形成0—9的数字。

显示横线:

先定位左边位置,显示数个方块

显示竖线:

数次定位每行位置并显示一个方块

三、程序流程图如下:

ZF=0

 

COMPATREPROCNEAR

STATR

LEADL,B0

CALLSHOW

CMPAL,30H

JNZY1

NY

四.完整程序

STACKSEGMENTSTACK'STACK'

DB1024DUP(0)

STACKENDS

DATASEGMENT

BWORDEQUTHISBYTE

R0DW(0)

R1DW(0)

R2DW(0)

R3DW(0)

R4DW(0)

R5DW(0)

R6DW(0)

R7DW(0)

;

TEMP1DW(0)

TEMP2DW(0)

TEMP3DW(0)

TEMP4DW(0)

;

LED1DB(0);时针十位显示

LED2DB(0);时针个位显示

LED3DB(0)

LED4DB(0);分针十位显示

LED5DB(0);分针个位显示

LED6DB(0)

LED7DB(0);秒针十位显示

LED8DB(0);秒针个位显示

S_REGDB(0)

M_REGDB(0)

H_REGDB(0)

;---1-9个数字的显示方式-------------

F0DB0

DB5FH,0AH,0,0

DB7CH,0AH,1,-1

DB7CH,0AH,1,0

DB5FH,0AH,0,1

DB7CH,0AH,0,1

DB7CH,0AH,-1,0

DB5FH,0,0,-1;中间段

F1DB0

DB5FH,0,0,0;0灭

DB7CH,0,1,-1;0AH亮

DB7CH,0,1,0

DB5FH,0,0,1

DB7CH,0AH,0,1;中上

DB7CH,0AH,-1,0;中下

DB5FH,0,0,-1

F2DB0

DB5FH,0AH,0,0

DB7CH,0,1,-1;左上

DB7CH,0AH,1,0

DB5FH,0AH,0,1

DB7CH,0,0,1;左下

DB7CH,0AH,-1,0

DB5FH,0AH,0,-1

F3DB0

DB5FH,0AH,0,0

DB7CH,0,1,-1

DB7CH,0,1,0

DB5FH,0AH,0,1

DB7CH,0AH,0,1

DB7CH,0AH,-1,0

DB5FH,0AH,0,-1

 

F4DB0

DB5FH,0,0,0

DB7CH,0AH,1,-1

DB7CH,0,1,0

DB5FH,0,0,1

DB7CH,0AH,0,1

DB7CH,0AH,-1,0

DB5FH,0AH,0,-1

F5DB0

DB5FH,0AH,0,0

DB7CH,0AH,1,-1

DB7CH,0,1,0

DB5FH,0AH,0,1

DB7CH,0AH,0,1

DB7CH,0,-1,0

DB5FH,0AH,0,-1

F6DB0

DB5FH,0AH,0,0

DB7CH,0AH,1,-1

DB7CH,0AH,1,0

DB5FH,0AH,0,1

DB7CH,0AH,0,1

DB7CH,0,-1,0

DB5FH,0AH,0,-1

F7DB0

DB5FH,0AH,0,0

DB7CH,0,1,-1

DB7CH,0,1,0

DB5FH,0,0,1

DB7CH,0AH,0,1

DB7CH,0AH,-1,0

DB5FH,0,0,-1

F8DB0

DB5FH,0AH,0,0

DB7CH,0AH,1,-1

DB7CH,0AH,1,0

DB5FH,0AH,0,1

DB7CH,0AH,0,1

DB7CH,0AH,-1,0

DB5FH,0AH,0,-1

F9DB0

DB5FH,0AH,0,0

DB7CH,0AH,1,-1

DB7CH,0,1,0

DB5FH,0AH,0,1

DB7CH,0AH,0,1

DB7CH,0AH,-1,0

DB5FH,0AH,0,-1

;------------------------------------

ROWDB20

COLDB10

T0DB0

T1DB0

T2DB0

T3DB0

T4DB0

T5DB0

;------------------------------------

DATAENDS

DO_WAIT:

MOVAH,1

INT16H

JZNO_KEY

YES_KEY:

MOVAH,0

INT16H

CMPAL,1BH

JNZNO_KEY

CALLEXIT

NO_KEY:

CALLREAD_TIME

CALLCONVERT_ASCII

MOVAX,0A2eH

MOVCX,092BH

CALLDISPLAY

MOVCH,0AH

CALLDISPLAY

MOVCL,21H

CALLDISPLAY

MOVCH,09H

CALLDISPLAY

CALLMOVE

JMPDO_WAIT

EXIT:

MOVTEMP1,0000H

MOVTEMP2,184FH

MOVBH,0FH

CALLCLR_SCREEN

RET

MAINENDP

READ_TIMEPROCNEAR;读取时间时分秒

MOVAH,02H

INT1AH

MOVH_REG,CH

MOVM_REG,CL

MOVS_REG,DH

RET

READ_TIMEENDP

 

CONVERT_ASCIIPROCNEAR

;-----以下为时分秒值转化为LED信号----

MOVAL,H_REG

ANDAL,0F0H

MOVCL,4

RORAL,CL

ADDAL,30H

MOVLED1,AL;给时针十位数赋值

MOVAL,H_REG

ANDAL,0FH

ADDAL,30H

MOVLED2,AL;给时针个位数赋值

MOVAL,M_REG

ANDAL,0F0H

MOVCL,4

RORAL,CL

ADDAL,30H

MOVLED4,AL;给分针十位数赋值

MOVAL,M_REG

ANDAL,0FH

ADDAL,30H

MOVLED5,AL;给分针个位数赋值

MOVAL,S_REG

ANDAL,0F0H

MOVCL,4

RORAL,CL

ADDAL,30H

MOVLED7,AL;给秒针十位数赋值

MOVAL,S_REG

ANDAL,0FH

ADDAL,30H

MOVLED8,AL;给秒针个位数赋值

MOVLED3,3AH

MOVLED6,3AH

RET

DISPLAYPROCNEAR

PUSHBX

PUSHCX

PUSHAX

MOVAL,160

MULCH

MOVBL,CL

ROLBL,1

MOVBH,0

ADDBX,AX

POPAX

MOVES:

[WD_BUFFER+BX],AX

POPCX

POPBX

RET

DISPLAYENDP

DISPLAY_TIME1:

MOVAL,[BX]

MOVAH,1EH

CALLDISPLAY

INCCX

INCBX

DECR0

JNZDISPLAY_TIME1

RET

DISPLAY_TIMEENDP

 

CLR_SCREENPROCNEAR

MOVAH,06H

MOVCX,TEMP1

MOVDX,TEMP2

INT10H

MOVAH,02H

MOVDH,24H

MOVDL,80

MOVBH,0

INT10H

RET

CLR_SCREENENDP

MOVEPROCNEAR

 

LEABX,LED8

MOVCX,0832H

CALLCOMPARE

LEABX,LED7

MOVCX,082EH

CALLCOMPARE

LEABX,LED5

MOVCX,0828H

CALLCOMPARE

LEABX,LED4

MOVCX,0824H

CALLCOMPARE

LEABX,LED2

MOVCX,081EH

CALLCOMPARE

LEABX,LED1

MOVCX,081AH

CALLCOMPARE

RET

MOVEENDP

 

COMPAREPROCNEAR

MOVAL,[BX]

CMPAL,30H

JNZY1

LEADI,F0

CALLXIANSHI

Y1:

CMPAL,31H

JNZY2

LEADI,F1

CALLXIANSHI

Y2:

CMPAL,32H

JNZY3

LEADI,F2

CALLXIANSHI

Y3:

CMPAL,33H

JNZY4

LEADI,F3

CALLXIANSHI

Y4:

CMPAL,34H

JNZY5

LEADI,F4

CALLXIANSHI

Y5:

CMPAL,35H

JNZY6

LEADI,F5

CALLXIANSHI

Y6:

CMPAL,36H

JNZY7

LEADI,F6

CALLXIANSHI

Y7:

CMPAL,37H

JNZY8

LEADI,F7

CALLXIANSHI

Y8:

CMPAL,38H

JNZY9

LEADI,F8

CALLXIANSHI

Y9:

CMPAL,39H

JNZY10

LEADI,F9

CALLXIANSHI

Y10:

RET

COMPAREENDP

XIANSHIPROCNEAR

MOVDX,7

ADDDI,4

S:

MOVAL,[DI]

ADDCL,AL

DECDI

MOVAL,[DI]

ADDCH,AL

DECDI

MOVAH,[DI]

DECDI

MOVAL,[DI]

CALLDISPLAY

ADDDI,7

DECDX

JNZS

RET

XIANSHIENDP

PROGRAMENDS

ENDSTART

五、运行结果

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1