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

汇编语言第二版就是王爽写的那一本里面的实验十四要显

更新: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...+阅读

编程:以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。

assume cs:code

code segment

s:db 9,8,7,4,2,0

start:mov ax,cs

mov ds,ax

mov si,offset s ;ds:si指向标号S

mov ax,0b800h

mov es,ax ;es存放显示缓冲区段地址

mov di,0

lo:mov cx,3

day:push cx

mov al,ds:[si]

out 70h,al

in al,71h ;al存放日期

mov cl,4

mov ah,al

shr ah,cl

and al,00001111b ;将高位和低位的数据放在ah,al

add ah,30h

add al,30h

mov es:[12*160+30*2+di],ah ;日期高10位放到显存

mov es:[12*160+30*2+di+2],al;日期低10位放到显存

mov byte ptr es:[12*160+30*2+di+4],'/'

inc si

add di,6

pop cx

loop day

sub di,2

mov byte ptr es:[12*160+30*2+di],' ' ;去除最后的符号

add di,2

mov cx,3

time:push cx

mov al,ds:[si]

out 70h,al

in al,71h ;al存放日期

mov cl,4

mov ah,al

shr ah,cl

and al,00001111b ;将高位和低位的数据放在ah,al

add ah,30h

add al,30h

mov es:[12*160+30*2+di],ah ;日期高10位放到显存

mov es:[12*160+30*2+di+2],al;日期低10位放到显存

mov byte ptr es:[12*160+30*2+di+4],':'

inc si

add di,6

pop cx

loop time

sub di,2

mov byte ptr es:[12*160+30*2+di],' ' ;去除最后的符号

mov si,0

mov di,0

in al,60h

cmp al,10h

je quit

jmp lo ;上四句为动态显示时间

quit:mov ax,4c00h

int 21h

code ends

end start

本文地址:https://www.39baobao.com/show/29_39819.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 其实题目设置...