如何用汇编解决求最大值问题?
学习任何语言我们都求过最大值,尤其像在c语言,java中这些都是基础中的基础,那么如何利用汇编语言求最大值
C++实现方法
最简单三个数求最大值
1.生明三个变量用于存储三个整数
2.输入三个整数
3.使用if 语句嵌套的方法求最大值
4. 输出最大值
代码示例:
#include<iostream> using namespace std; int main() { int a, b, c; cout << "请输入a,b,c三个数的值:" << endl; cin >> a >> b >> c; if (a > b) { if (a > c) { cout << "最大的数是:" << a << endl; } else { cout << "最大的数是:" << c << endl; } } else { if (b > c) { cout << "最大的数是:" << b << endl; } else cout << "最大的数是:" << c << endl; } system("pause"); return 0; }
汇编语言如何实现
提示:可以先做一个整体解决办法的描述(思路或概述)
第一步
定义数据段,代码段,让堆栈段自动装入;
第二步
给出X,Y,Z, 三个16位带符号数
第三步
书写代码进行测试
汇编源码
DATA SEGMENT X DW 7 Y DW 5 Z DW 8 MAX DW ?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX MOV AX, X MOV BX, Y MOV CX, Z CMP AX, BX JGE NEXT MOV MAX,BX CMP MAX,CX JGE DONE MOV MAX,CX JMP DONE NEXT: MOV MAX,AX CMP MAX,CX JGE DONE MOV MAX, CX JMP DONE DONE: MOV DX, MAX ;便于使用debug查看结果是否正确 MOV AH,4CH INT 21H CODE ENDS END START
运行调试
总结
编写的代码因为少了很多编译的环节,可以能够准确的被执行
作为一种低级语言,可扩展性很高
逻辑清晰