用汇编语言求10个数(8位)中奇数的最小值
答案:1 悬赏:40
解决时间 2021-03-11 23:58
- 提问者网友:小姐请专情
- 2021-03-11 16:23
最好先运行成功
最佳答案
- 二级知识专家网友:说多了都是废话
- 2021-03-11 16:37
没明白意思。奇数的最小值?是指10个数中的只判断是奇数的数,还是说,判断这10个数中奇数位上的数字?
我先按奇数位上的数字进行比较,因为给出的10个数字,未必有奇数存在。
Assume cs:code, ds:data
data segment
dat db 12,11,3,14,83,17,56,73
cnt equ ($-dat)/2
m db 127
s db 'The minimum number is :$'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si,0
mov cx, cnt
L1:
mov al,dat[si]
cmp al,m
ja L2
mov m, al
L2:
inc si
inc si
loop L1
lea dx, s
mov ah,9
int 21h
mov al, m
xor ah,ah
call print
mov ah,4ch
int 21h
print proc near
mov bx,10
xor cx,cx
Q0:
xor dx,dx
div bx
or dx,0e30h
push dx
inc cx
cmp ax,0
jnz Q0
Q1:
pop ax
int 10h
loop Q1
ret
print endp
code ends
end start
我先按奇数位上的数字进行比较,因为给出的10个数字,未必有奇数存在。
Assume cs:code, ds:data
data segment
dat db 12,11,3,14,83,17,56,73
cnt equ ($-dat)/2
m db 127
s db 'The minimum number is :$'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si,0
mov cx, cnt
L1:
mov al,dat[si]
cmp al,m
ja L2
mov m, al
L2:
inc si
inc si
loop L1
lea dx, s
mov ah,9
int 21h
mov al, m
xor ah,ah
call print
mov ah,4ch
int 21h
print proc near
mov bx,10
xor cx,cx
Q0:
xor dx,dx
div bx
or dx,0e30h
push dx
inc cx
cmp ax,0
jnz Q0
Q1:
pop ax
int 10h
loop Q1
ret
print endp
code ends
end start
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯