汇编 两个十进制数的加法 帮我做个流程图就够了!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编 两个十进制数的加法 帮我做个流程图就够了!相关的知识,希望对你有一定的参考价值。
程序很简单,帮忙用word做个流程图,截图发上来就可以了
data segment
temp dw ?
data ends
decihex segment
assume cs:decihex,ds:data
main proc far
nexts:
call decibin
mov temp,bx
call decibin
mov ax,temp
add bx,ax
call hexibin
call crlf
call binihex
call crlf
jmp nexts
main endp
hexibin proc near
mov ax,bx
mov cx,1h
xor bx,bx
loop2:mov dl,10d
div dl
mov dl,ah
xor ah,ah
cbw
mov temp,ax
xor ax,ax
mov al,dl
cbw
mul cx
add bx,ax
mov ax,cx
mov dx,10h
mul dx
mov cx,ax
mov ax,temp
cmp ax,0d
je exit2
jne loop2
exit2:
ret
hexibin endp
binihex proc near
mov ch,4
rotate: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printit
add al, 7h
printit: mov dl, al
mov ah, 2
int 21h
dec ch
jnz rotate
ret
binihex endp
decibin proc near
mov bx,0
newchar:mov ah,1
int 21h
sub al,30h
jl exit
cbw
xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit: ret
decibin endp
crlf proc near
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
ret
crlf endp
decihex ends
end main
C语言_7运算符!看这篇就够了
一、算术运算符
1.加法运算符+
#include<stdio.h>
int main()
int a=2;
int b=3;
printf("a+b=%d\\n",a+b);
return 0;
运行结果:
2.减法运算符-
#include<stdio.h>
int main()
int a=4;
int b=3;
printf("a-b=%d\\n",a-b);
return 0;
运行结果:
3.乘法运算符*
#include<stdio.h>
int main()
int a=4;
int b=3;
printf("a*b=%d\\n",a*b);
return 0;
运行结果:
4.除法运算符/
#include<stdio.h>
int main()
int a=4;
int b=3;
printf("a/b=%d\\n",a/b);
//整型和整型相除等于整型
return 0;
运行结果:
#include<stdio.h>
int main()
float a=5;
float b=2;
printf("a/b=%\\n",a/b);
//浮点型相除结果为浮点型
return 0;
运行结果:
5.求余运算符%
#include<stdio.h>
int main()
int a=5;
int b=2;
printf("%d\\n",a%b);
return 0;
6.自增自减运算符
(1).前缀模式
- ++运算对象;//表示在本次使用变量前自增
- --运算对象;//表示在本次使用变量前自减
#include<stdio.h>
int main()
int a=10;
int b=10;
printf("++a的值是:%d\\n--b的值是:%d\\n",++a,--b);
printf("a的值是:%d\\nb的值是:%d\\n",a,b);
return 0;
运行结果:
(2).后缀模式
- 运算对象++;//表示在本次使用变量后再自增
- 运算对象--;//表示在本次使用变量后再自减
#include<stdio.h>
int main()
int a=10;
int b=10;
printf("a++的值是:%d\\nb++的值是:%d\\n",a++,b++);
printf("a的值是:%d\\nb的值是:%d\\n",a,b);
return 0;
运行结果:
二、赋值运算符
运算符 | 用法 |
简单赋值= | c=a+b将把a+b的值赋给c |
加法赋值+= | c+=a相当于c=c+a |
减法赋值-= | c-=a相当于c=c-a |
乘法赋值*= | c*=a相当于c=c*a |
除法赋值/= | c/=a相当于c=c/a |
求模赋值%= | c%=a相当于c=c%a |
#include<stdio.h>
int main()
int a=10;
int b=2;
int c=20;
c=a;
printf("c=%d\\n",c);
c+=a;
printf("c=%d\\n",c);
c-=b;
printf("c=%d\\n",c);
c*=b;
printf("c=%d\\n",c);
c=200;
c/=a;
printf("c=%d\\n",c);
c=111;
c%=a;
printf("c=%d\\n",c);
return 0;
运行结果:
三、关系运算符
- 大于>
- 大于等于>=
- 小于<
- 小于等于<=
- 不等于!=
- 等于==(用于测试左右两边的运算对象是否相等)
#include<stdio.h>
int main()
printf("%d\\n",1>2);//关系不成立为假,用0表示假
printf("%d\\n",1<2);//关系成立为真,用1表示真
return 0;
运行结果:
#include<stdio.h>
int main()
printf("%d\\n",10==10);
printf("%d\\n",10==9);
printf("%d\\n",10!=10);
printf("%d\\n",10!=9);
return 0;
运行结果:
四、逻辑运算符
- 逻辑与&&
- 逻辑或||
- 逻辑非!
//错误示例
#include<stdio.h>
int main()
printf("%d\\n",2<=3<=10);
printf("%d\\n",2<=0<=10);
return 0;
运行结果出现错误:所以引入与(&&)和非(|)
1.逻辑与和逻辑非的应用
#include<stdio.h>
int main()
int a = 10;
int b = 20;
int c;
printf("请输入一个整数:");
scanf("%d", &c);
if (a <= c && c <= b)
printf("a<=c<=b\\n");
if (c <= a || c >= b)
printf("c的值不在ab之间");
return 0;
五、位运算符
1.六种位运算符
位运算符 | 含义 | 举例 |
&(and) | 按位与 | a&b |
| (or) | 按位或 | a|b |
^ (xor) | 按位异或 | a^b |
~ (not) | 按位取反 | ~a |
<<(shi) | 左移 | a<<1 |
>>(shr) | 右移 | a>>1 |
2.位逻辑运算规则
a | b | a&b | a|b | a^b | ~a | ~b |
0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 | 0 |
六、条件运算符(?和:)
c=(a>b)?a:b;
表示如果a大于b,那么a赋值给c,否则把b赋值给c;
//等价于:
if(a>b)
c=a;
else
c=b;
七、逗号运算符
- 其功能是把两个表达式连接起来组成一个表达式
#include<stdio.h>
int main()
int a=2,b=3,c=4,x,y;
y=a+b,x=b+c;
printf("y=%d,x=%d",y,x);
return 0;
八、运算符优先级
图片来自360百科
以上是关于汇编 两个十进制数的加法 帮我做个流程图就够了!的主要内容,如果未能解决你的问题,请参考以下文章