早教吧作业答案频道 -->其他-->
判断3个数的关系紧急求助!求完整汇编代码,最好加注释(至少在关键处加下撒),感激不尽!已知数据块BUF中存放3个字数据,是编写一个程序判断这3个数的关系:如果3个数相等,则显示“Allequal
题目详情
判断3个数的关系紧急求助!
求完整汇编代码,最好加注释(至少在关键处加下撒),感激不尽!
已知数据块BUF中存放3个字数据,是编写一个程序判断这3个数的关系:如果3个数相等,则显示“All equal.”;如果有任意两个数相等,则显示“Only two equal.”;如果三个数各不相同,则显示“All three different from each other.”.
求完整汇编代码,最好加注释(至少在关键处加下撒),感激不尽!
已知数据块BUF中存放3个字数据,是编写一个程序判断这3个数的关系:如果3个数相等,则显示“All equal.”;如果有任意两个数相等,则显示“Only two equal.”;如果三个数各不相同,则显示“All three different from each other.”.
▼优质解答
答案和解析
楼上的程序判断部分是对的,但程序无法编译通过(全角符号),结构上也有一个小问题.另外子程序用不着写3个,一个足够.
DATA SEGMENT
BUF DW 1,2,3 ;三个数据
DISP1 DB 'ALL EQUAL$'
DISP2 DB 'ONLY TWO equal$'
DISP3 DB 'ALL THREE DIFFRENT FROM EACH OTHER$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
main proc far
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF ;地址指针
MOV AX,[SI]
CMP AX,[SI+2] ;第一个数比第二个数
JNZ L1 ;1,2不相等则跳转
CMP AX,[SI+4] ;接上面,1,2相等的话比较1,3
JNZ L2
LEA DX,DISP1 ;不相等则跳转,显示两个相等
CALL PRINT1 ;否则全相等,调用子程序显示
JMP QUIT
L1:CMP AX,[SI+4] ;此处是在1,2不相等的条件下比较1,3
JZ L2 ;相等的话即有两个相等跳转至L2(显示DISP2)
MOV AX,[SI+2]
CMP AX,[SI+4] ;1,3不相等,1,2不相等,比较2,3
JZ L2
LEA DX,DISP3 ;2,3相等的话也是两个相等,同样跳转至L2
CALL PRINT1 ;否则没有相等的,调用子程序显示disp3
JMP QUIT
L2:
LEA DX,DISP2
CALL PRINT1
QUIT:MOV AX,4C00H
INT 21H
main endp
;
;子程序部分
PRINT1 PROC
MOV AH,09H
INT 21H ;调用功能显示都相等
RET
PRINT1 ENDP
CODE ENDS
END START
DATA SEGMENT
BUF DW 1,2,3 ;三个数据
DISP1 DB 'ALL EQUAL$'
DISP2 DB 'ONLY TWO equal$'
DISP3 DB 'ALL THREE DIFFRENT FROM EACH OTHER$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
main proc far
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF ;地址指针
MOV AX,[SI]
CMP AX,[SI+2] ;第一个数比第二个数
JNZ L1 ;1,2不相等则跳转
CMP AX,[SI+4] ;接上面,1,2相等的话比较1,3
JNZ L2
LEA DX,DISP1 ;不相等则跳转,显示两个相等
CALL PRINT1 ;否则全相等,调用子程序显示
JMP QUIT
L1:CMP AX,[SI+4] ;此处是在1,2不相等的条件下比较1,3
JZ L2 ;相等的话即有两个相等跳转至L2(显示DISP2)
MOV AX,[SI+2]
CMP AX,[SI+4] ;1,3不相等,1,2不相等,比较2,3
JZ L2
LEA DX,DISP3 ;2,3相等的话也是两个相等,同样跳转至L2
CALL PRINT1 ;否则没有相等的,调用子程序显示disp3
JMP QUIT
L2:
LEA DX,DISP2
CALL PRINT1
QUIT:MOV AX,4C00H
INT 21H
main endp
;
;子程序部分
PRINT1 PROC
MOV AH,09H
INT 21H ;调用功能显示都相等
RET
PRINT1 ENDP
CODE ENDS
END START
看了判断3个数的关系紧急求助!求完...的网友还看了以下:
求高手解答2道数学关于奇偶性的题1) 已知函数f(x+1)为奇函数 ,函数f(x-1)为偶函数,且 2020-05-16 …
已知函数f(x)为定义在(-6,6)上的偶函数,且f(x)d在(-6,0]上为增函数,解关于m的不 2020-06-08 …
微积分方程,已知函数fx与其导函数f'x的关系为f'x=(fx)^2-g(g为常量),求f(x)表 2020-06-10 …
涵数F(X)有关定义域1.设涵数F(X)=2X-1则F(X+1)F(F(X))2.涵数F(X)的定 2020-06-29 …
对数函数相关选择已知偶函数f(x)在[2,4]上单调递减,则有()A.f(log½8)>f(-x) 2020-07-30 …
已知函数f:[a,b]→R(实数集合),且对于任意x,y∈[a,b],f[(x+y)/2]≤[f( 2020-08-01 …
1.1nmile约合1852m,根据这一关系写出米数y关于海里数x的函数解析式2.已知函数h(x)= 2020-12-08 …
已知f(x)的定义域为[-4,3]则函数F(x)=f(x)-f(-x)的定义域是但是我不知道为什么老 2020-12-08 …
已知复合函数的关系式,求原函数的关系式.已知函数f(x)满足f(2x+1)=1-2x,则f(x)= 2021-01-14 …
已知函数f(x)=log2(1+ax/1-x)是奇函数急求!是高一的数学!已知函数f(x)=log2 2021-01-31 …