内容:
设计一个单循环程序,要求找出一组数组中最大的奇数,存到AX中,数组如下:
37,3,12,28,19,61,42,91,32,98,77,68,69
思路:
单循环,逐个存储单元通过:
mov al, buf[si]
test al, 01h
判断该数字是否为奇数,并比较大小。
8086:
stacks segment 'stack'
stapn db 100h dup(?)
top equ length stapn
stacks ends
data segment
buf db 37, 3, 12, 28, 19, 61, 42, 91, 32, 98, 77, 68, 69
max db ? ;存储最大奇数
count equ ($ - buf) ;计算数组个数
output db 'The biggest odd number is: ', '$'
data ends
;打印字符串
print macro b
lea dx, b
mov ah, 9
int 21h
endm
;输出两位数字
print_num macro b
push ax
push bx
push dx
mov al, b
mov ah, 0
mov bl