汇编-分支编程

来源:互联网 发布:scopus数据库简介 编辑:程序博客网 时间:2024/06/16 02:29

这个分支编程的实验和上个循环编程的作业一样都是5.1前后的汇编实验,同样是三个题,很简单就能搞定,不过整理起来实验报告真是一个麻烦事。

实验一

有 3 个字变量 xyz
x>y,则求 z=xy+1
否则,求 z=x+y1

十分基础的分支问题,只需要 cmp 判断 xy 大小,然后 jl 跳转即可,代码如下:

描述

接着,查看寄存器等相关信息。

描述

可以明确看到数据段从 076A:0 开始,查看数据段内存。

描述

此时我们的数据是 x 小于 y,结果应该为 2,运行完程序并再次查看数据段内存。

描述

结果无误,这种分支没有问题,接着我们调整数据,让 y 小于 x

描述

此时,结果应该为 CH,运行完程序并再次查看内存。

描述

结果无误,至此,我们的两个分支都没有问题,实验一完毕。

实验二

有 1 个字节变量 a 和 1 个字变量 x
a 为偶数,则把 x 中低字节清 0,高字节不变;
a 为奇数,则把 x 中高字节清 0,低字节不变。

和上一个实验一样,换汤不换药,利用一次右移一次左移,与原数判断即可,代码如下:

描述

查看寄存器等相关信息。

描述

如上,数据段内存起始地址为 076A:0,查看对应内存。

描述

此时,a 为偶数,如果 C4H 被覆盖则无误,运行完程序并再次查看内存。

描述

结果正是我们想要的,那么我们修改一下 a 为奇数。

描述

此时,应该被清零的是 05H,再次运行完并查看内存。

描述

的确是 05H 被清零了,至此,实验没毛病,实验二完成。

实验三

有3个字变量 xyz,一个字节变量 f
计算 z=xy
z>0,则 f=1
z<0,则 f=1
z=0,则 f=0

真是没什么可说的,直接上代码:

描述

查看寄存器等相关信息。

描述

从数据段对应内存 076A:0 起查看内存。

描述

此时 xy 结果应该是 1,所以 zFFFFHfFH 的话就是我们想要的。

描述

看来这个分支是没有问题的,接着调整数据。

描述

然后运行完程序并查看内存。

描述

此时,z 结果为 0,f 结果为 0,没毛病,继续调整数据,使 z 结果为正数。

描述

这样的话,z 的结果应该为 1Hf 的值也为 1H。查看数据……

描述

GG,完全没有问题,至此,验证三个分支均无误,实验三完成。

我本不想这么写报告的,实在是太慢了,无奈要求如此,要么不做,要么就好好按着要求做吧……

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 红色硅胶壳黑了怎么办 小米6gps信号弱怎么办 网线头卡子断了怎么办 入户网线太短了怎么办 孩子弹钢琴大拇指出琴键怎么办 手指肿胀疼痛变粗怎么办 iphone系统占用内存大怎么办 手机系统占用内存大怎么办 头盔固定配件掉了怎么办 移动4g网络不好怎么办 wifi登录密码忘记了怎么办 电脑登录密码忘记了怎么办 笔记本电脑登录密码忘记了怎么办 信用卡登录密码忘记了怎么办 华为p9后置摄像头模糊怎么办 手机图片文件夹删了怎么办 发票系统导出的xml怎么办 微信支付被限制怎么办 跨行三天不到账怎么办 测速正常但实际很慢怎么办 善领wifi上网慢怎么办 文件太大拷贝不到u盘怎么办 电脑的视频文件不显示缩略图怎么办 无线网连接不上怎么办 路由器wifi密码忘了怎么办 路由器账号密码忘了怎么办 刷卡刷多了钱怎么办 刷卡刷了两次钱怎么办 小米手机强刷后一联网就被锁怎么办 苹果刷机出现的问题怎么办 小米手机解不开图案锁怎么办 小米6无限重启怎么办 小米5一直显示mi怎么办 小米手机电池进入休眠状态怎么办 小米3s开不开机怎么办 小米n充电关机开机不了怎么办? 关机后强制刷机怎么办 红米手机开机画面怎么办 红米note1无法清理数据怎么办 红米2a密码忘记怎么办 线刷也不成功该怎么办