. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->端口
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  时钟程序,各分隔符后多了个空格,请问如何解决  [待解决] 回复[ 1次 ]   点击[ 620次 ]  
lloveasm
[帖 主]   [ 发表时间:2008-09-12 11:58 ]   [引用]   [回复]   [ top ] 
荣誉值:18
信誉值:0
注册日期:2008-08-31 11:07
代码如下,显示出来为08/ 09/ 12  11: 56: 47
(想去掉冒号正斜后的空格,各位帮我看看)
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 cx, 11
        mov di, 0
s:      push cx
        cmp byte ptr [si], 9
        mov ah, [si]
        ja s0
        mov al, [si]
        out 70h, al
        in al, 71h
        mov ah, al
        mov cl, 4
        shr ah, cl
        and al, 00001111b
        add ax, 3030h     
        mov byte ptr es:[160*12+40*2+2+di], al
s0:     mov byte ptr es:[160*12+40*2+di], ah        
        add si, 1
        add di, 4                    ;我这里两种情况都被我加了4
        pop cx
        loop s

        mov ax, 4c00h
        int 21h        
code ends
end start
lloveasm
[第1楼]   [ 回复时间:2008-09-12 12:41 ]   [引用]   [回复]   [ top ] 
荣誉值:18
信誉值:0
注册日期:2008-08-31 11:07
吃完饭,自己解决了,代码如下:
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 cx, 11
        mov di, 0
s:      push cx
        cmp byte ptr [si], 9
        mov al, [si]
        ja s0
        mov al, [si]
        out 70h, al
        in al, 71h
        mov ah, al
        mov cl, 4
        shr ah, cl
        and al, 00001111b
        add ax, 3030h     
        mov byte ptr es:[160*12+40*2+di], ah
        add di, 2
s0:     mov byte ptr es:[160*12+40*2+di], al       
        add si, 1
        add di, 2
        pop cx
        loop s

        mov ax, 4c00h
        int 21h        
code ends
end start
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved