2个16位无符号数相加 显示结果(微机的) 求程序 汇编语言 微机原理的
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 11:28:07
2个16位无符号数相加 显示结果(微机的) 求程序 汇编语言 微机原理的
2个16位无符号数相加 显示结果(微机的)
求程序 汇编语言 微机原理的
2个16位无符号数相加 显示结果(微机的) 求程序 汇编语言 微机原理的
.486
DATA SEGMENT USE16
SUM DB ,
MESG DB '25+9='
DB 0,0,'$'
N1 DB 9
N2 DB 25
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG:MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET SUM
MOV AH,N1
MOV AL,N2
ADD AH,AL
MOV BYTE PTR [BX],AH
CALL CHANG
MOV AH,9
MOV DX,OFFSET MESG
INT 21H
MOV AH,4CH
INT 21H
CHANG PROC
LAST:CMP BYTE PTR [BX],10
JC NEXT
SUB BYTE PTR [BX],10
INC BYTE PTR [BX+7]
JMP LAST
NEXT:MOV DL,SUM
ADD BYTE PTR [BX+8],DL
ADD BYTE PTR [BX+7],30H
ADD BYTE PTR [BX+8],30H
RET
CHANG ENDP
CODE ENDS
END BEG
以上是计算9+25的汇编语言程序
public double add(int a,int b)
{
double result = a+b;
println(result);
return result;
}
用C写吧
#include
void main(){
int a[16],int b[16],c[16];//c[16]中存放得数
int i,pre=0;//pre进位
for(i=0;i<16;i++){
scanf("%d%d",a+i,b+i);
if(a[i]>9||a[i]<0||b[...
全部展开
用C写吧
#include
void main(){
int a[16],int b[16],c[16];//c[16]中存放得数
int i,pre=0;//pre进位
for(i=0;i<16;i++){
scanf("%d%d",a+i,b+i);
if(a[i]>9||a[i]<0||b[i]>9||b[i]<0) exit(0);
}
for(i=0;i<16;i++){
c[i]=a[i]+b[i]+pr;
if(c[i]>9){
c[i]=c[i]%9;
pr=1;
}
for(i=0;i<16;i++) printf("%d",c[i]);
}
收起