一个简单的循环来找到最大除数,这将是根的整数,在这种情况下,在 345 三角形中的 5 处退出
mov ax,3
mul ax
push ax
mov ax,4
mul ax
pop bx
add ax,bx
push ax ;save 25 decimal for repeated loops
mov bx,1
mov bp,sp
agin
mov dx,0 ;fixed problem
mov ax,[bp] ;25 decimal
inc bx ;starts at 2
div bx
cmp bx,ax
jb agin
out
然而,当程序从 2 变为 3 时发生了奇怪的事情,我得到的是 hex555D 而不是 8 (8*3)
将 mov dx,0 修复并恢复正常
我不知道为什么,没有标志改变
有谁知道为什么?这是一个签名/未签名的问题吗?