好文档 - 专业文书写作范文服务资料分享网站

微机原理-实验二-汇编程序1

天下 分享 时间: 加入收藏 我要投稿 点赞

微机原理实验报告

班级:XXXXX 姓名:XXXX 学号:20XXXX

XXXXX大学 信息科学与技术学院 信息工程系

实验二 汇编语言程序设计

一、实验目的:

1、熟悉MASM编译环境,了解程序的汇编方法; 2、熟悉常用汇编指令,学习汇编程序设计方法;

3、学习汇编语言的调试过程,通过调试过程认识CPU执行程序的方式。

二、实验内容:

1、将16进制数转换成ASCII码

2、求解:将程序数据段中0,1,2,...0Ah,0Bh,0Ch,0Dh,0Eh,0Fh的16个16进制数转换为对应的ASCII码,并存储在原码所在的相应地址中。

3、解答:取一个数,首先要判断该数是否大于等于10,若大于10则加上37H转化为对应的ASCII码;若小于10则加上30H。

三、程序流程图和程序代码

1、流程图

2、代码与注释 data segment

buf db 0,1,2,3,4,5,6,7,8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh data ends code segment

assume cs:code,ds:data; 设置代码段cs,数据段ds start:mov ax,data; 将数据存到ax中 mov ds,ax; 转存到ds中 mov cx,16; 将16赋给cx

lea si,buf; 把buf的偏移地址赋给si L2:mov al,[si]; 将si中数据移到al cmp al,10; 将al中数据与10相比 jae L1; 将16赋给cx

sub al,7h; 如果大于10加7H L1:add al,37h; 反之加37

mov [si],al; 把al转存到si inc si;si si自加 loop L2; L2循环 mov ah,4ch

int 21h; 回到dos系统 code ends end start

四、调试过程及遇到的问题

1、程序执行截图

2、调试用到的命令

mount命令、link、masm、debug -u -t -d -g -q 3、遇到的问题及解决办法

一开始不知道怎么进行程序调试,在老师讲解了 -u -t -d -g命令的用法之后,对 -u -t -d -g用法有了认识,而后就解决问题.

五、思考题

1、总结无符号条件转移指令的功能,要求更改程序,用JA指令实现相同功能。 data segment

buf db 0,1,2,3,4,5,6,7,8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh data ends code segment

assume cs:code,ds:data start:mov ax,data mov ds,ax mov cx,16 lea si,buf L2:mov al,[si]e cmp al,9 ja L1

sub al,7h L1:add al,37h mov [si],al inc si loop L2 mov ah,4ch

int 21h code ends end start

2、总结CMP指令和test指令的用法和区别。

cmp与sub类似,即从目的操作数减去源操作数,但sub会将运算结果送至目的操作数,而cmp不会送至目的操作数;test则与and类似,即将两个操作数进行按位“与”运算,但and将运算结果送至目的操作数,而test则不会。

cmp主要用于比较两数的关系,可以在有符号数和无符号数之间进行比较。两数相等影响ZF标志,无符号数影响CF标志,有符号数影响SF和OF标志。一般根据标志位的影响设置程序跳转,即根据不同的条件完成对应的程序片段,类似于高级语言的IF-ELSE结构。所有的有条件转移指令都可以用在这条指令之后。 3、总结有符号数转移指令JG,JL功能,叙述该指令是如何使用标志位判断有符号数的大小的?

JE/JZ JNZ/JNE JG/JNLE JGE/JNL JL/JNGE JLE/JNG

!= 不跳转 == 不跳转 <= 不跳转 < 不跳转 >= 不跳转 > 不跳转

六、心得体会

这次试验主要是对一些基本的汇编实验有一些了解,对汇编代码用法有一些

了解。在试验之后,确实是了解了一些代码的用法,也了解了dos系统一些命令的用法,比如-u,-d,-g,-t -q等等,这次试验还是很有收获的。

微机原理-实验二-汇编程序1

微机原理实验报告班级:XXXXX姓名:XXXX学号:20XXXXXXXXX大学信息科学与技术学院信息工程系实验二汇编语言程序设计一、实验目的:1、熟悉MASM编译
推荐度:
点击下载文档文档为doc格式
1bqof28z1q3gzju6vsv034ka295j7z00cxm
领取福利

微信扫码领取福利

微信扫码分享