《微机原理与应用实验报告.doc》由会员分享,可在线阅读,更多相关《微机原理与应用实验报告.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与应用课程实验报告实验名称实验一两个多位十进制数相加实验姓 名康吴伟系院专业电子科班 级一班学 号实验日期4.14指导教师毕翔,石雷成 绩一、实验目的和要求目的:1学习数据传送和算术运算指令的用法。 2熟悉在 PC 机上建立,汇编,连接,调试和运行汇编语言程序的过程。要求:将两个多位十进制数相加,要求被加数,加数通过键盘输入后按顺序存放在 以 ADD1 和 ADD2 为首的六个内存单元中(低位在前),结果送入 SUM 为首的 六个内存单元中。假定计算的结果也是六位,否则算溢出,可不处理。二、实验内容(包括实验步骤和代码)实验程序框图:程序语言:DATA SEGMENT ADD1 DB
2、6 DUP(?)ADD2 DB 6 DUP(?)SUM DB 6 DUP(?)NOTE DB 0AH,0DH,ERROR!,0AH,0DH,$ SPACE1 DB 0AH,0DH,PLEASE INPUT DATA,0AH,0DH,$SPACE2 DB 0AH,0DH,THE SUM IS,0AH,0DH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMAIN PROC FARSTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET SPACE1 MOV AH,09H INT 21H MOV SI,6INPUT1: MOV
3、AH,01H INT 21H SUB AL,30H DEC SI MOV ADD1SI,AL CMP SI,0 JNZ INPUT1 MOV DX,OFFSET SPACE1 MOV AH,09H INT 21H MOV SI,6INPUT2: MOV AH,01H INT 21H SUB AL,30H DEC SI MOV ADD2SI,AL CMP SI,0 JNZ INPUT2 MOV SI,0 XOR AX,AXJIA: MOV AL,ADD1SI ADD AL,ADD2SI ADD AL,AH AAA MOV SUMSI,AL MOV AH,0 JNC NEXT MOV AH,01H
4、NEXT: INC SI CMP SI,6 JNZ JIA CMP AH,1 JZ YICHU MOV DX,OFFSET SPACE1 MOV AH,09H INT 21H MOV SI,6OUTPUT: DEC SI MOV DL,SUMSI ADD DL,30H MOV AH,02H INT 21H CMP SI,0 JNZ OUTPUT JMP EXIT YICHU: MOV DX,OFFSET NOTE MOV AH,09H INT 21H EXIT: MOV AX,4C00H INT 21HMAIN ENDPCODE ENDSEND START三、 实验结果及其分析微机原理与应用课
5、程实验报告实验名称实验二 响铃程序姓 名康吴伟系院专业电子科班 级1学 号实验日期4.21指导教师毕翔,石雷成 绩一、 实验目的和要求目的:掌握响铃符的使用方法。要求:编写程序,从键盘接收输入字符,如是数字 N,则响铃 N 次,如不是数字或 数字 0,则不响。二、 实验内容(包括实验步骤和代码)data SEGMENTts DB please input:$again DB 0ah,0dh,again?(y/n)$data ENDScode SEGMENTASSUME CS:code,DS:dataenter1 PROC PUSH AXPUSH DXMOV AH,02hMOV DL,0dhIN
6、T 21hMOV DL,0ahINT 21hPOP DXPOP AXRETenter1 ENDPstart:MOV AX,data MOV DS,AXa0003:LEA DX,tsMOV AH,09h INT 21hMOV AH,01h INT 21hCMP AL,1 JB a0001CMP AL,9 JA a0001SUB AL,30h XOR AH,AH MOV CX,AX a0002:MOV AH,02 MOV DL,07INT 21HLOOP a0002 a0001:LEA DX,again MOV AH,09hINT 21hMOV AH,01h INT 21hCALL enter1C
7、MP AL,y JE a0003CMP AL,Y JE a0003MOV AH,4chINT 21hcode ENDSEND start三、 实验结果及其分析微机原理与应用课程实验报告实验名称实验三 BCD 码相乘实验姓 名康吴伟系院专业电子科班 级1学 号实验日期4.28指导教师毕翔,石雷成 绩一、实验目的和要求目的:掌握用组合的 BCD 码表示数据,并熟悉如何实现压缩的 BCD 码乘法运算。要求:实现 BCD 码的乘法,要求被乘数和乘数要求以压缩的 BCD 码形式存放,在 内存中各占一个单元,乘积存放在另外两个内存单元中。程序中可采用将乘数 1 作为计数器,累加另一个乘数的方法得到计算结果
8、。二、 实验内容(包括实验步骤和代码)实验程序框图:程序语言:DATA SEGMENT BCD1 DB 23H BCD2 DB 20H BCD3 DW ? DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV AL,BCD1 MOV BL,AL MOV CL,4 SHR AL,CL ADD AL,30H MOV DL,AL MOV AH,02 INT 21H MOV AL,BL AND AL,0FH ADD AL,30H MOV DL,AL MOV AH,02 INT 21H MOV DL,0h
9、INT 21H MOV AL,BCD2 MOV BL,AL SHR AL,CL ADD AL,30H MOV DL,AL INT 21H MOV AL,BL AND AL,0FH ADD AL,30H MOV DL,AL INT 21H MOV AL,BCD1 MOV BL,AL MOV DX,0XH: JZ EXIT AND DX,DX MOV AL,DL ADD AL,BCD2 DAA MOV DL,AL MOV AL,DH ADC AL,0H DAA MOV DH,AL MOV AL,BL DEC AL DAS MOV BL,AL JMP XHEXIT:MOV BX,DX MOV DL,
10、BH MOV CL,4 SHR DL,CL ADD DL,30H MOV AH,02H INT 21H MOV DL,BH AND DL,0FH ADD DL,30H INT 21H MOV DL,BL SHR DL,CL ADD DL,30H INT 21H MOV DL,BL AND DL,0FH ADD DL,30H INT 21H MOV AH,4CH INT 21HCODE ENDS END START三、 实验结果及其分析微机原理与应用课程实验报告实验名称实验四 从键盘输入数据并显示姓 名康吴伟系院专业电子科班 级1学 号实验日期5.5指导教师毕翔,石雷成 绩一、实验目的和要求目的
11、:掌握键盘接收数据的方法,并了解将键盘数据显示时须转换为 ASCII 码的原 理,并在中设置错误出口。要求:编写程序,将键盘接收到的四位十六进制数转换为二进制数,再显示在屏幕 上。如输入的不是 0-F 间的数字,则显示出错信息,并要求重新输入。二、实验内容(包括实验步骤和代码)实验程序框图:程序语言:assume cs:code, ds:datasdatas segmenthex db 4 dup (0)error db 13,10,input error$datas endscode segmentstart:mov ax, datasmov ds, axmov ah, 1hmov bx,
12、offset hexjmp ts0up0:inc bxts0:cmp bx, offset hex + 4jge next0int 21hmov byte ptr bx, aljmp up0next0:mov cl, 4mov bx, offset hexxor dx, dxjmp ts1up1:inc bxts1:cmp bx, offset hex + 4jge blankmov al, byte ptr bxcmp al, 0jl errcmp al, 9jle below_tencmp al, Ajl errcmp al, Fjle above_tencmp al, ajl errcm
13、p al, fjg errabove_ten:and al, 0fhadd al, 9below_ten:and al, 0fhshl dx, cladd dl, aljmp up1blank:mov bx, dxmov ah, 2hmov dl, 13int 21hsub dl, 3int 21hxor cx, cxmov ah, 2hstcnext1:rcr cx, 1jc donetest bx, cxjnz onesmov dl, 0int 21hjmp next1ones:mov dl, 1int 21hjmp next1err:mov ah, 9hmov dx, offset er
14、rorint 21hdone:mov ax, 4c00hint 21hcode endsend start三、实验结果及其分析微机原理与应用课程实验报告实验名称实验五 交通灯控制程序姓 名康吴伟系院专业电子科班 级1学 号实验日期5.12指导教师毕翔,石雷成 绩一、实验目的和要求目的:掌握I/O端口的操作方法以及交通灯显示码的编码方法。要求:编写程序,要求实现从最下方的一组交通灯开始,首先显示绿色,然后显示黄色,最后显示红色,接着将该显示次序以顺时针方向,传递其他三组交通灯。待四组交通等全部显示完成后,返回DOS。(注:每次显示延时一秒)二、实验内容(包括实验步骤和代码)实验程序框图:程序语言
15、:; controlling external device with 8086 microprocessor.; realistic test for c:emu8086devicesTraffic_Lights.exe#start=Traffic_Lights.exe#name trafficmov ax, all_redout 4, axmov si, offset situationnext:mov ax, siout 4, ax; wait 1seconds (1million microseconds)mov cx, 0Fh ; 0F4240h = 1,000,000mov dx,
16、 4240hmov ah, 86hint 15hadd si, 2 ; next situationcmp si, sit_endjb nextmov si, offset situationInt 21hjmp next; FEDC_BA98_7654_3210situation dw 0000_0000_0000_0000bs1 dw 0000_0000_0000_0100bs2 dw 0000_0000_0000_0010bs3 dw 0000_0000_0000_0001bs4 dw 0000_1000_0000_0000bs5 dw 0000_0100_0000_0000bs6 dw 0000_0010_0000_0000bS7 dw 0000_0001_0000_0000bS8 dw 0000_0000_1000_0000bS9 dw 0000_0000_0100_0000bS10 dw 0000_0000_0010_0000bS11 dw 0000_0000_0001_0000bS12 dw 0000_0000_0000_1000bsit_end = $all_red equ 0000_0010_0100_1001b三、实验结果及其分析