汇编程序分析分析,求助BLOCK DB 10H,32H,08H,81H,0F0H,......RESULT DB ?ST

汇编程序分析分析,求助
BLOCK DB 10H,32H,08H,81H,0F0H,......
RESULT DB ?
START:MOV SI,OFFSET BLOCK
MOV CH,0
MOV CL,[SI]
DEC CX
INC SI
MOV AL,[SI]
AGAIN:CMP AL,[SI+1]
JLE NEXT
MOV AL,[SI+1]
NEXT:INC SI
LOOP AGAIN
MOV RESULT,AL
问:(1)该程序的功能是什么?
(2)该程序的循环多少次?
能帮我分析一下过程吗?
刺头愣子 1年前 已收到1个回答 举报

fengwestfeng 春芽

共回答了16个问题采纳率:87.5% 举报

BLOCK DB 10H,32H,08H,81H,0F0H,...... ;定义数据,第1个字节为数据个数
RESULT DB ? ;保存最小值查找结果
START:MOV SI,OFFSET BLOCK ; SI指向BLOCK首址
MOV CH,0
MOV CL,[SI] ; 取第1个字节(数据个数)到CX(CH置0,CL存取得的字节类型数)
DEC CX ; 循环比较的次数为数据个数减1(10H即16个数,比较15次)
INC SI ; SI 加1,指向后面的第一个数据
MOV AL,[SI] ;取第一个数据到AL
AGAIN:CMP AL,[SI+1] ; 将AL中内容与下一个数据比较
JLE NEXT ; 如果AL中数据(有符号数)小于或等于下一个数据,跳过
MOV AL,[SI+1] ;否则,AL中数据是大数,则将后面的小数取到AL中
NEXT:INC SI ; 指针SI加1,指向下一个数
LOOP AGAIN ; 循环15次(10H - 1)
MOV RESULT,AL ; 循环结束后,将AL中的最小值结果存入RESULT
答:
(1)该程序的功能,是找出BLOCK中若干个8位有符号数中的最小数。BLOCK第一个字节为数据个数。
(2)该程序循环15次。

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.084 s. - webmaster@yulucn.com