ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:145.97KB ,
资源ID:14388498      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14388498.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机实验报告汇总Word文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机实验报告汇总Word文档格式.docx

1、 CODE ENDS END三、实验设备PC机一台,MASM汇编程序 四、实验步骤1用记事本将源程序输入,并存盘。注意:源程序是用汇编语言语句编写的程序,并不能为机器所识别。源程序的扩展名为.ASM2用宏汇编程序将.ASM源程序汇编成机器码的目标文件(OBJ文件)3用LINK程序产生执行文件(EXE文件)4执行程序实验结果:五、心得体会第一次经历了汇编语言的上机过程,对在计算机上进行汇编语言程序设计的步骤不是很熟悉,对命令提示符的一些操作命令不懂,后来查阅了一些资料,比如可以在window7下按住shift,点击鼠标右键,在弹出的窗口里就可以打开命令提示符了。 六、思考题1请说出一个完整的汇编

2、程序从编写到运行所需的步骤。(1)用编辑程序建立ASM源程序文件(2)用宏汇编程序将.ASM源程序汇编成机器码的目标文件(OBJ文件)(3)用LINK程序产生执行文件(EXE文件)(4)在DOS命令行直接键入文件名执行该文件2修改源程序,改变屏幕显示的内容。修改的源程序:CODE SEGMENTD实验二数据的显示实验1掌握屏幕上显示各种进制数据的方法。2掌握将内存中的二进制数转换为十进制、十六进制数的方法。3学会子程序的编写、调用及数据传递方法。1把BX中的无符号二进制数转换成十进制数,在屏幕上显示出来。2把BX中的带符号二进制数转换成十进制数,在屏幕上显示出来。3求一个数据块(由10个单字节

3、的无符号数组成)中的最大元素,并将结果以十进制数的形式在屏幕上显示出来。4求一个数据块(由20个单字节的带符号数组成)中的正数之和(和不超过字)和负数之和(和不超过字),并在屏幕上用十进制数的形式分别显示出两个和。5将寄存器BX中的二进制数转换成十六进制数,并在屏幕上显示出来。从高到低依次取出4位二进制数变为ASCII码输出即可。三、实验设备:PC机一台、masm汇编程序 四、实验步骤:依照前面介绍的方法,对每一个实验内容对应的程序进行编辑、编译、连接和运行,直到达到实验要求。1实验内容1(1)实验内容1的流程图,如图所示:(2)实验内容1的程序: CODE SEGMENT CODE DEC_

4、DIV MACRO MOV AX, BX MOV DX, 0 DIV CX MOV BX, DX MOV DL, AL ADD DL, 30H INT 21H ENDM START: MOV BX, 0FFFH MOV CX, 1000 DEC_DIV MOV CX, 100 MOV CX, 10 MOV CX, 1 END START(3)实验结果:2. 实验内容2(1)实验容1的程序:DATA SEGMENTA DW 1000B DW 100C DW 10D DW 1DATA ENDSCODE SEGMENT CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV B

5、X, 0FFEFH ;-0017的补码是0FFEFH OR BX,BX JNS NEXT NEG BX AND BH,7FH MOV DL,2DH MOV AH,2 NEXT: MOV SI,OFFSET A CALL DEC_DIV MOV SI,OFFSET B MOV SI,OFFSET C MOV SI,OFFSET D DEC_DIV PROC NEAR MOV CX, SI RET DEC_DIV ENDP(2)实验结果:3实验内容3(1)实验内容3的流程图,如图所示:(2)实验3的程序: BLOCK DB 1,0,5,7,10,30,100,127,90,80 RESULT DB

6、 ?,? BUF DB MAX IS:$CODE,DS: BEGIN PROC FAR MOV AX, DATA MOV DS, AX MOV CX, 9 LEA SI, BLOCK MOV AL, SI X1: INC SI CMP AL, SI JAE X2 X2: LOOP X1 MOV RESULT, AL MOV DX, OFFSET BUF MOV AH, 9 MOV BL,RESULT CBW MOV CX, 1000 BEGIN ENDP END BEGIN(3)实验3的运行结果:4实验内容4(1)实验内容4的流程图,如图所示:(2)实验内容4程序: BLOCK DB -1,-

7、2,-3,-4,-5,-6,-7,-8,-9,-10 DB 11,12,13,14,15,16,17,18,19,20 POSIT DW ? NEGAT DW ? BUF1 DB POSIT: BUF2 DB NEGAT: DATA ENDS START PROC MOV BX, OFFSET BLOCK MOV SI, 0 MOV DI, 0 MOV CX, 20 MOV AL, BX CBW CMP AX, 0 JGE X3 ADD DI, AX JMP X2 X3: ADD SI, AX INC BX MOV POSIT, SI MOV NEGAT, DI MOV DX, OFFSET

8、BUF1 MOV BX,POSIT MOV DL,0AH MOV DX, OFFSET BUF2 MOV BX,NEGAT AND BH,01111111B MOV DL,2DH;显示负号 (3)实验结果:5. 实验内容5(1)实验内容5的流程图,如图所示:图2-4 内容5流程图(2)实验内容5的源程序,参考如下: BINHEX PROC FAR MOV CH,4 MOV BX,1000 ROTATE: MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH ADD DL,30H CMP DL,3AH JL OUTPUT ADD DL,7 OUTPUT: DEC CH

9、JNE ROTATE MOV DL,H MOV AH,4CH BINHEX ENDP END BINHEX实验内容1:宏定义必须先定义,后调用,自己刚开始时把宏定义放在调用的后面,导致程序出错。看了生产的LIST给出的源程序和目标程序,发现每个宏调用处,通过宏扩展,宏体中的指令的机器代码被插入到宏调用处,不节省内存单元,但相对于子程序,简化了源程序。实验内容2:刚开始的时候给BX寄存器送负值,比如-17,我写成了1000 0000 0001 0001即 MOV BX,8011H,后来发现显示出来的数不是-17。经过思考,懂得原来负数的表示要用补码,下面是两种LIST 文件里对应地方的目标程序和源程序,可以看出转化为目标程序的时候,用补码表示。0000 BB FFEF START: M

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1