鱼C论坛

 找回密码
 立即注册
查看: 10130|回复: 43

[技术交流] 找问题(逻辑漏洞)

  [复制链接]
发表于 2012-6-3 04:24:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; by 小甲鱼, http://www.fishc.com
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 功能:高级语法while-endw的使用,累加1到100的和。
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .386
        .model flat,stdcall
        option casemap:none

include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib

    .data
a       db  100 dup(0)
buffer  db  100 dup(0)
CapMsg  db  '输出', 0
szFmt   db  '结果是:%d', 0
i       db  1
sum     db  0

    .code
start:
    mov edi, 0
    .while( i <= 100 )
        mov al, i
        mov a[edi], al
        inc i
        inc edi
    .endw
    
    mov i, 0
    mov edi, 0
    .while( i < 100 )
        mov al, a[edi]
        add sum, al
        inc i
        inc edi
    .endw
    
    xor eax, eax
    mov al, sum
    
    invoke  wsprintf,       ; 格式化字符串输出函数,有点类似 printf
        addr buffer,        ; 存放字符串的缓冲区
        addr szFmt,         ; 格式化输出的格式
        eax
        
    invoke  MessageBox, 
        NULL, 
        offset buffer,
        offset CapMsg,       
        MB_OK
        
    invoke  ExitProcess, 0  ; 结束进程
    
    end start

以上代码计划求从1加到100的和,但实现后确实这样的结果:

1.JPG


请思考后改正并校对回复校对正确答案:

游客,如果您要查看本帖隐藏内容请回复

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-3 23:17:44 | 显示全部楼层
win32汇编语言这个版块终于被鱼哥的几个帖子顶上去了,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-7 20:20:28 | 显示全部楼层
al 只能存8位二进制
5050=1001110111010
               而10111010= 186 ^_^

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2012-6-17 16:13:00 | 显示全部楼层
溢出了吧。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-21 15:28:34 | 显示全部楼层
学习一下,.感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-16 00:19:11 | 显示全部楼层
经过实验,错误有:sum db 0,改为sum dw 0.34行,mov i,1.第二个while循环要把eax清零,38,44行al 改为ax.36行为<=.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-22 23:23:57 | 显示全部楼层
al能放得下,是sum放不下。不过我想看看隐藏了什么。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-23 01:19:07 | 显示全部楼层
    学习了 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-10-6 14:49:08 | 显示全部楼层
没看出来                                   .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-24 15:31:04 | 显示全部楼层

        .386
        .model flat,stdcall
        option casemap:none

include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib

    .data
a       db  100 dup(0)
buffer  db  100 dup(0)
CapMsg  db  '输出', 0
szFmt   db  '结果是:%d', 0
i       db  1
sum     dw  0                        ;**********

    .code
start:
                ;*************
    mov edi, 0
    .while( i <= 100 )
        mov al, i
        mov a[edi], al
        inc i
        inc edi
    .endw
   
        xor eax,eax
    mov i, 0
    mov edi, 0
    .while( i < 100 )
        mov al, a[edi]
        add sum, ax                        ;***********
        inc i
        inc edi
    .endw
   
    xor ax, ax
    mov ax, sum                                ;*************
   
    invoke  wsprintf,       ; 格式化字符串输出函数,有点类似 printf
        addr buffer,        ; 存放字符串的缓冲区
        addr szFmt,         ; 格式化输出的格式
        eax
        
    invoke  MessageBox,
        NULL,
        offset buffer,
        offset CapMsg,      
        MB_OK
        
    invoke  ExitProcess, 0  ; 结束进程
   
    end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-17 10:57:23 | 显示全部楼层
看一下,参想是否正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-14 13:53:50 | 显示全部楼层
自己先做一遍...回来看结果...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-18 19:27:09 | 显示全部楼层
看看哪儿我认错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-20 13:23:35 | 显示全部楼层
看看哪错了


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-5 15:42:24 | 显示全部楼层
真是被感动的痛哭流涕……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-12 00:38:23 | 显示全部楼层
看看隐藏的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-6-4 18:25:51 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-5 14:35:42 | 显示全部楼层
激动人心,无法言表!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-11 21:18:19 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-18 01:53:40 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 16:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表