THIS IS B3c0me

记录生活中的点点滴滴

0%

汇编语言条件语句

汇编语言中的条件语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include<stdio.h>
#include<stdlib.h>

char getGrade(int grade) {
if (grade < 60) {
return 'F';
}
else if (grade == 60) {
return 'E';
}
else {
return 'D';
}
}

char __declspec(naked) getGradeByAsm(int grade) {
__asm {
//保存环境
push ebp;
mov ebp,esp;

//函数体

mov ebx,[grade];
cmp ebx,60;
jge elseif;
mov eax, 'F';
jmp fun_end;


elseif:
cmp ebx,60;
jne elseif2;
mov eax, 'E';
jmp fun_end;
elseif2:
mov eax, 'D';
jmp fun_end;


fun_end:
//恢复环境
mov esp, ebp;
pop ebp;

//返回
ret
}
}

int main()
{
int grade = 0;
scanf_s("%d", &grade);
printf("%c",getGradeByAsm(grade));

}

欢迎关注我的其它发布渠道