首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Intel 8080:乘法溢出

Intel 8080:乘法溢出
EN

Stack Overflow用户
提问于 2015-02-11 05:50:39
回答 1查看 813关注 0票数 1

我有一个8080处理器的模拟器。我需要编写一个程序,它可以用移位和加法的操作将两个两位数字相乘(因此,我可以期望四位数)。

据我所知,intel-8080中的所有数学运算都是在寄存器'A‘中进行的,但只能包含两位数的数字。如果我把'ff‘和'ff’相加,就会有溢出。如何绕过这个问题?谷歌说,在我的任务中,如果出现溢出,就会有一个“1”的“进位标志”。

但我不明白,我怎么能用它。

谢谢大家的关注。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-11 06:08:54

进位标志就像一个额外的位,即MSB (最重要的位)。

Intel 8080/8085汇编编程手册

顾名思义,进位标志通常用来表示加法是否导致下一个高阶数字的“进位”。在减法中,进位标志也用作“借入”标志。

这意味着,如果您添加了两个数字,将溢出寄存器:

代码语言:javascript
复制
FF + FF = 1111_1111
        + 1111_1111
        = 1111_1110 + carry = 1

AE + 74 = 1010_1110
        + 0111_0100
        = 0010_0010 + carry = 1

设置完后,进位标志将保持设置,直到运行另一个不会导致进位的加法为止。

代码语言:javascript
复制
A0 + 10 = 1010_0000
        + 0001_0000
        = 1011_0000 + carry = 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28447442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档