博客
关于我
[汇编语言] 分支结构程序设计
阅读量:327 次
发布时间:2019-03-04

本文共 778 字,大约阅读时间需要 2 分钟。

实验内容:

1)在数据区中定义三个带符号字节变量。

2)编写程序将其中的最大数找出送到MAX单元中。

实验要求:

通过测试有符号数和无符号数比较大小,掌握无符号数和带符号数比较大小转移指令的区别。(无符号jb/ja、带符号jl/jg)

源代码:

;four.asm in Windows Console;在数据区中定义三个带符号字节变量;将其中的最大数找出送到MAX单元中	include io32.inc	.datamax dword ?;存放最大值x	  dword 30y	  dword 20z	  dword 10	.codestart:  mov ebx,x;将x放置ebx  mov ecx,y;将y放置ecx	cmp ebx,ecx;比较x,y	jg lable1;如果x>y,则转移指令	mov ebx,z;x<=y,将z放置于ebx	cmp ebx,ecx;比较y,z	jg lable2;如果z>y,则转移指令	mov eax,ecx;z<=y,将最大值放置eax	jmp d;转移指令,显示最大值	lable1: mov ecx,z;将z放置ecx  cmp ebx,ecx;比较x,z  jg lable2;如果x>z,则转移指令  mov eax,ecx;x<=z,将最大值放置eax	jmp d;显示最大值	lable2: mov eax,ebx;  d:  mov max,eax;将最大值放入max  call dispsid;显示eax,即最大值	exit 0	end start

实验体会:

通过此次实验掌握了无符号和带符号转移指令的区别;无符号转移指令影响CF标志位,通过CF标志位判断;带符号转移指令影响SF,OF标志位,通过这两个标志位判断;所以有无符号数需要两条指令来实现;进一步加深了

对跳转指令的理解。

.

转载地址:http://spmh.baihongyu.com/

你可能感兴趣的文章
create-react-app路由的实现原理
查看>>
Linux环境变量配置错误导致命令不能使用(杂谈)
查看>>
openstack安装(九)网络服务的安装--控制节点
查看>>
shell编程(六)语言编码规范之(变量)
查看>>
vimscript学习笔记(二)预备知识
查看>>
SSM项目中遇到Could not autowire. No beans of ‘XXX‘ type found.错误
查看>>
Android数据库
查看>>
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
查看>>
keil左侧文件调整方法
查看>>
STM8 GPIO模式
查看>>
omnet++
查看>>
23种设计模式一:单例模式
查看>>
Qt中的析构函数
查看>>
C语言实现dijkstra(adjacence matrix)
查看>>
C语言学习从初级到精通的疯狂实战教程-徐新帅-专题视频课程
查看>>
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
查看>>
NAT工作原理
查看>>
Processes, threads and goroutines
查看>>
c++中的10种常见继承
查看>>
Vue学习—深入剖析渲染函数
查看>>