鱼C论坛

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

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

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

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

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

x
编写程序,把ARRAY1ARRAY220个字节数分别相加,结果放到TABLE中。
(1)假定数据为无符号数,如果结果大于255则结果为255.
  1. DATA SEGMENT
  2.                      ARRAY1 DB 20 DUP(?)
  3.                      ARRAY2 DB 20 DUP(?)
  4.                                          TABLE  DB 20 DUP(?)
  5.                   DATA ENDS
  6.                   CODE SEGMENT
  7.                       ASSUME CS:CODE,DS:DATA
  8.                 START:MOV AX,DATA
  9.                       MOV DS,AX
  10.                       MOV CX,20
  11.                       MOV SI,0
  12.                 AGAIN:MOV AL,ARRAY1[SI]
  13.                       ADD AL,ARRAY2[SI]
  14.                       JC  LABEL1
  15.                       MOV TABLE[SI],AL
  16.                       JMP LABEL2
  17.                LABEL1:MOV TABLE[SI],255
  18.                LABEL2:INC SI
  19.                       LOOP AGAIN
  20.                       MOV AH,4CH
  21.                       INT 21H
  22.                   CODE ENDS
  23.                       END START
复制代码
有条指令JC LABEL1
不明白为什么要这一条?求解

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

嗯,之前题目理解错了,所以一直搞不明白..现在明白了...
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-6 20:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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