利用汇编语言编写程序
发布网友
发布时间:2022-05-16 03:54
我来回答
共2个回答
热心网友
时间:2023-07-30 15:35
网友采纳答案,用错了语言。
题目说:片内RAM...,这应该是 51 单片机的。
下面的程序,是求A、B的平方和,存入C单元。
MOV A, 30H
CALL FING_FANG
MOV 32H, A
MOV A, 31H
CALL FING_FANG
ADD A, 32H
MOV 32H, A
SJMP $
FING_FANG:
MOV B, A
MUL AB
RET
END
热心网友
时间:2023-07-30 15:35
C2,a2, b2表示c/a/b平方?c2=a2+b2表示要判断直角三角形是否成立?还是将两个平方和放入C,如果是,c平方又是何意?
ORG 30H; ORG表示从30H开始,不知道你用什么汇编程序,这里借用ASM86的汇编指令,下同。分号后为注释
a DB ? ; DB表示定义一个字节空间的变量
b DB ?
c DW 2 DUP(0) ; 两个字节的乘法可能导致一个字的结果,在结合加法,可能需要两个字,或者三个字节;DUP表示重复;直接清零先;假定高位在低地址。
CODE SEGMENT ;表示代码段开始
MOV AL, a; 字节乘法:AX<--AL*OPR
MUL BYTR PTR a
MOV BX, AX; 将结果暂存在BX中
MOV AL, b; 字节乘法:AX<--AL*OPR
MUL BYTR PTR b
ADD AX,BX; 将上次乘积结果和本次乘法结果累加
MOV c+1, AX; 将累加结果放入c
JNC NO_CARRY; 不进位则直接结束
MOV AX, 1;
MOV c, AX;
NO_CARRY: HALT; 停机指令
追问是平方的意思,勾股,请将命令写出来就好了,你这样太乱看不懂