二进制转化为十六进制.doc

上传人:夏** 文档编号:551702671 上传时间:2023-02-01 格式:DOC 页数:8 大小:223KB
返回 下载 相关 举报
二进制转化为十六进制.doc_第1页
第1页 / 共8页
二进制转化为十六进制.doc_第2页
第2页 / 共8页
二进制转化为十六进制.doc_第3页
第3页 / 共8页
二进制转化为十六进制.doc_第4页
第4页 / 共8页
二进制转化为十六进制.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《二进制转化为十六进制.doc》由会员分享,可在线阅读,更多相关《二进制转化为十六进制.doc(8页珍藏版)》请在金锄头文库上搜索。

1、微机原理实验报告(参考格式,16K纸)一、实验目的和要求 微机原理是信息类专业的一门选修课,而实验课是为了巩固课堂所学内容,并且能够亲自上机操作。其目的主要是使学生真正了解微机工作原理和低级语言程序设计的相关知识,通过实验训练进一步培养学生分析问题和解决问题的能力,培养学生的创新意识、创新精神和创新能力,为学生今后从事微机系统开发与研究工作打下扎实的基础。上机操作是本课程的重要组成部分,通过上机操作可以使学生巩固和理解微机工作原理和低级语言程序设计的相关知识,培养学生独立思考、运用所学知识解决实际问题等方面能力的重要环节。本次实验要求为:1. 掌握86系列汇编语言及指令的格式和寻址方式2. 掌

2、握86系列汇编语言各类指令的用法。3. 掌握简单程序、分支程序、循环程序、子程序等的设计方法4. 在实验的全过程中,培养学生勤奋学习、求真、求实的科学品德,培养学生的动手能力、思维能力、想象能力、表达能力。二、实验内容和原理题目设计要求:在源程序中设置数据段、堆栈段及代码段。在数据段中定义八个字节数据,把这些数据转换成16进制数的ASCll码存在上述数据之后,然后在屏幕上显示这些数据。显示数据用DOS功能2号调用,每个数据用空格分隔。三、仪器名称及主要规格(包括量程、分度值、精度等)、 材料计算机(配置),Pentiun(R) Dual-Core CPUT4300 2.10GHz2.09GHz

3、 , 1.93GHz 的内存四、实验步骤(填题目分析、程序框图)题目分析:在源程序中设置数据段、堆栈段及代码段。在数据段中定义八个字节数据,把这些数据转换成16进制数的ASCll码存在上述数据之后,然后在屏幕上显示这些数据。程序框图:开始设8个字节数定义ASCII码区设数据区指针SI设ASCII码区指针DI 设数据区长CXBL2, ALSIBHALAL右移四位一个ASCII码DIDIDI+1 ,ALBH BL BL-1BL0SISI+1CXCX-10重新设ASCII区指针SI设置ASCII区长度CX调显示字符子程序结束G2是G1开始BL2 DLSI AH2执行INT 21H SISI+1BLB

4、L-1 0 显示空格BL2CXCX-1 0返回否是P1GT是五、实验结果及分析(调试中出现问题及解决)实验结果:12 34 56 78 9A BC DE F0结果分析:计算机内部只能识别二进制数,把十六进制的这些数化转化为ASCII码之后然后在屏幕上显示出来六、体会读了这个程序之后发现,想要真正理解一个程序都是需要掌握众多助记符的用法以及它的意思,只有了解并明白了这些之后才可以分析程序或者是编写简单的小程序七、结论(编程方法简述)编程方法:这个程序就是先把要转换的数据存入AX中,然后将AL中的二进制数,转换成16进制数的ASCII码, 存于DI指向的内存2个单元中,转换成ASCII码,显示数据

5、用DOS功能2号调用.八、教师评语和成绩 教师签名: 年 月 日 (附程序源码及运行结果)源程序: NAME EX1 ; 程序命名伪指令,程序名为EX1PAGE 50,70 ; 表示占了50行,70列DAT SEGMENT PARADAT ;数据段定义伪指令A1 DB 12H,34H,56H,78H,9AH DB 0BCH,0DEH,0F0H B1=$-A1 ;赋值伪指令,求A1(符号地址)到当前汇编地址($)的字节数B2=B1*2 ;求2倍的B1 A2 DB B2 DUP(?) ;数据重复定义伪指令,定义ASCII码字符区DAT ENDSSTAC SEGMENT PARA STACK STA

6、 ;定义堆栈段STA1 DW 100 DUP(?) STAC ENDSCODE SEGMENT PARA CODE ASSUME CS:CODE,DS:DAT ASSUME SS:STAC,ES:DATSTAR PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DAT MOV DS,AX MOV ES,AX LEA SI,A1 ;把A1首地址赋给SI LEA DI,A2 ;转化后用来放结果 MOV CX,B1 G1: MOV BL,2 MOV AL,SI ;把八位的数据赋给AL,准备转化 MOV BH,AL ;把AL中的数据暂存于BH中 PUSH CX ;保护

7、CX中的数据 MOV CL,4 ;指出移位的位数为4 ROR AL,CL ;循环右移四位 POP CX ;把CX弹出堆栈G2: AND AL,0FH ;把AL中的数据和0FH“与”,得到高四位 DAA ;对AL两位十进制数做(BCD)调整 ADD AL,0F0H ADC AL,40H MOV DI,AL ;存ASCII码 INC DI ;修改地址加一 MOV AL,BH DEC BL JNZ G2 INC SI ;指向下一个数 LOOP G1 MOV SI, OFFSET A2 ;A2的偏移地址送给SI寄存器 MOV CX,B2 CALL P1 RET ;子程序返回STAR ENDPP1 PROC MOV BL,2G: MOV DL,SI MOV AH,2 INT 21H INC SI ;指向下一个要显示的数 DEC BL JNZ T ;连续显示两个数,未完继续 MOV DL, MOV AH,2 INT 21H MOV BL,2T: LOOP G RET P1 ENDPCODE ENDS END STAR 运行结果: 第 7 页

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号