Dec 24

汇编语言编写的时钟的常驻内存程序 不指定

piikee , 23:48 , 计算机相关 » 我的开发 , 评论(1) , 引用(0) , 阅读(1288) , 本站原创 | |
实验目的
  
  《汇编语言程序设计》是计算机专业的重要的专业基础课,通过本综合性、设计性实验使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。
  
二、实验要求
  
  编写一个时钟的常驻内存程序,要求:右上角显示时分秒。


三、实验原理分析

   1.时间的获得与显示方法:通过MOV AH,02   INT 1AH 获得系统时间,然后用mov ah,02
  int 21h输出系统时间。
    
  2.让时间随系统而动态方法:用jmp的跳转,然程序不断获取时间,然后用光标定位方法,把光标每次都定位在同一地方然后输出时间,从而覆盖了原有时间,于是变可以看到时间随系统动态变化。

源程序(加必要注释)
DATAS SEGMENT
DATAS ENDS
STACKS SEGMENT
   ;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
GO: ;/****定位光标***/
  MOV DH,0  
    MOV DL,70
    MOV BH,0
    MOV AH,2
    INT 10H  
  ;/******获取系统时间****/
    MOV AH,02
    INT 1AH  
  PUSH CX
  PUSH DX
  ;/******时****/
  xor dl,dl
  mov dl,ch
  mov cl,4
  shr dl,cl
  add dl,30h
    mov ah,02
     int 21h
    
     mov dl,ch
     and dl,0fh
     add dl,30h
     mov ah,02
     int 21h
    
     mov dl,':'
      mov ah,02
     int 21h
    ;/*******分********/
    POP DX
    POP CX
    PUSH DX
    xor dl,dl
  mov dl,cL
  MOV DH,CL
  mov CL,4
  shr DL,CL
  add Dl,30h
    mov ah,02
     int 21h
    
     mov CL,DH
     and CL,0fh
     add Cl,30h
     MOV DL,CL
     mov ah,02
     int 21h
    mov dl,':'
      mov ah,02
     int 21h
    ;/*******秒********/
    POP DX
  mov BL,DH
  mov CL,4
  shr DH,CL
  add DH,30h
  MOV DL,DH
    mov ah,02
     int 21h
    
     mov CL,BL
     and CL,0fh
     add Cl,30h
     MOV DL,CL
     mov ah,02
     int 21h  
  jmp go
  exit:
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

版权所有,请勿用于商业用途!
df
2010/11/06 17:05
shock根本不是常驻内存...
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]