6. 试编写一个汇编语言程序,求出首地址为BUFF的100D字数组中的最小偶数,并把它存放在AX中

6. 试编写一个汇编语言程序,求出首地址为BUFF的100D字数组中的最小偶数,并把它存放在AX中

data segment
buff dw 100,99,98,97,96,95,94,93,92,91
dw 90,89,88,87,86,85,84,83,82,81
dw 80,79,78,77,76,75,74,73,72,71
dw 70,69,68,67,66,65,64,63,62,61
dw 60,59,58,57,56,55,54,53,52,51
dw 50,49,48,47,46,45,44,43,42,41
dw 40,39,38,37,36,35,34,33,32,31
dw 30,29,28,27,26,25,24,23,22,21
dw 20,19,18,17,16,15,14,13,12,11
dw 10,9,8,7,6,5,4,3,2,1
result dw 100 dup (?)
i dw 0
data ends
stack segment stack
dw 16 dup(0)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,32
mov di,offset buff
mov si,offset result
mov cx,100D
mov bl,2
s:
mov ax,[di]
div bl
cmp ah,0
ja s0
mov ax,[di]
mov [si],ax
add si,2
inc i
s0:
add di,2
loop s

mov si,offset result
mov ax,[si]
mov cx,i
dec cx
add si,2
s1:
mov bx,[si]
cmp ax,bx
jb s2
xchg ax,bx
s2:
add si,2
loop s1

int 3
code ends
end start
温馨提示:内容为网友见解,仅供参考
无其他回答

2.试编写一程序,要求比较数组ARRAY中的三个16位补码数,并根据比较结果...
2.试编写一程序,要求比较数组ARRAY中的三个16位补码数,并根据比较结果在终端上显示如下信息:(1) 如果三个数都不相等则显示0;(2) 如果三个数有二个数相等则显示1;(3) 如果三个数都相等则显示2。答;Int ARRAY[3];Int sub[3],i;Sub[0] = ARRAY[0] - ARRAY[1];Sub[1] = ARRAY...

debag命令介绍
u (Unassemble) 反汇编 u [address ]或range w (Write) 存盘 w [address[driver sector secnum> ? 联机帮助 ? debug小汇编a命令 debug小汇编a命令是一个很有用的功能,许多的小程序都要他来做。 编一些小程序比汇编要来得方便,快洁。 在Debug中,中断是非常有用的,首先,让我们先了解一下中断。 所谓中...

请问有谁知道具体的debug命令来查询主板生产日期?
单击“开始”,“运行”,输入“debug”,“确定”,里面会出现 “—” 然后你输入“d ffff:0 10”,回车就可以看见了

相似回答