微机系统实验报告.docx

微机系统实验报告创新

西安电子科技大学实验报告课程名称微机系统上机实验成绩实验学时28学时评语:指导教师:吴文华 2016年12月 26 日实验一汇编语言编程实验一、实验目的(1)掌握汇编语言的编程方法(2)掌握 DOS 功能调用的使用方法(3)掌握汇编语言程序的调试运行过程二、实验设备PC 机一台。三、实验内容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。 4. 自主设计输入显示信息,完成编程与调试,演示实验结果。四、实验源码DATA SEGMENT DISCHA DBWangHan 14030188004,0AH,0DH,$ TAB DB ,0AH,0DH,$ BLANK DB $DATA ENDSSTACK SEGMENTSTACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,SEG DISCHA MOV DS,AX MOV DX,OFFSET DISCHA MOV AH,09H INT 21HNEXT: MOV AH,01H INT 21H CMP AL,Q JE ENDSS CMP AL,q JE ENDSS MOV BL,AL MOV AX,SEG BLANK MOV DS,AX MOV DX,OFFSET BLANK MOV AH,09H INT 21H MOV BH,0AHMOV DL,BLMOV CL,04HSHR DL,CLCMP DL,BHJNL Q3JMP Q2Q1:ADD DL,07HQ2: ADD DL,30HMOV AH,02HINT 21H MOV DL,BLMOV DH,0FHAND DL,DHCMP DL,BHJNL Q3JMP Q4Q3:ADD DL,07HQ4:ADD DL,30HMOV AH,02HINT 21H MOV AX,SEG TAB MOV DS,AX MOV DX,OFFSET TAB MOV AH,09H INT 21H MOV CX,0009H LOOP NEXTENDSS: MOV AH,4CH INT 21HCODE ENDS END START五、程序流程图如下图1.2所示图1.2程序流程图实验二数码转换实验一、实验目的1. 掌握不同进制数及编码相互转换的程序设计方法。2. 掌握运算类指令编程及调试方法。3. 掌握循环程序的设计方法。二、实验设备PC 机一台。三、实验内容1. 重复从键盘输入不超过5位的十进制数,按回车键结束输入;2. 将该十进制数转换成二进制数;结果以2进制数的形式显示在屏幕上;3. 如果输入非数字字符,则报告出错信息,重新输入;4. 直到输入“Q”或‘q’时程序运行结束。5. 键盘输入一字符串,以空格结束,统计其中数字字符的个数,在屏幕显示四、实验原理十进制数可以表示为:Dn*10n+Dn-1*10n-1+…+D0*100= Di*10i其中Di代表十进制数1、2、3、…、9、0。上式可以转换为: Di*10i=(((Dn*10+Dn-1)*10+ Dn-2)*10+…+ D1)*10+ D0由上式可归纳出十进制数转换为二进制数的方法:从十进制数的最高位Dn开始做乘10加次位的操作,依此类推,则可求出二进制数结果。表2.1 数码转换关系对应表五、实验源码1、数制转换assume cs:codedata segmentest db Error:Input invalid,0ah,0dh,$data endsstack segmentstk db 64 dup (0)stack endscode segmentstart:mov ax,stackmov ss,axmov sp,offset stkmov ax,datamov ds,axrf:mov cx,5mov ax,0mov dx,0mov si,0mov di,0rr:mov ah,01hint 21hcmp al,0dhje rendcmp al,qje qtcmp al,Qje qtcmp al,0jl errcmp al,9jg errjmp cnterr:call perrcnt:sub al,0mov bh,0mov bl

文档评论(0)

1亿VIP精品文档

相关文档