循环程序设计!微机实验急用!!!!

循环程序设计!微机实验急用!!!!,第1张

DATAS SEGMENT

NUM DB 10

DATA DB 10 ,0,12,-1,2,20,32,0,-14,25

X DB 0

Y DB 0

Z DB 0

DATAS ENDS

STACKS SEGMENT

此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

MOV SI,OFFSET DATA

MOV CL,NUM

LOOP1:

MOV BL ,[SI]

CMP BL ,0H

JS SMALL

JE O

INC X

JMP GOON

O:INC Z

JMP GOON

SMALL:INC Y

GOON: INC SI

LOOP LOOP1

MOV AH,4CH

INT 21H

CODES ENDS

END START

楼主程序有两个明显错误:

(1)第3行指令 MOV BH,00 使首行指令MOV BX,0100 作废,

        使 BX = 0000,导致后面的指令MOV AL,[BX]读入AL的不是成绩数据。

(2)在DEGUG 环境输入程序,数值不加后缀H,默认为16进数,

         例如楼主程序中的 CMP AL,60,其中60默认为16进制数,即96D,

         导致统计结果错误。

我修改的程序及运行结果如以下截图所示,供参考:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11074814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存