招商赢天下:题目:猴子吃桃问题。(汇编解法)

来源:百度文库 编辑:高考问答 时间:2024/05/10 19:33:04
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

因为MUL后的结果放在AX和DX中,但本题中乘积的结果不大,用AX即可保留,用不到DX,所以这段代码不考虑乘积结果占用到DX的情况,如果给定的天数大到一定程度,即AX容不下的时候可适当修改一下代码。
data segment
result dw ?
factor dw 2
data ends
program segment
main proc far
assume cs:program,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov bx,1
mov cx,9
loop1:
mov ax,bx
inc ax
mul factor
mov bx,ax
dec cx
cmp cx,0
jnz loop1
main endp ;bx中已是所求解
program ends
end start