在内存地址为BUFF开始的单元存放有100个字节的带符号数。编一程序求其平均值并将结果存于x单元;汇编语言
在内存地址为BUFF开始的单元存放有100个字节的带符号数。编一程序求其平均值并将结果存于x单元;求出正数之和与负数之和,分别存于Z和Y字节.用汇编语言写该程序最好带上注...
在内存地址为BUFF开始的单元存放有100个字节的带符号数。编一程序求其平均值并将结果存于x单元;求出正数之和与负数之和,分别存于Z和Y字节.用汇编语言写该程序
最好带上注释 展开
最好带上注释 展开
展开全部
CODE SEGMENT
ASSUME CS:CODE
BUF DB 100 DUP(?) ; 这100个数 你自己设定
N EQU $-BUF
X DB 0
Z DW 0
Y DW 0
START: PUSH CS ; 设定 ds、es 与 cs相同
POP DS
PUSH CS
POP ES
LEA SI,BUF ; 取缓冲区偏移到 si
MOV CX,N ; 设置循环计数器
CLD ; 清方向标志
MOV BX,0 ; 设置 累加变量 初值
@1:
LODSB ; 装入数据到 al
CBW ; 扩展为 字
ADD BX,AX ; 累加
CMP AX,0
JG @2
JL @3
JMP @4
@2:
ADD Z,AX ; 加正数
JMP @4
@3:
ADD Y,AX ; 加负数
@4:
LOOP @1
MOV AX,BX ; 累加 值 转到 ax
MOV BL,N ; 设置除数
IDIV BL ; 带符号 除法
MOV X,AL ; 保存商
MOV AH,4CH
INT 21H
CODE ENDS
END START
追问
大哥能不能帮忙写点注释,大概写写就行
追答
已很详细 !
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询