有人可以给我一些关于指令"调用crlf"的背景知识。呢?我在代码中是否需要这些资源时遇到一些麻烦。感谢。
答案 0 :(得分:0)
Could someone give me some background on what the instruction "call crlf" does?
当您在汇编中使用说明 call
时,jumping
为address
,从那里执行,直到您点击ret
指令并返回到您打电话的地方,通常人们称这些标签和相关代码subroutines, methods, functions, procedures
等
另外,取决于子例程的实现方式取决于您需要遵循的calling conventions (传递参数的方式和位置以及获取返回值)。
CRLF
可能是label
(表示地址的符号表示)
这可能代表carriage return
& line feed
。
哪个代表ascii '\r'
& '\n'
。
代表十六进制0xd
&分别为0xa
。
'\r' & '\n'
Mac
使用'\r' CR
作为换行符。
Unix/Linux
使用'\n' LF
换行。
Windows
使用"\r\n" CRLF
证明Windows这是在这个名为text.txt
的文件的转储中,其中包含2次按enter
键;
c:\Users\James\Desktop>dump text.txt
0D 0A 0D 0A 0A -- -- -- -- -- -- -- -- -- -- -- | .....-----------
并快速在Linux VM上运行;
james@james-VirtualBox:~Files$ hexdump -C text.txt
00000000 0a 0a |...|
00000002
我没有mac
所以我无法证明他们使用'\r'
换行。
背景 (来自哪里)
基本上你需要考虑typewriters
& printers
- see this googled image;
1)"在打字机或计算机打印机上,将其返回到行首的操作。"
2)"最初用信号通知设备执行回车的控制字符(ASCII中的0x0D,缩写为CR),但现在仅表示文本行的结尾。&#34 ;
1)"在打字机上,当执行回车时,托架滚轮的动作将页面向上推一行,两行或一行半(在其他地方设置)。&#34 ;
2)"字符(ASCII中的0x0a),在电传打字机或打印机中将纸张前进一行"
答案 1 :(得分:0)
这是一个名为" crlf"的过程的过程调用。它的作用是任何人的猜测;但它可能与基于Windows的平台上的换行序列有关。 CR代表字符#13又名回车,LF代表#10,换行。在Windows中,行以CR / LF字符对终止。一些非Windows工具也尊重它们;值得注意的是,这是一些突出的Internet协议(如HTTP)中的行分隔符。
该过程在控制台上打印CR / LF,或将它们存储在某些字符串缓冲区或其他内容中。没有它的代码,就无法分辨。