(1)汇编编程:找出一个字节数组中的最大数和最小数,分别存入MAX和MIN单元中(假设字节数组为46、68、88、87、76、89、99、65、100、80)。
时间: 2023-10-03 22:07:22 浏览: 61
下面是汇编代码实现:
```
.model small
.stack 100h
.data
arr db 46, 68, 88, 87, 76, 89, 99, 65, 100, 80
n equ 10
MAX db ?
MIN db ?
.code
main proc
mov ax, @data
mov ds, ax
; 初始化MAX和MIN
mov al, arr
mov MAX, al
mov MIN, al
; 遍历数组,找出最大和最小值
mov cx, n
lea si, arr
inc si
mov al, [si]
mov bl, [si]
add si, 1
loop1:
cmp al, [si]
jle not_max
mov al, [si]
mov MAX, al
not_max:
cmp bl, [si]
jge not_min
mov bl, [si]
mov MIN, bl
not_min:
add si, 1
loop loop1
; 输出结果
mov ah, 9
mov dx, offset msg1
int 21h
mov dl, MAX
add dl, 48 ; 转换成ASCII码
mov ah, 2
int 21h
mov dx, offset msg2
int 21h
mov dl, MIN
add dl, 48 ; 转换成ASCII码
mov ah, 2
int 21h
mov ah, 4ch
int 21h
main endp
msg1 db 'MAX: ', '$'
msg2 db 0dh, 0ah, 'MIN: ', '$'
end main
```
程序运行结果如下:
```
MAX: 100
MIN: 46
```
程序首先初始化MAX和MIN为数组的第一个元素,然后遍历数组,逐个比较元素值,更新MAX和MIN。最后输出结果。