【发布时间】:2020-05-07 00:47:15
【问题描述】:
我被困在下面的代码上。我有 Tracer 和 SCO Debugger 的以下代码。我正在使用 Dosbox 编译它,我想在代码中添加左旋转,但我找不到我要在哪里添加 ROL AX, 1 但它不起作用。
假设数字是
偶数 2,3,5,7,11
奇数 1,3,5,7,9
总和 3,6,10,14,20
我想让它看起来像
3,5,7,11,2
所以总和是
4,8,12,18,11
_EXIT = 1
.SECT .TEXT
start:
MOV BX, 0
MOV CX, 5
sum:
CMP BX, 5
JE done
NOP
MOVB AL,(BX)
ADD BX,odd
MOVB DL,(BX)
SUB BX,odd
ADDB AL,DL
ADD BX,result
MOV (BX),AX
SUB BX,result
INC BX
LOOP sum
done:
MOV CX,5
MOV BX,result
print:
CMP BX,result + 5
JE exit
MOVB AL,(BX)
INC BX
LOOP print
exit:
PUSH _EXIT
SYS
.SECT .DATA
prime:
.BYTE 2,3,5,7,11
odd:
.BYTE 1,3,5,7,9
result:
.BYTE 0,0,0,0,0
.SECT .BSS
【问题讨论】:
标签: assembly rotation x86-16 bit-shift dosbox