当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

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

更新:02-11 整理:39baobao.com
字体:

[用汇编语言编写一个时钟程序能显示时分秒的还要有秒表就是计]STACK1 SEGMENT STACK DW 200 DUP (?) STACK1 ENDS DATA SEGMENT SPACE DB 1000 DUP (' ') PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ') DB 6 DUP (' '),0...+阅读

;求一个程序,微机原理,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

本文地址:https://www.39baobao.com/show/29_39821.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

怎么用汇编语言把系统时间给显示出来?急用!顺便能给注释吗cursor equ 45Hattrib equ 2fhcode segment assume cs:code,ds:codestart: jmp gooldcur dw ?OLD1C DW 2 DUP(?)NEWINT1C: PUSHF CALL DWORD PTR CS:OLD1C push ax PUSH BX...

求一个用汇编语言编写时钟的程序只要能在pc机上显示时分秒就行1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 5...

如何用微机汇编语言编写时钟程序assume cs:codesg,ds:data data segment db "00/00/00 00:00:00",'$' data ends codesg segment start: mov ax,data mov ds,ax mov cx,6 mov bx,0 mov ah,0 mov al,9 s: push...

汇编语言乘法指令实现两个字节相乘的程序并转换成十六进制数显示code segment assume cs:code org 100h start: jmp bbb x db 11h y db 12h z dw ? msg1 db 13,10,' ','$' bbb: push cs pop ds push cs pop es mov al,x mov bl,y mul bl m...

汇编语言将两个字节相乘的结果显示?这是我前几天的作业,给你参考一下,我也是新手,呵呵 seg1 segment stack stack db 256 dup('H') seg1 ends data segment var1 db 3 var2 db 5 data ends code segment assume c...

51单片机汇编语言编乘法和除法子程序;(r3r2r1r0) = (r7r6) * (r5r4), r4-r7 unchanged mul_word:mov b,r6 mov a,r4 mul ab mov r0,a mov r1,b mov r2,#0 mov r3,#0 mov a,r7 mov b,r4 mul ab add a,r1 mov r1,...

汇编语言键盘输入两个数相乘code segment assume cs:code,ds:date start: mov AH,01H int 21H ;输入第一个字符 mov BL,AL;转存 sub BL,30H;ASCII码转换 mov AH,01H int 21H ;输入第二个字符 sub AL,30H m...

汇编语言实现定点原码两位乘法入口条件:被乘数在R2、R3中,乘数在R6、R7中。 出口信息:乘积在R2、R3、R4、R5中。 影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节 MULD: MOV A,R3 ;计算R3乘R7 MOV B,R7 MUL AB MOV...

汇编语言监测点2理解起来也很简单 寻址能力是16位的 也就是说偏移地址是 0H~FFFFH 很明显当偏移地址是0H的时候是最大值 这个楼主已经知道了就不说了 至于最小值为什么是1001H 其实题目设置...