鱼C论坛

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

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

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

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

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

x

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

  9. include windows.inc
  10. include user32.inc
  11. include kernel32.inc
  12. includelib user32.lib
  13. includelib kernel32.lib

  14.     .data
  15. a       db  100 dup(0)
  16. buffer  db  100 dup(0)
  17. CapMsg  db  '输出', 0
  18. szFmt   db  '结果是:%d', 0
  19. i       db  1
  20. sum     db  0

  21.     .code
  22. start:
  23.     mov edi, 0
  24.     .while( i <= 100 )
  25.         mov al, i
  26.         mov a[edi], al
  27.         inc i
  28.         inc edi
  29.     .endw
  30.    
  31.     mov i, 0
  32.     mov edi, 0
  33.     .while( i < 100 )
  34.         mov al, a[edi]
  35.         add sum, al
  36.         inc i
  37.         inc edi
  38.     .endw
  39.    
  40.     xor eax, eax
  41.     mov al, sum
  42.    
  43.     invoke  wsprintf,       ; 格式化字符串输出函数,有点类似 printf
  44.         addr buffer,        ; 存放字符串的缓冲区
  45.         addr szFmt,         ; 格式化输出的格式
  46.         eax
  47.         
  48.     invoke  MessageBox,
  49.         NULL,
  50.         offset buffer,
  51.         offset CapMsg,      
  52.         MB_OK
  53.         
  54.     invoke  ExitProcess, 0  ; 结束进程
  55.    
  56.     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-4-20 05:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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