在数据段偏移量为100H开始的存储空间内连续存放着10个字节型无符号二进制数

2025-12-18 05:12:39
推荐回答(2个)
回答1:

我就只写这题的核心代码嘛:
cld ; 这里让df清0.
mov ax,100h
lea si,[ax] ; 这里设置源操作数偏移地址为100h
mov dx,0; dx用来装入各加数之和,先装初始值0.
mov cx,10; cx存循环次数10,可以变成你数据段定义的变量.
L1:
lodsb
add,dx,ax
loop L1; L1这个标号里内面的内容就实现10次加法运算。
mov ax,dx; 最后把dx里面存放的和放到题目中要求的ax中去。

回答2:

data segment
count equ 10
buf db 2,-3,5,8,-9,10,40,-90,4,89
max db ?
min db ?
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov si,0
mov cx,count
dec cx
mov al,buf[si]
mov max,al
mov min,al
next:
inc si
mov al,buf[si]
cmp al,max
jng bdy
mov max,al
jnz next1
bdy:
cmp al,min
jnl next1
mov min,al
next1:
loop next
mov ah,4ch
int 21h
code ends
end start