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