【发布时间】:2016-01-20 21:18:36
【问题描述】:
您好刚开始学习汇编的课程,我们有一个问题是在 16 位处理器中添加 2 个 32 位数字。这是我们的代码:
ORIG 8000h
Num1 STR 8091h, 1201h
Num2 STR 8061h, 4f01h
Soma TAB 2
ORIG 0000h
MOV R1, Num1
MOV R2, Num2
MOV R3, Soma
MOV R4, M[R1]
ADD R4, M[R2]
MOV M[R3], R4
INC R1
INC R2
INC R3
MOV R4, M[R1]
ADDC R4, M[R2]
MOV M[R3], R4
Fim: BR Fim
我们的问题是第一次添加的进位没有被添加到第二次,我们不知道为什么。
【问题讨论】:
-
出于好奇,这是用于什么机器架构的?
-
P3 处理器,我们使用它的模拟器。它使用 16 位
-
奔腾 3?它看起来像 Intel 语法,但实际上并非如此。无论如何,
INC会影响标志,因此当您到达ADDC时,您会从ADD中丢失进位位。
标签: assembly add 32-bit 16-bit