| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 539 人关注过本帖
标题:[求助]为什么不能显示
只看楼主 加入收藏
维纳斯的恋人
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-22
收藏
 问题点数:0 回复次数:1 
[求助]为什么不能显示

DATA SEGMENT
STR DB 'PRESS RIGHT SHIFT TO END THE PROGRAM','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
PSHIFT PROC FAR
  MOV AL,0

MOV AH,2
INT 16H
CMP AL,0
JNZ EXIT
STI ;KAI ZHONG
CALL DISXY
CALL DIST
EXIT: DB 0EAH
OLDOFF DW ?
OLDSEG DW ?
;***************************
;DISPLAY THE TIME
DIST PROC NEAR
MOV AH,2CH
INT 21H
MOV DL,CH
JMP DIS
MOV DL,':'
JMP DIS
MOV DL,CL
JMP DIS
MOV DL,':'
JMP DIS
MOV DL,DH
JMP DIS
DIS: MOV AH,02H
INT 21H
RET
DIST ENDP
;**************************
;SET THE X,Y
DISXY PROC NEAR
MOV BH,0
MOV DH,30
MOV DL,30
MOV AH,2
INT 10H
RET
DISXY ENDP
;**************************
;THE MAIN
START:
MOV AX,DATA
MOV DS,AX
LEA DX,STR
MOV AH,09H
INT 21H
MOV AX,351CH
INT 21H ;取得旧的int 1cH的向量
MOV OLDOFF,BX ;保存旧的int 1cH的向量,以便到时候能返回
MOV OLDSEG,ES

;接下来是设置自己的新的INT 1CH向量
MOV AX,SEG PSHIFT
MOV DS,AX
MOV DX,OFFSET PSHIFT
MOV AX,251CH
INT 21H ;设置新的int 1ch向量
MOV DX,OLDOFF
MOV DS,OLDSEG
MOV AX,251CH
INT 21H ;退出程序前恢复系统原来的int 1ch的向量

MOV AH,4CH
INT 21H
CODE ENDS
END START





我想让他显示当前的时间  为什么不行  只是输出了STR

2006-06-03 11:43
蓝图Flina
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-6
收藏
得分:0 

你的DIP子程序用错了,命令MOV AH,02H INT 21H功能是输出字符的,在AH中保存的应该是它的ASCII码,它不能直接把时钟的两位数[就是CH或CL等这些寄存器里保存的]十进制的数输出,而应是把如小时的十位个位分别找出来,加30H后当作字符输出~~~~

2006-06-06 19:47
快速回复:[求助]为什么不能显示
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015608 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved