鱼C论坛

 找回密码
 立即注册
查看: 4057|回复: 0

[汇编作业] 实验14

[复制链接]
发表于 2020-6-6 16:36:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码很长。。。加了一个死循环, 一直显示当前时间

  1. assume cs:code

  2. code segment
  3. start:       
  4. s0:
  5.                 mov cx, 2                ;死循环, 实时显示时间
  6.                 push cx
  7.                
  8.                
  9.                 mov bl, '/'
  10.                 mov si, 160 * 12 + 40 * 2 - 2
  11.                
  12.                 mov cx, 3
  13.                 mov dl, 9
  14.                                                 ;显示年月日
  15. s:
  16.                 mov al, dl
  17.                 call read
  18.                 add si, 2
  19.                 call show_2
  20.                
  21.                 mov ah, bl
  22.                 add si, 4
  23.                 call show_1
  24.                
  25.                 dec dl
  26.                 loop s
  27.                                                 ;空格
  28.                 mov bl, ' '
  29.                 mov ah, bl
  30.                 call show_1
  31.                
  32.                 mov bl, ':'
  33.                 mov cx, 3
  34.                 mov dl, 4
  35.                                                 ;显示时间
  36. s1:
  37.                 mov al, dl
  38.                 call read
  39.                 add si, 2
  40.                 call show_2
  41.                
  42.                 mov ah, bl
  43.                 add si, 4
  44.                 call show_1
  45.                
  46.                 sub dl, 2
  47.                 loop s1
  48.                
  49.                                                 ;空格覆盖掉最后一个:
  50.                 mov bl, ' '
  51.                 mov ah, bl
  52.                 call show_1
  53.                
  54.                
  55.                 pop cx
  56.                 loop s0
  57.                
  58.                 mov ax, 4c00H
  59.                 int 21H
  60. read:
  61.                                                 ;读取CMOS RAM中的数据
  62.                 push cx
  63.                
  64.                 out 70h, al
  65.                 in al, 71h
  66.                
  67.                 mov ah, al
  68.                 mov cl, 4
  69.                 shr ah, cl
  70.                 and al, 00001111b
  71.                
  72.                 pop cx
  73.                 ret
  74.                
  75. show_2:
  76.                                                 ;显示数字数据ah, al
  77.                 push es
  78.                 push bx

  79.                 mov bx, 0b800H
  80.                 mov es, bx
  81.                
  82.                 add ah, 30h
  83.                 mov byte ptr es:[si], ah
  84.                
  85.                 add al, 30h
  86.                 mov byte ptr es:[si + 2], al

  87.                 pop bx
  88.                 pop es
  89.                 ret
  90.                
  91. show_1:
  92.                                                 ;显示数据ah
  93.                 push es
  94.                 push bx

  95.                 mov bx, 0b800H
  96.                 mov es, bx
  97.                
  98.                 mov byte ptr es:[si], ah

  99.                 pop bx
  100.                 pop es
  101.                 ret
  102. code ends
  103. end start
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 00:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表