汇编基础:进制转换和串的操作2013-05-28代码转换是计算机应用中常见问题,计算机内部职能进行二进制的运算,而输入设备提供的是数和字符的ASCII码形式。所以必须把ASCII码形式表达的十进制数或其他进制数转换成二进制数。同样,当数据处理结束后,也需要进行相应的转换,将二进制码转换为输出需要的ASCII码或者十进制数给显示器。这一节我就说说关于进制的转换。一、十六进制ASCII码与二进制数之间的转换首先我们将十六个字符所在的区域分成 3部分,分别是区域1表示十六进制数中0--9之间的数字字符,区域2表示十六进制数中A--F之间的数字字符;区域3表示十六进制中的a--f之间的数字字符。如果我们仔细观察过它们各自对应的ASCII码值和二进制值得话,我们不难会发现以下规律:1、对于字符0--9的ASCII来说,其字符ASCII码的低4位与所表示的十六进制数相同,也就是ASCII码对应的二进制数的低4位,因此,对于区域1的十六进制ASCII码与二进制之间的转换,就是讲ASCII码的高4位加上或者去掉即可。2、区域2中的字符A--F的ASCII码,其ASCII码减7后的二进制数的低4位与对应的二进制数低4位相同,因此可以用此方法得到二进制数的低4位,而高4位则可以通过加减30H得到3、区域3中的字符a--f的ASCII码,其字符ASCII码减7后的二进制数低4位与对应的二进制数低4位相同,因此,可以用此方法得到二进制数的低4位, 而高4位则可以通过加减50H得到。二、串的操作串就是指存储器中一序列的字或字节单元,串操作就是对这一个序列字或者字节单元进行某种相同的操作,这一序列可能存放的是字符或者是数据。8086/8088指令系统中有5种串操作指令,下面我一一为大家列举:1、取串指令LODS指令格式:LODS源串此指令把源串中的一个字或者字节内容送入到AX或者AL中,同时按照DF修改SI。由于源串的字符或者字节单元由SI锁指向,而指令中“源串”主要是指明取的源串是字还是字节,所以,当我们使用该指令的时候,如果已明确源串是字还是字节,那么可用下述3个无操作数的指令格式进行取代。
LODSB;取源串一个字节LODSW;取源串一个字LODSB指令可以替代下面的两条指令MOV AL, [SI];传送一个字节至ALINC SI;指向下一个字节
注:取指令操作是对标志寄存器无影响的。