.解决方法:该程序不应用无符号数的跳转,因此,需要把JBE改为JLE修改后代码:DSEGSEGMENTMSGDB4,-2,-6,0,5,67,8,-3,5,6MDB?DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVCX,10MOVAL,0LEASI,MSGL1:MOVBL,[SI]CMPBL,0JLENEXTINCALNEXT:INCSILOOPL1MOVM,ALMOVAX,4C00HINT21HCSEGENDSENDSTART修改后结果:(7)假设有一组数据:5,-4,0,3,100,-51请编一程序,判断:每个数大于0,等于0,还是小于0;并将最终结果存于以result为存储的字节单元中,(ResultDB6dup(?))即:?1当x>0y= 0当x=0-1当x<0编程提示:1.首先将原始数据装入起始地址为XX的字节存储单元中。2.其中判断部分可采用CMP指令,得到一个分支结构,分别输出“y=0”,“y=1”,“y=-1”。将结果存入result的相应单元3.程序中存在一个循环结构,循环6次,调用6次分支结构后结束。a.设计思路:该实验主要的两大步就是“与0比较”和“将结果存入result的相应单元”,因此,需要用指针来实现。b.程序代码:?dsegsegmentmsgdb5,-4,0,3,100,-51resultdb6dup(?)dsegendscsegsegmentassumecs:cseg,ds:dsegstart:movax,dsegmovds,axmovcx,6//循环6次leasi,msg//取msg的首地址放在si中leadi,result//取result的首地址放在result中l1:movbl,[si]//把si的内容放入bl中cmpbl,0//比较bl与0的大小