怎样用汇编语言完成3个个位数的比较大小
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/20 17:50:33
怎样用汇编语言完成3个个位数的比较大小
原先写过一个类似的,你可以参考一下,
题目:1试编写一个汇编语言程序,要求从键盘接收三个16进制数,并根据对三个数的比较显示出如下信息:
(1)如果三个数都不相等则显示ALL NOT EQU;
(2)如果三个数有两个数相等则显示TWO EQU;
(3)如果三个数都相等,则显示ALL EQU.
程序:
data segment
string1 db 16 dup(?)
string2 db 16 dup(?)
string3 db 16 dup(?)
string4 db 'ALL NOT EQU'
string5 db 'TWO EQU'
string6 db 'ALL EQU'
data ends
code segment
main proc far
assume ds:data,cs:code
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov cx,16
mov bx,0
loop1: mov ah,1
int 21h
mov string1[bx],al
inc bx
loop loop1
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,16
mov bx,0
loop2: mov ah,1
int 21h
mov string2[bx],al
inc bx
loop loop2
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,16
mov bx,0
loop3: mov ah,1
int 21h
mov string3[bx],al
inc bx
loop loop3
mov dx,0
mov di,data
mov ds,di
mov es,di
mov cx,16
cld
lea si,string1
lea di,string2
repe cmpsb
jne a
jmp jiajiayi
a: mov cx,16
cld
lea si,string1
lea di,string3
repe cmpsb
jne b
jmp z
b: mov cx,16
cld
lea si,string2
lea di,string3
repe cmpsb
jne shuchu
jmp y
jiajiayi:
inc dx
jmp a
y: add dx,1
jmp shuchu
z: inc dx
jmp shuchu
shuchu: cmp dx,0
je shuchu0
cmp dx,1
je shuchu1
cmp dx,2
je shuchu2
shuchu0:mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,11
mov bx,0
loop10: mov dl,string4[bx]
mov ah,2
int 21h
inc bx
loop loop10
jmp exit
shuchu1:mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,7
mov bx,0
loop11: mov dl,string5[bx]
mov ah,2
int 21h
inc bx
loop loop11
jmp exit
shuchu2:mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,7
mov bx,0
loop12: mov dl,string6[bx]
mov ah,2
int 21h
inc bx
loop loop12
jmp exit
exit: ret
main endp
code ends
end start
题目:1试编写一个汇编语言程序,要求从键盘接收三个16进制数,并根据对三个数的比较显示出如下信息:
(1)如果三个数都不相等则显示ALL NOT EQU;
(2)如果三个数有两个数相等则显示TWO EQU;
(3)如果三个数都相等,则显示ALL EQU.
程序:
data segment
string1 db 16 dup(?)
string2 db 16 dup(?)
string3 db 16 dup(?)
string4 db 'ALL NOT EQU'
string5 db 'TWO EQU'
string6 db 'ALL EQU'
data ends
code segment
main proc far
assume ds:data,cs:code
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov cx,16
mov bx,0
loop1: mov ah,1
int 21h
mov string1[bx],al
inc bx
loop loop1
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,16
mov bx,0
loop2: mov ah,1
int 21h
mov string2[bx],al
inc bx
loop loop2
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,16
mov bx,0
loop3: mov ah,1
int 21h
mov string3[bx],al
inc bx
loop loop3
mov dx,0
mov di,data
mov ds,di
mov es,di
mov cx,16
cld
lea si,string1
lea di,string2
repe cmpsb
jne a
jmp jiajiayi
a: mov cx,16
cld
lea si,string1
lea di,string3
repe cmpsb
jne b
jmp z
b: mov cx,16
cld
lea si,string2
lea di,string3
repe cmpsb
jne shuchu
jmp y
jiajiayi:
inc dx
jmp a
y: add dx,1
jmp shuchu
z: inc dx
jmp shuchu
shuchu: cmp dx,0
je shuchu0
cmp dx,1
je shuchu1
cmp dx,2
je shuchu2
shuchu0:mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,11
mov bx,0
loop10: mov dl,string4[bx]
mov ah,2
int 21h
inc bx
loop loop10
jmp exit
shuchu1:mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,7
mov bx,0
loop11: mov dl,string5[bx]
mov ah,2
int 21h
inc bx
loop loop11
jmp exit
shuchu2:mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov cx,7
mov bx,0
loop12: mov dl,string6[bx]
mov ah,2
int 21h
inc bx
loop loop12
jmp exit
exit: ret
main endp
code ends
end start
用汇编语言比较三个位数的大小,如果三个数相等 输出等号,如果三个不同 按从大到小的顺序输出,急用 !
汇编语言-简单的比较无符号数
通过查表单元方法,怎样用汇编语言完成下式运算:x=A^2+B^2,式中A、B为1~9的数
举例子说明怎样比较两个多位数的大小.
比较两个整数的大小,位数( )的数比较大,位数相同,从( )开始比较,最高位上大的数就大.
怎样用一个电压表,电源,开关,导线来比较两个小灯泡电阻的大小?
怎样用电机控制力的大小?
比较两个小数的大小,小数位数多的那个小数大.是对还是错
比较数的大小,如果位数不相同,位数多的数就(),如果位数相同,()位上的数大的那个数就()
有10箱苹果,其中9箱个个1斤重,1箱个个9两重,问,怎样用称一次找出9两重的果箱?
比较两个数的大小,首先看他们的位数是否相同,如果位数不同,那么位数()的数就大,如果位数相同,看()起第一位上的数字大的
怎样用最快的方式完成作业