全球旧事资料 分类
调整为ASCII码表示形式调整方法:若AL中低4位小于等于9,仅AL中高4位清0,AF→CF。若AL中低4位大于9或标志AF1,则AL6→ALAH1→AH,1→AFAF→CF,AL中高4位清0。AAS指令一般紧跟在SUB,SBB指令之后使用,影响标志位为AF,CF。其它标志位无定义。例3.36MOVAX,0132HSUBAL,35HAAS;AX0007H3格式:AAM功能:将存放在AL中的二进制积数,调整为ASCII码表示形式。调整方法:AL10商→AH,余数→ALAAM指令一般紧跟在MUL指令之后使用,影响标志位为SF,ZF,PF。其它标志位无定义。例3.37MOVAL,07HMOVBL,09HMULBL;AX003FHAAMAX0603H4格式:AAD功能:将AX中两位非压缩BCD码一个字节存放一位BCD码,转换为二进
f制数的表示形式。调整方法:AH10AL→AL0→AHAAD指令用于二进制除法DIV操作之前,影响的标志位为SF,ZF,PF。其它标志位无定义。例3.38MOVAX,0605HMOVBL,09HAAD;AX0041HDIVBL;AX0207H使用该类指令应注意,加法、减法和乘法调整指令都是紧跟在算术运算指令之后,将二进制的运算结果调整为非压缩BCD码表示形式,而除法调整指令必须放在除法指令之前进行,以避免除法出现错误的结果。使用算术运算类指令应注意:如果没有特别规定,参与运算的两个操作数数据类型必须一致,且只允许一个为存储器操作数;如果参与运算的操作数只有一个,且为存储器操作数,必须使用PTR伪指令说明数据类型;操作数不允许为段寄存器。目的操作数不允许为立即数;如果是存储器寻址,则存储器各种寻址方式均可使用。3.3.3逻辑运算指令一、逻辑指令1逻辑与指令格式:ANDDEST,SRC功能:目的操作数和源操作数按位进行逻辑与运算,结果存目的操作数中。源操作数可以是通用寄存器、存储器或立即数。目的操作数可以是通用寄存器或存储器操作数。例3.39ANDAL,BLANDEBX,ECXANDDI,1101HAND指令常用于将操作数中某位清0称屏蔽,只须将要清0的位与0,其它不变的位与1即可。ANDAL,0FH;将AL中高4位清0,低4位保持不变。例3.40AND指令影响标志位为SF,ZF,PF,并且使OFCF0。2逻辑或指令格式:ORDEST,SRCOR功能:目的操作数和源操作数按位进行逻辑或运算,结果存目的操作数中。源操作数可以是通用寄存器、存储器或立即数。目的操作数可以是通用寄存器或存储器操作数。例3.41ORAX,BXORECX,EAXOR指令常用于将操作数中某位置1,只须将要置1的位或1,其它不改变的
f位或0即可。例3.42ORAL,80H;将AL中最高位置1。OR指令影响标志位为SF,ZF,PF。并且使OFCF0r
好听全球资料 返回顶部