相关疑难解决方法(0)

装配ADC(随附进位)到C++

有汇编指令ADC.我发现这意味着"随身携带".但我不知道意味着什么.或者如何用C++编写这个指令.我知道它不一样ADD.所以做一个简单的求和是不正确的.

信息:
在Windows中编译.我正在使用32位Windows安装.我的处理器是Intel的Core 2 Duo.

c++ x86 assembly

16
推荐指数
5
解决办法
3万
查看次数

添加2个两位数字,组成3位数

我设法根据我上次创建的帖子中有用的人提供的解决方案添加了两位数的数字:

如何在装配中使用ADC?

所以现在,当我添加2个数字并且它们的结果将是3位数字时似乎存在问题.名为IS_3DIGIT的跳转处理这种可能性,但添加一些数字,如80 + 80,99 + 99,89 + 82都会产生错误的结果.56 + 77效果很好.所以我的假设是,添加两个高于79的数字会得到错误的结果.我该如何解决这个问题?顺便说一下,像99 + 23或89 + 43这样的添加可以得到正确的结果.

.MODEL SMALL
.STACK 1000
.DATA

MSGA DB 13,10,"Input first number: ","$"
MSGB DB 13,10,"Input second number:","$"
MSGC DB 13,10,"The sum is: ","$"

NUM1 db ?
NUM2 db ?
NUM3 db ?

.CODE

MAIN PROC NEAR

MOV AX, @DATA
MOV DS, AX

; get first number
LEA DX, MSGA
MOV AH, 09h
INT 21h

MOV AH, 01
INT 21H
SUB AL, '0'

MOV BL, AL

MOV …
Run Code Online (Sandbox Code Playgroud)

assembly

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

assembly ×2

c++ ×1

x86 ×1