汇编网首页登录博客注册
x_miracle的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏

[2009-04-02 16:21] 实验14

assume cs:code
data segment
db 9,8,7,4,2,0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,[160*12+30*2]
mov cx,6
s:push cx
mov al,ds:[si]                       ;实现数据转换 bcd码转换成字符
out 70h,al                       
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
pop cx
cmp cx,3                          ;这里加了几个条件跳转,主要是为了实现输出的格式                     
jna ok1
mov byte ptr es:[di],ah
mov byte ptr es:[di+2],al
mov byte ptr es:[di+4],'/'
jmp short ok2
ok1:mov byte ptr es:[di+2],ah
mov byte ptr es:[di+4],al
cmp cx,1
je ok2
mov byte ptr es:[di+6],':'
ok2:add di,6
inc si
loop s
in al,60h                    ;这个是我从网上找的,主要目的是当键盘输入Q时退出程序,60h是主板芯片上寄存器的端口地址,15章中有介绍
cmp al,10h    ;10h是字母q的扫描码,在15章中有介绍                  
je quit
jmp short start
quit:mov ax,4c00h
int 21h
code ends
end start
评论次数(2)  |  浏览次数(701)  |  类型(汇编作业) |  收藏此文  | 

[  wsrf   发表于  2009-04-03 10:10  ]

不错,支持一下。

[  younggay   发表于  2009-04-03 10:43  ]

很好,动态的时间,能够退出。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码