字符串操作与计算机架构设计解析
字符串操作基础
字符串操作在计算机编程中有着广泛的应用。例如,我们可以编写一个完整的程序,该程序会提示用户输入一个句子以及两个单词,然后构建一个新的句子,这个新句子与原句子基本相同,只是将原句子中出现的第一个单词替换为第二个单词,最后将新句子显示出来。
字符翻译
在数据处理过程中,有时字符数据的格式需要进行转换。比如,当字符在两个计算机系统之间传输时,一个系统通常使用 ASCII 字符编码,而另一个系统通常使用 EBCDIC 字符编码,这时就需要进行字符编码的转换。另外,当需要将字符传输到无法处理所有可能编码的设备时,用可接受的编码替换不合适的编码比完全删除它们更容易。
在 80x86 指令集中,有一个 xlat 指令可用于将一个字符转换为另一个字符。结合其他字符串处理指令,它可以轻松地转换字符串中的所有字符。 xlat 指令只需要一个字节的目标代码,操作码为 D7。在 80386 上执行需要五个时钟周期,在 80486 或奔腾处理器上执行需要四个时钟周期。在执行之前,要转换的字符位于 AL 寄存器中。该指令通过数据段中的转换表来查找 AL 中字节的转换结果。这个转换表通常包含 256 字节的数据,对应 AL 中每个可能的 8 位值。表中偏移量为零的字节(即第一个字节)是 00 转换后的字符,偏移量为一的字节是 01 转换后的字符。一般来说, xlat 使用要转换的字符作为表中的偏移量,该偏移量处的字节将替换 AL 中的字符。 xlat 指令没有操作数,EBX 寄存器必须包含转换表的地址。
超级会员免费看
订阅专栏 解锁全文
171万+

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



