本文共 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/