Assembly 如何使用ReadString宏x86程序集(NASM)

Assembly 如何使用ReadString宏x86程序集(NASM),assembly,macros,x86,nasm,intel,Assembly,Macros,X86,Nasm,Intel,我整个周末都在努力想办法解决这个问题,最后我来到了StackOverflow,试图找到一些答案 目标:提示用户输入字符串,将字符串存储在内存中并打印出来。这有用吗?看起来完全是这样,因为这是我的问题,但我不想把我的信用卡信息放在免费试用中:/什么?我一点也没有得到那样的东西。我用Adblock和Adblock plus运行Chrome。很抱歉,如果您没有看到您的CPsub32.inc(有链接吗?),您就无法访问该网站。很难说。我猜ReadString需要两个参数-一个缓冲区(需要声明),一个长度

我整个周末都在努力想办法解决这个问题,最后我来到了StackOverflow,试图找到一些答案


目标:提示用户输入字符串,将字符串存储在内存中并打印出来。这有用吗?看起来完全是这样,因为这是我的问题,但我不想把我的信用卡信息放在免费试用中:/什么?我一点也没有得到那样的东西。我用Adblock和Adblock plus运行Chrome。很抱歉,如果您没有看到您的CPsub32.inc(有链接吗?),您就无法访问该网站。很难说。我猜
ReadString
需要两个参数-一个缓冲区(需要声明),一个长度(放入缓冲区的最大长度-no get()!)。通常,edx中的缓冲区和ecx中的长度,但谁知道呢?我想我无法为您获取链接。我正在通过PuTTY连接到我的教授的Unix,所以我正在查看他的计算机目录。所以这一切对我来说就像一个巨大的黑匣子。我将尝试使用缓冲区…也许我可以尝试制作一个堆栈并从中获取数据。
%include "CPsub32.inc"
%include "Macros_CPsub32.inc"  ; needed to use the ReadString and WriteString macros

section .data  ; Declaration of labels 
type:   db 0Ah,0Dh, 'Type Here:',0Ah,0Dh,OOh     ;String plus CRLF

section .text
        global main

main    equ   $          ; main, start of program

        mov edx, type    ; Moves the contents of the label type into the edx register
        call WriteString ; Prints contents of edx
        call ReadString  ; Prompts for users input

My Exit equ  $           ; Exit program
        Exit 0