有汇编指令ADC.我发现这意味着"随身携带".但我不知道这意味着什么.或者如何用C++编写这个指令.我知道它不一样ADD.所以做一个简单的求和是不正确的.
信息:
在Windows中编译.我正在使用32位Windows安装.我的处理器是Intel的Core 2 Duo.
我设法根据我上次创建的帖子中有用的人提供的解决方案添加了两位数的数字:
所以现在,当我添加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)