




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编显示时钟(已调试通过)翾嫕嬿制作汇编显示时钟(已调试通过)显示效果程序代码段如下:;*;* 堆栈段 .286;*STACK_SEG SEGMENT STACK STACK_BUF DW 120 DUP(?) TOP EQU $-STACK_BUFSTACK_SEG ENDS;*;* 数据段 ;*DATA_SEG SEGMENT PARA;-; TODO: 数据的定义及存储器的分配ts1 DB 0quitbuf DB This Is A Clock,Program By Sunliang,08 Computer Network Class,$ sigle DB 80h absx DW 0 absy DW 0 r0 DW 100x0 DW 480y0 DW 356 count0 db 0 count_hour DB 11 count_minute DB 11yuanxinx DW 0yuanxiny DW 0 s DB 0s2 DB 0 s3 DB 0hour DW 0hour2 DW 0 minute DW 0minute2 DW 0 second DB 0 second2 DB 0 sin_x DW 0sin_xx DW 0 x DW 0y DW 0x1 DW 0 xminy DW 0yminx DW 0 xmax DW 0 ymax DW 0 ymin DW 0xmin DW 0 sjx_xminy DW 0sjx_yminx DW 0 sjx_xmax DW 0 sjx_ymax DW 0 sjx_ymin DW 0sjx_xmin DW 0 yuanx DW 0yuany DW 0 y1 DW 0x2 DW 0y2 DW 0x3 DW 0y3 DW 0 DIancolor DB 0 color DB 2color_hour DB 2color_min DB 6color_second DB 9 color4 DB 10color5 DB 11color6 DB 12 page1 DB 0y2y1 DW 0 x2x1 DW 0 sjx_y2y1 DW 0 sjx_x2x1 DW 0 DATA_SEG ENDS;*;* 代码段 ;*CODE_SEG SEGMENT PARA;-MAIN PROC FAR ASSUME CS:CODE_SEG,DS:DATA_SEG ASSUME SS:STACK_SEGSTART: MOV AX,STACK_SEG MOV SS,AX MOV SP,TOP MOV AX,DATA_SEG MOV DS,AX;-; TODO: 从这里开始您的代码;- beg: MOV AX,0012h INT 10h ;设置显示方式(彩色) MOV DX,0010h CALL b1002 ;入口DX-光标定位 LEA BP,quitbuf ;取buff有效的地址MOV DX,BPMOV AH,9INT 21H beg2: CALL skin;数字加圆 CALL skin2 ;12根 CALL CLk;设置时间计数器 MOV second,DH MOV second2,DH MOV count_minute,11 CALL minute_lin ;分针 XOR DX,DX ;逻辑异或 MOV AX,minute2 MOV CX,12 DIV CX MOV CX,AX ;minute2/12 POP AX ADD AX,CX MOV hour2,AX MOV count_hour,11 CALL hour_lin ;时针 CALL CLk MOV DL,DH CALL bcd2 XOR AH,AH;逻辑异或 MOV CL,12 DIV CL;除法指令 MOV count_minute,AH ;second%12初始值 DEC count_minute XOR DX,DX MOV AX,minute2 MOV CX,12 DIV CX ;minurte2%12 MOV count_hour,DL DEC count_hour INC second2kk3: CLI CALL second_lin STI JMP ks ks: MOV AH,1 INT 16h JZ kk3;条件转移,zf=1 转移 MOV AH,8 INT 21h CMP AL,20H;空格退出 JE quit;条件转移,zf=1转移 JMP kk3 quit: MOV AX,4C00H INT 21H ;* hour_lin PROC NEAR PUSHa;帮同用寄存器ax-dx压栈 CMP count_hour,11 JB tohour_yl JMP hour_lin_nexttohour_yl: MOV SIgle,3 JMP hour_ylhour_lin_next: MOV count_hour,0 MOV SIgle,5 CALL CLk MOV DL,CH CALL bcd2 CMP AL,12 JB hour_kk1;无符号数比较“低于” SUB AL,12hour_kk1: MOV CL,30 MUL CL PUSH AX XOR DX,DX MOV AX,minute2 MOV CX,12 DIV CX MOV CX,AX ;(minurte2)/12 POP AX ADD AX,CX MOV hour2,AX ;擦掉 MOV Color,0 MOV AX,hour MOV BX,r0 ADD BX,20 CALL renovate MOV DX,yuanx MOV x3,DX MOV DX,yuany MOV y3,DX ADD AX,270 ADD BX,1000 ;时针的宽度数值越大越细 CALL renovate MOV DX,yuanx ;擦掉 MOV x2,DX MOV DX,yuany MOV y2,DX MOV DX,x0 MOV x1,DX MOV DX,y0 ;擦掉 MOV y1,DX CALL sjx ;时间x ADD AX,180 CALL renovate MOV DX,yuanx ;擦掉 MOV x2,DX MOV DX,yuany MOV y2,DX SUB BX,100 CALL renovate MOV DX,yuanx MOV x3,DX MOV DX,yuany MOV y3,DX ;擦掉 CALL sjx MOV SIgle,4 ;* ;重写 hour_yl: MOV AL,color_hour MOV color,AL MOV AX,hour2 MOV BX,r0 ADD BX,70 CALL renovate MOV DX,yuanx MOV x3,DX MOV DX,yuany MOV y3,DX ADD AX,90 ADD BX,1200 ;时针的宽度数值越大越细 CALL renovate MOV DX,yuanx MOV x2,DX MOV DX,yuany MOV y2,DX ;重写 ADD AX,180 CALL renovate MOV DX,yuanx MOV x1,DX MOV DX,yuany MOV y1,DX CALL sjxx CALL sjxy ADD AX,270 SUB BX,100 CALL renovate MOV DX,yuanx MOV x3,DX ;重写 MOV DX,yuany MOV y3,DX CALL sjx CALL sjxx CALL sjxy MOV CX,hour2 MOV hour,CXhour_quit: POPa REThour_lin ENDP ;* minute_lin PROC NEAR PUSHa CMP count_minute,11 JB tominute_yl ;仍是原来的一个 JMP minute_lin_nexttominute_yl: MOV SIgle,0 JMP minute_ylminute_lin_next: INC count_hour CALL CLk MOV DL,CL CALL bcd2 ;bcd-16 MOV CL,6 MUL CL ;al*cl PUSH AX MOV DL,second2 CALL bcd2 XOR AH,AH MOV CL,12 DIV CL MOV CL,AL ;second2/12 POP AX MOV CH,0 ADD AX,CX MOV minute2,AX AAAa1: MOV SIgle,2 MOV Color,0 MOV AX,minute MOV BX,r0 ADD BX,10 CALL renovate MOV DX,yuanx MOV x3,DX MOV DX,yuany MOV y3,DX ADD AX,268 ADD BX,1800 ;分针的宽度数值越大越细 CALL renovate MOV DX,yuanx MOV x2,DX MOV DX,yuany MOV y2,DX MOV DX,x0 MOV x1,DX MOV DX,y0 MOV y1,DX CALL sjx ADD AX,180 CALL renovate MOV DX,yuanx MOV x2,DX MOV DX,yuany MOV y2,DX ADD AX,90 SUB BX,200 CALL renovate MOV DX,yuanx MOV x3,DX MOV DX,yuany MOV y3,DX CALL sjx inc count0 cmp count0,5 jnz minute_yl mov count0,0 ;*重写 minute_yl: MOV sigle,1 MOV AL,color_min MOV color,AL MOV AX,minute2 MOV BX,r0 ADD BX,30 CALL renovate MOV DX,yuanx MOV x3,DX MOV DX,yuany MOV y3,DX ADD AX,90 ADD BX,2000 ;分针的宽度数值越大越细 CALL renovate MOV DX,yuanx MOV x2,DX MOV DX,yuany MOV y2,DX ADD AX,180 CALL renovate MOV DX,yuanx MOV x1,DX MOV DX,yuany MOV y1,DX CALL sjxx CALL sjxy ADD AX,270 SUB BX,200 CALL renovate MOV DX,yuanx MOV x3,DX MOV DX,yuany MOV y3,DX CALL sjxx CALL sjxy MOV CX,minute2 MOV minute,CX CALL hour_lin minute_kk1: minute_quit: POPa RETminute_lin ENDP ;*in dh秒数* second_lin PROC NEAR PUSHa CALL CLk CMP second2,DH JE to_second_quit JMP second_lin_nextto_second_quit:JMP second_quitsecond_lin_next: MOV SIgle,80h MOV second2,DH MOV Color,0 MOV DL,second ;erase CALL bcd2 MOV AH,0 MOV CL,6 MUL CL MOV BX,r0 ADD BX,10 CALL renovate MOV DX,yuanx MOV x1,DX MOV DX,yuany MOV y1,DX ADD AX,180 ADD BX,300 CALL renovate MOV DX,yuanx MOV x2,DX MOV DX,yuany MOV y2,DX CALL linex CALL liney;重写 MOV SIgle,80h MOV AL,color_second MOV color,AL MOV DL,second2 CALL bcd2 MOV AH,0 MOV CL,6 MUL CL MOV BX,r0 ADD BX,10 CALL renovate MOV DX,yuanx MOV x1,DX MOV DX,yuany MOV y1,DX ADD AX,180 ADD BX, 300 CALL renovate MOV DX,yuanx MOV x2,DX MOV DX,yuany MOV y2,DX CALL linex CALL liney MOV DL,second2 MOV second,DL CALL minute_lin CALL skin2 MOV CL,second2 MOV second,CL CMP count_minute,11 JE second_kk1 INC count_minute JMP second_quitsecond_kk1: MOV count_minute,0 second_quit: POPa RETsecond_lin ENDP ;*bxbbx*in ax度数*bx长度,*;OUT x2-ax,y2-dx ;*renovate PROC NEAR;更新 PUSHa ADD AX,270 PUSH AX CALL SIn MOV DX,0 MOV CX,BX DIV CX CMP SI,1 JE hjian ADD AX,y0 JMP renovate_kk1hjian: MOV CX,y0 SUB CX,AX MOV AX,CXrenovate_kk1: MOV yuany,AX POP AX CALL cos MOV DX,0 MOV CX,BX DIV CX CMP SI,1 JE hjian2 ADD AX,x0 JMP renovate_kk2hjian2: MOV CX,x0 SUB CX,AX MOV AX,CXrenovate_kk2: MOV yuanx,AX POPa RETrenovate ENDP ;* Clk PROC ;设置时间计数器 MOV AH,2 INT 1ah RETCLk ENDP ;*cos x in: ax ; out: ax ,si符号* cos PROC NEAR ADD AX,90 CALL SIn R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙合同协议书
- 2024-2025学年新教材高中历史 第一单元 古代文明的产生与发展 第2课 古代世界的帝国与文明的交流(1)教学说课稿 新人教版必修《中外历史纲要(下)》
- 第2课 事半功倍有技巧-特殊输入 说课稿 -2024-2025学年辽师大版(2015)信息技术七年级上册
- 中医考试题库及答案软件
- 河南省青桐鸣2025-2026学年高二上学期9月大联考历史试卷(含答案)
- 商场电商平台合作及数据共享合同
- 绿色建筑项目结算付款与环保协议
- 媒体机构新员工入职内容创作与版权归属合同
- 股权激励计划实施与员工股权转让全面合作协议
- 担保公司业务合规管理合同
- 新《全面质量管理(习题集)》考试题库(含答案)
- 农村建房的邻居协议书模板
- 生物质压缩成型工艺与实践考核试卷
- 【物业分享】神秘顾客(交付项目物业服务体验)调查评分表
- 铝合金门窗来料加工合同范本
- 水杨酸软膏剂的制备
- MSA分析报告样本
- 基础应用化学(高职)全套教学课件
- 《铁皮石斛的介绍》课件
- 低压配电柜技术规范书
- 《隐身技术概述》课件
评论
0/150
提交评论