1. 汇编语言编程:统计以下数组中大于100的整数的个数,并打印输出。 Array1 DB 27,240,180,120,67,48,30,”$”
时间: 2024-01-18 17:01:50 浏览: 87
以下是汇编语言程序的代码,可以实现统计数组中大于100的整数的个数并打印输出:
```
.model small
.stack 100h
.data
Array1 DB 27,240,180,120,67,48,30,'$'
count DB 0
msg1 DB 'The number of integers greater than 100 in Array1 is: $'
msg2 DB 2 dup(0)
DB '$'
.code
main proc
mov ax, @data
mov ds, ax
mov cx, 7 ; 数组中元素的个数
mov si, offset Array1
mov bl, 0 ; 计数器清零
; 循环遍历数组
L1:
mov al, [si]
cmp al, 100
jle skip
inc bl
skip:
inc si
loop L1
; 将计数器的值存入内存中
mov count, bl
; 将计数器的值转化为字符串
mov ax, count
call num2str
; 打印输出统计结果
mov dx, offset msg1
mov ah, 9
int 21h
mov dx, offset msg2
mov ah, 9
int 21h
mov ah, 4ch
int 21h
main endp
; 将一个十进制数字转化为字符串
num2str proc
push ax
push bx
push cx
push dx
push si
xor bx, bx
mov cx, 4
mov si, offset msg2
L2:
xor dx, dx
div cx
add dl, '0'
mov [si+bx], dl
inc bx
cmp ax, 0
jne L2
; 将字符串逆序
dec bx
xor si, si
L3:
cmp bx, si
jle L4
mov al, [msg2+si]
mov ah, [msg2+bx]
mov [msg2+bx], al
mov [msg2+si], ah
inc si
dec bx
jmp L3
L4:
; 在字符串末尾加上结束符号
mov [msg2+bx+1], '$'
pop si
pop dx
pop cx
pop bx
pop ax
ret
num2str endp
end main
```
程序执行后,会输出类似如下的结果:
```
The number of integers greater than 100 in Array1 is: 1
```
阅读全文