请编制程序,其功能是:内存中连续存放着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]有点不明白,望高手指点迷津,谢谢。。。
- [maplezxcwc] 恩恩~~~谢谢老师的评价,我会继续努力。 05/18 13:16
- [tomato] 另外,希望博主能够将这本汇编书中的每个检测点和实验都完成一遍,很重要的,可以将完成的内容贴到博客中哦 05/17 21:49
- [tomato] 虽然是一次含金量不高的考试,但看得出,博主还是费了不少努力,也有相应的成就感,同时,博主还是一个热心 05/17 21:47
- [maplezxcwc] 哦 恍然大悟 谢谢老师 02/19 20:12
- [tomato] sub ax,2 是因为2,3,4,5,6,7,8是从2开始的,而偏移地址是从0开始的,所以,要减去 02/19 12:58
- [maplezxcwc] 老师,我就是不能明白为什么把这个的偏移地址-2呢?作用是什么? 02/19 11:23
- [tomato] 偏移地址减二,然后取内容。 02/19 11:17
- [maplezxcwc] 哦哦,是测试题吧。。。 02/16 17:05
- [tomato] 怎不见博主发作业? 02/15 22:50
[ 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 ]
哦 恍然大悟 谢谢老师