1、计算机综合实践计算机综合实践报告专业 电气工程及其自动化 班级 1103 姓名 王学妮 学号 aDH1111t0044 实验1 实时时钟程序设计一、实验目的1加深对课堂讲授内容的理解,掌握编程语言的语法规则。2熟悉所用的计算机系统的操作方法,了解和熟悉程序开发环境。3学习上机调试程序的方法和技巧,提高编程能力。二、实验内容设计一个时钟显示程序,要求利用定时器0的定时中断记录时间。三、基本设备与器材配置通用微型计算机一台。软件环境:1.操作系统:DOS、Windows xp2.语言环境: Debug调试程序、MASM宏汇编。四、程序清单assume cs:code code segment st
2、art: ;清屏 mov ah,6 ; mov al,0 ; mov ch,0 mov cl,0 ; mov dh,24 mov dl,79 mov bh,7 int 10h l: ;年 mov al,9 mov si,0 call s mov byte ptr es:160*12+2*40+4,/ ;月 mov al,8 mov si,6 call s mov byte ptr es:160*12+2*40+10,/ ;日 mov al,7 mov si,12 call s mov byte ptr es:160*12+2*40+16, ;取时数并送入显存 mov al,4 mov si,1
3、8 call s mov byte ptr es:160*12+2*40+22,: ;取分数并送入显存 mov al,2 mov si,24 call s mov byte ptr es:160*12+2*40+28,: ;取秒数并送入显存 mov al,0 mov si,30 call s jmp l mov ax,4c00h int 21h ;*子程序* ;名称:s ;作用:取出BCD码并送入显存 ;入参:al为单元数,si为显存偏移地址变址 ;* s: push ax push bx push si out 70h,al in al,71h mov cl,4 mov ah,al shr
4、ah,cl and al,00001111b add al,30h add ah,30h mov bx,0b800h mov es,bx mov bx,160*12+2*40 mov es:bx+si,ah mov es:bx+si+2,al pop si pop bx pop ax ret code ends end start 四、程序运行结果实验2 8255并行接口键盘程序设计一、实验目的1加深对课堂讲授内容的理解,掌握编程语言的语法规则。2熟悉所用的计算机系统的操作方法,了解和熟悉程序开发环境。3学习上机调试程序的方法和技巧,提高编程能力。二、实验内容利用09H型中断设计一个自己的键盘
5、中断服务程序,程序设计应考虑在退出时不破坏原有的设置。三、基本设备与器材配置通用微型计算机一台。软件环境:1.操作系统:DOS、Windows xp2.语言环境: Debug调试程序、MASM宏汇编。四、程序清单dseg segment addr_point dw ? count dw ? buffer db 20h dup( ) prompt db Please enter the characters: db 0dh,0ah,$ message db buffer overflow,0dh,0ah save_ip9 dw ? save_cs9 dw ?dseg endscseg segme
6、nt assume cs:cseg,ds:dsegmain proc farstart: push dx sub ax,ax push ax mov ax,dseg mov ds,ax mov ax,offset buffer mov addr_point,ax mov count,0 mov al,09h mov ah,35h int 21h ;save interrupt vector of type 09h mov save_ip9,bx mov save_cs9,es mov dx,offset kbint push ds mov ax,seg kbint mov ds,ax mov
7、al,09h mov ah,25h int 21h pop ds ;set interrupt vector of 9 in al,21h and al,0fdh out 21h,al sti jmp $ retmain endp;keyboard interrupt serverkbint proc near push ax push bx cld in al,60h ;read in the char push ax in al,61h mov ah,al or al,80h out 61h,al xchg ah,al out 61h,al pop ax test al,80h ;is p
8、ress or release code? jnz cont mov bx,addr_point mov bx,al call disp inc bx inc count mov addr_point,bxcheck: cmp count,32 jb cont in al,21h or al,02hcont: cli mov al,20h out 20h,al pop bx pop ax iretkbint endp;diplay char codedisp proc near push ax push cx push dx mov ch,2 mov cl,4nextb: rol al,cl push ax mov dl,al and dl,0fh or dl,30h cmp dl,3ah jl dispit add dl,7hdispit: mov ah,2 int 21h pop ax dec ch jnz nextb mov ah,2 mov dl, int 21h pop dx pop cx pop ax retdisp endpcseg ends end start三、程序运行结果程序运行后,将会修改09H中断
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1