[汇编语言] 分支结构程序设计

实验内容:

1)在数据区中定义三个带符号字节变量。
2)编写程序将其中的最大数找出送到MAX单元中。

实验要求:

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

源代码:

;four.asm in Windows Console
;在数据区中定义三个带符号字节变量
;将其中的最大数找出送到MAX单元中
	include io32.inc
	.data
max dword ?;存放最大值
x	  dword 30
y	  dword 20
z	  dword 10
	.code
start:
  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标志位,通过这两个标志位判断;所以有无符号数需要两条指令来实现;进一步加深了
对跳转指令的理解。

指路->其他实验.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值