汇编网首页登录博客注册
maplezxcwc的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
文章收藏
友情链接

[2012-02-19 10:56] 怎么是SUB BX,2?????

请编制程序,其功能是:内存中连续存放着20个无符号8位二进制数,每个数为摇号机一次摇出的两个号码的压缩BCD码表示。每个号码为1至4之间的数。现统计此20次摇号中两号码相加值分别为2、3、4、5、6、7、8的次数,将结果存入内存。

  例如:

  内存中有 12H,32H,31H,11H,22H,24H,41H,44H,11H,14H,

  33H,21H,13H,33H,23H,42H,22H,34H,43H,11H

  结果为 03H,02H,04H,04H,04H,02H,01H
LEA SI,SOURCE

  MOV CX,20

  AGN0: MOV BX,0

  MOV AH,[SI]

  MOV AL,AH

  AND AL,0FH

  AND AH,0F0H

  PUSH CX

  MOV CX,4

  AGN1: SHR AH,1

  LOOP AGN1

  POP CX

  ADD AL,AH

  ADD BL,AL

  ADC BH,0

  SUB BX,2

  INC SOURCE[BX]

  INC SI

  NEXT: LOOP AGN0



就是SUB BX,2   INC SOURCE[BX]有点不明白,望高手指点迷津,谢谢。。。
评论次数(4)  |  浏览次数(403)  |  类型(汇编小问题) |  收藏此文  | 

[  tomato   发表于  2012-02-19 11:17  ]

偏移地址减二,然后取内容。

[  maplezxcwc   发表于  2012-02-19 11:23  ]

老师,我就是不能明白为什么把这个的偏移地址-2呢?作用是什么?

[  tomato   发表于  2012-02-19 12:58  ]

sub ax,2 是因为2,3,4,5,6,7,8是从2开始的,而偏移地址是从0开始的,所以,要减去2这个偏移量。

INC SOURCE[BX] 这个是增加次数。

[  maplezxcwc   发表于  2012-02-19 20:12  ]

哦 恍然大悟 谢谢老师

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码