程序解释(微型计算机8086的通用指令)

程序解释(微型计算机8086的通用指令),第1张

OFFSET BLOCK是指在前面数据段定义的名为BLOCK的一段数据的起始便宜地址

通常在前面可以看见类似如下的代码

DATA SEGMENT PARA PUBLIC 'DATA'

BLOCKDB **H,**H,**H,**H

DATAENDS

MOV BX,OFFSET BLOCK就是把BLOCK的第一个地址存入了BX

2.MOV A,[BX]就是把这个地址所指向的内容存入AX

由于存的是AX是字型,所以是讲BLOCK的前两个字节的内容以字的形式存入AX

3.INC BXINC BX。由于是字,所以偏移量应加2

3.MOV CX,99

定义了程序循环比较次数不超过99.由后面的DEC CXJNZ AGAIN配合使用

4.CMP AX,[BX]。将偏移量改变后的内容和改变之前已经移入AX的前一个数进行比较。

5.JG 为判断。如果前一个值大于后一个值,则跳转到NEXT。NEXT处为地址再次加2,如果没有超过99次,就拿前一个数比较再下一个数。

如果前一个值不大于后一个值,则将当前值存入AX,然后地址再次加2,如果没有超过99次,就拿这个数比较下一个数。

6.跳转到NEXT后则再次比较。

总的来说 这个程序是在BLOCK数据段以字的形式,找出其中最大的数。并把这个数存入MAX。

xxxx0是个十六进制数,最后一位是0的话转换为十进制定会被16整除, 不信你试试,这是因为前四位分别是16的倍数,最后一位是0,加起来还是16的倍数。

堆栈是一种形象的说法,sp指针指向某一地址,成为栈底,数据从栈底开始向上保存,取出的时候按照后进先出的原则,实际是一种保护数据的方式,在微机原理中很重要。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存