汇编:如何将数据存储到变量中

用户名

我用汇编代码编写了一个简单的程序(打开控制台并循环输入,直到用户输入为止5)。我想将每个输入存储在变量中input(新输入将覆盖旧输入)。这是我的代码:

format PE console
entry start

include 'win32a.inc'

;======================================
section '.data' data readable writeable
;======================================

input      db "", 0

;=======================================
section '.code' code readable executable
;=======================================

start:
        ccall   [getchar] ; Wait for input
        cmp     eax, "5"  ; Compare input with string
        je      exit      ; If it is equal, then exit
        jne     start     ; If not, wait for input again
exit:
        stdcall [ExitProcess], 0

;====================================
section '.idata' import data readable
;====================================

library kernel,'kernel32.dll',\
        msvcrt,'msvcrt.dll'

import  kernel,\
        ExitProcess,'ExitProcess'

import  msvcrt,\
        printf,'printf',\
        getchar,'_fgetchar'

我试图写

    ccall   [getchar] ; Wait for inout
    cmp     eax, "5"  ; Compare input with string

    mov     [input], eax ; This line is added

    je      exit      ; If it is equal, then exit
    jne     start     ; If not, wait for input again

但是我出错了Operand sizes do not match.我已经搜索了此错误,但没有发现任何有用的信息。

古法

eax寄存器是32位(4字节)寄存器,但是的数据类型input为字节。

您需要双字数据来存储32位值:

input      dd 0

注意:输入的数据eax实际上不是字符串。与之比较时"5",该值"5"将转换为32位值,即0x00000005声明input为零长度字符串不仅会使类型错误,而且太小而无法容纳4字节值,因为它只有1字节大(字符串终止符)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将数据存储到变量中。?

来自分类Dev

如何将JavaScript变量存储到PHP变量中?

来自分类Dev

如何将数据存储在存储在变量中的数组中?

来自分类Java

如何将MySQL数据库中的值存储到变量中?

来自分类Dev

如何将多维数组中的特定数据存储到变量中

来自分类Dev

如何将 fetch API 请求中的 json 数据存储到全局变量中 - javascript

来自分类Dev

Laravel如何将变量存储到数据库中并在每次单击时更新

来自分类Dev

如何将列出的值从数据库存储到Anylogic 8.7.1中的变量?

来自分类Dev

如何将特定值从数据帧存储到R中的变量?

来自分类Dev

您如何将数据从for循环存储到变量中以进行其他计算?

来自分类Dev

GO:如何将数据发布到数据存储中?

来自分类Dev

如何将“ bc”的输出存储到变量中?

来自分类Dev

如何将Shell脚本的输出存储到变量中

来自分类Dev

如何将函数的结果存储到变量中?

来自分类Dev

如何将mysql值存储到变量中?

来自分类Dev

如何将字典数组存储到类变量中?

来自分类Dev

如何将QMap存储到QSetting变量中

来自分类Dev

Javascript - 如何将 for 循环的结果存储到变量中?

来自分类Dev

如何将For循环结果存储到XSLT变量中

来自分类Dev

如何将执行的命令(cmd)存储到变量中?

来自分类Dev

在汇编中,如何将esp的地址偏移4到一个变量中?

来自分类Dev

如何将javascript的值传递到PHP变量中并存储到mysql数据库中?

来自分类Dev

如何将值存储到变量

来自分类Dev

如何将数组数据存储到结构中?

来自分类Dev

如何将数据存储到AngularJS数组中

来自分类Dev

如何将结果从for循环存储到数据框中

来自分类Dev

如何将秒表javascript中的数据存储到MySQL

来自分类Dev

如何将“ls”的结果存储在变量中,并将 cd 存储到该变量中

来自分类Dev

如何将数据库查询结果中的值存储到机器人框架中的变量中

Related 相关文章

  1. 1

    如何将数据存储到变量中。?

  2. 2

    如何将JavaScript变量存储到PHP变量中?

  3. 3

    如何将数据存储在存储在变量中的数组中?

  4. 4

    如何将MySQL数据库中的值存储到变量中?

  5. 5

    如何将多维数组中的特定数据存储到变量中

  6. 6

    如何将 fetch API 请求中的 json 数据存储到全局变量中 - javascript

  7. 7

    Laravel如何将变量存储到数据库中并在每次单击时更新

  8. 8

    如何将列出的值从数据库存储到Anylogic 8.7.1中的变量?

  9. 9

    如何将特定值从数据帧存储到R中的变量?

  10. 10

    您如何将数据从for循环存储到变量中以进行其他计算?

  11. 11

    GO:如何将数据发布到数据存储中?

  12. 12

    如何将“ bc”的输出存储到变量中?

  13. 13

    如何将Shell脚本的输出存储到变量中

  14. 14

    如何将函数的结果存储到变量中?

  15. 15

    如何将mysql值存储到变量中?

  16. 16

    如何将字典数组存储到类变量中?

  17. 17

    如何将QMap存储到QSetting变量中

  18. 18

    Javascript - 如何将 for 循环的结果存储到变量中?

  19. 19

    如何将For循环结果存储到XSLT变量中

  20. 20

    如何将执行的命令(cmd)存储到变量中?

  21. 21

    在汇编中,如何将esp的地址偏移4到一个变量中?

  22. 22

    如何将javascript的值传递到PHP变量中并存储到mysql数据库中?

  23. 23

    如何将值存储到变量

  24. 24

    如何将数组数据存储到结构中?

  25. 25

    如何将数据存储到AngularJS数组中

  26. 26

    如何将结果从for循环存储到数据框中

  27. 27

    如何将秒表javascript中的数据存储到MySQL

  28. 28

    如何将“ls”的结果存储在变量中,并将 cd 存储到该变量中

  29. 29

    如何将数据库查询结果中的值存储到机器人框架中的变量中

热门标签

归档