中易网

求一个程序,微机原理,8086汇编语言,实现一个简单实用功能,如时钟显示

答案:2  悬赏:70  
解决时间 2021-11-09 03:41
  • 提问者网友:宿醉何为情
  • 2021-11-08 09:30
求一个程序,微机原理,8086汇编语言,实现一个简单实用功能,如时钟显示
最佳答案
  • 二级知识专家网友:甜野猫
  • 2021-11-08 10:34
;求一个程序,微机原理,8086汇编语言,实现一个简单实用功能,如时钟显示
;
;在右上角显示时钟,按任一键结束

;用MASM5.0编译通过.

data segment

HH DB 0,0,':'
MM DB 0,0,':'
SS1 DB 0,0

data ends
code segment
main proc far
assume cs:code
start:
push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
AGAIN:
mov ah,2ch ;读取系统时间 CH:CL--时:分 DH:DL--秒:百分秒
int 21h
MOV BX ,OFFSET HH
MOV AL,CH
CALL C16_10 ;转换AL中16进制为10进制,并填入相应位置

MOV BX ,OFFSET MM
MOV AL,CL ;分
CALL C16_10

MOV BX ,OFFSET SS1
MOV AL,DH ;秒
CALL C16_10

MOV AH,2 ;光标定位
MOV DH,0 ;首行
MOV DL,70 ;70列
MOV BH,0
INT 10H

MOV CX,8
MOV SI,OFFSET HH
NN1:

MOV AH,0EH ;电传方式写字符(一次1个)
MOV AL,[SI]
MOV BL,0
INT 10H
INC SI
LOOP NN1

MOV AH,1
INT 16H
JNZ DOWN ;按任一键结束
JMP AGAIN
DOWN:
RET
main endp
;============
C16_10 PROC NEAR
PUSH CX ;将AL中的16进制转为10进制
MOV AH,0
MOV CX,10D
DIV CL
ADD AX,3030H
MOV [BX],AL
INC BX
MOV [BX],AH
POP CX
RET
C16_10 ENDP
;=============
code ends
end start
全部回答
  • 1楼网友:啵啵桃汀
  • 2021-11-08 12:02
你好! 这个功能用汇编写,可以参照微机原理 打字不易,采纳哦!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息