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

求一个用汇编语言编写时钟的程序只要能在pc机上显示时分秒就行

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

[谁有基于汇编语言的数字钟设计的程序啊]在我的空间里 我写了篇博客 解:assume cs:codedata segmenttime db 'yy/mm/dd hh:mm:ss$' ;int 21h 显示字符串,要求以$结尾table db 9,8,7,4,2,0 ;各时间量的存放单元data end...+阅读

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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 assume cs:code stack segment db 128 dup (0) stack ends data segment dw 0,0 home db 'Home',0dh,0ah,'$' data ends code segment start: mov ax,stack mov ss,ax mov sp,128 mov ax,data mov ds,ax ; 改中断例程入口地址 mov ax,0 mov es,ax push es:[9*4] pop ds:[0] push es:[9*4+2] pop ds:[2] mov word ptr es:[9*4],offset int9 mov es:[9*4+2],cs ; 显示时间 show: mov al,2 ;分 out 70h,al in al,71h mov ah,al mov cl,4 shr ah,cl and al,00001111b add ah,30h add al,30h mov bx,0b800h mov es,bx mov byte ptr es:[0],ah mov byte ptr es:[1],01001111b mov byte ptr es:[2],al mov byte ptr es:[3],01001111b mov byte ptr es:[4],':' mov byte ptr es:[5],01001111b mov al,0 ;秒 out 70h,al in al,71h mov ah,al mov cl,4 shr ah,cl and al,00001111b add ah,30h add al,30h mov bx,0b800h mov es,bx mov byte ptr es:[6],ah mov byte ptr es:[7],01001111b mov byte ptr es:[8],al mov byte ptr es:[9],01001111b jmp show ; 定义中断例程 int9: push ax push bx push dx push es in al,60h pushf pushf pop bx and bh,11111100b push bx popf call dword ptr ds:[0] mov bl, al ;保存al cmp al,47h ; 47h是HOME键的扫描码 jne ifend ;处理HOME lea dx, home mov ah,9 int21h jmp int9ret ifend: cmp bl, 4Fh ;4Fh是end键的扫描码 jne int9ret ;处理END,使程序结束,注意在此要恢复中断向量 mov ax,0 mov es,ax push ds:[0] pop es:[9*4] push ds:[2] pop es:[9*4+2] mov ax,4c00h int21h int9ret:pop es pop dx pop bx pop ax iret code ends end start

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

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

以下为关联文档:

汇编语言编写一个时钟程序能显示时分秒的还要有秒表就是计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...

怎么用汇编语言把系统时间给显示出来?急用!顺便能给注释吗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...

如何用微机汇编语言编写时钟程序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 其实题目设置...