8086 汇编 寻找并输出水仙花数

本文介绍如何使用8086汇编语言遍历100到999之间的数,检查并输出满足每一位的立方和等于其自身的三位数——水仙花数。通过遍历和立方运算,程序会遇到循环变量初始化和判断条件的问题,文中提到了在循环嵌套过程中修正这些问题的经验。
摘要由CSDN通过智能技术生成

注:水仙花数指的是每一个十进制位的立方加起来等于他自身的三位数,水仙花数本身就是三位数- -范围100-999,可以遍历来做

之前想的是每一位的数在1-9之间选,再通过每位分别乘以100,10,1转化再与自身比较。

下面是遍历100-999的数,看是否满足水仙花数条件,输出水仙花数

注意循环嵌套时一些变量初始值的改变,如这里si,flag1【也许这里不应该称之为变量,暂时这样说吧】

做的时候这两个值发生了改变导致不好找错误,然后发现两次循环(包含一个水仙花数)可以正常输出,三次及以上不行找到了这错误。

 

 

<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="font-family:Microsoft YaHei;font-size:14px;">data segment
flag1 db 0
flag2 db 0
outt db 'shuixianhua: ','$'
array0 dw 3 dup(0)<span style="color:#33CC00;">;保存三位数的每一位的三次方</span>
data ends
stack segment
stack ends
code segment
assume cs:code,ds:data,ss:stack
begin:  mov ax,data
           mov ds,ax  
           lea dx,outt
           mov ah,9
           int 21h
           mov cx,1000
        
x1:     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值