80x86 汇编语言中的重复前缀与字符串指令详解
1. 编程练习 7.1
在编程练习 7.1 中,我们需要编写一个程序,将从键盘逐行读取的字符串复制到一个大的存储区域,以便后续处理。具体步骤如下:
1. 使用 input 宏输入一个字符串。
2. 将该字符串复制到数据段中预留的 1024 字节存储块的起始位置。
3. 在存储区域中,在字符串后面添加回车符和换行符。
4. 重复上述过程,将后续字符串复制到存储区域,使其紧跟在上一个字符串的换行符之后。
5. 当源字符串的第一个字符为 $ 时,退出循环,不复制该字符串,但在最后一个字符串的换行符后放置一个空字节。
6. 使用 output 宏显示数据区域中的所有字符,结果应为每行一个输入的字符串。
2. 重复前缀概述
80x86 架构中的每个字符串指令一次仅处理一个字符串元素。不过,它包含三个重复前缀,可将字符串指令转换为自动重复执行的版本,重复次数可以是固定的,也可以直到满足某个条件为止。这三个重复前缀实际上对应两种不同的单字节代码,它们本身不是指令,而是对原始字符串指令的机器代码进行补充,从而形成新的指令。
3. 重复前缀 rep
rep 前缀通常与 movs 指令和 stos 指令一起使用。它的执行逻辑如下:
while coun
超级会员免费看
订阅专栏 解锁全文
1374

被折叠的 条评论
为什么被折叠?



