[汇编语言] 分支结构程序设计
发布日期:2021-05-07 07:54:07 浏览次数:14 分类:技术文章

本文共 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标志位,通过这两个标志位判断;所以有无符号数需要两条指令来实现;进一步加深了

对跳转指令的理解。

.

上一篇:常用DOS命令
下一篇:[汇编语言]子程序设计之多精度十进制加法

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月17日 01时35分34秒