鱼C论坛

 找回密码
 立即注册
查看: 1648|回复: 4

一个汇编题,代码有些不懂,求指点

[复制链接]
发表于 2013-5-9 14:45:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写程序,把ARRAY1ARRAY220个字节数分别相加,结果放到TABLE中。
(1)假定数据为无符号数,如果结果大于255则结果为255.
DATA SEGMENT
                     ARRAY1 DB 20 DUP(?)
                     ARRAY2 DB 20 DUP(?)
                                         TABLE  DB 20 DUP(?)
                  DATA ENDS
                  CODE SEGMENT
                      ASSUME CS:CODE,DS:DATA
                START:MOV AX,DATA
                      MOV DS,AX
                      MOV CX,20
                      MOV SI,0
                AGAIN:MOV AL,ARRAY1[SI]
                      ADD AL,ARRAY2[SI]
                      JC  LABEL1 
                      MOV TABLE[SI],AL
                      JMP LABEL2
               LABEL1:MOV TABLE[SI],255
               LABEL2:INC SI
                      LOOP AGAIN
                      MOV AH,4CH
                      INT 21H
                  CODE ENDS
                      END START 
有条指令JC LABEL1
不明白为什么要这一条?求解

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-9 14:51:25 | 显示全部楼层
soga,看了许久没明白,原来题目理解错了.....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-9 15:37:02 | 显示全部楼层
JC == jmp if carry    //如果进位 则跳转   
前面一个语句 ADD AL,ARRAY2[SI]  可能超过255  根据题目要求  出现这种情况的话  应当将值设置为255
(MOV TABLE[SI],255)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-11 13:10:24 | 显示全部楼层
无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-12 22:20:36 | 显示全部楼层

嗯,之前题目理解错了,所以一直搞不明白..现在明白了...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 18:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表