汇编指令 1 汇编指令不区分大小写 2 在进行数据传送或者运算时,要注意指令的两个操作对象的位数应当是一致的 3 类型 3.1 基础运算指令 mov指令的几种形式: mov 寄存器,数据 mov 寄存器,寄存器 mov 寄存器,内存单元 mov 内存单元,寄存器 mov 内存单元,段寄存器 mov 段寄存器,内存单元 mov 段寄存器,寄存器 mov 寄存器,段寄存器(验证) add和sub指令同mov一样,都有两个操作对象。 mul 指令 mul是乘法指令,使用 mul 做乘法的时候: (1)相乘的两个数:要么都是8位,要么都是16位。 8 位: AL中和 8位寄存器或内存字节单元中; 16 位: AX中和 16 位寄存器或内存字单元中。 (2)结果 使用mul座乘法的时候: 8位:AX中; 16位:DX(高位)和AX(低位)中。 格式如下: mul reg mul 内存单元 内存单元可以用不同的寻址方式给出,比如: mul byte ptr ds:[0] 含义为: (ax)=(al)*((ds)*16+0); mul word ptr [bx+si+8] 含义为: (ax)=(al)*((ds)*16+(bx)+(si)+8)结果的低16位; (dx)=(al)*((ds)*16+(bx)+(si)+8)结果的高16位; 例如 (1)计算100*10 100和10小于255,可以做8位乘法,程序如下: mov al,100 mov bl,10 mul bl 结果: (ax)=1000(03E8H) (2)计算100*10000 100小于255,可10000大于255,所以必须做16位乘法,程序如下: mov ax,100 mov bx,10000 mul bx 结果: (ax)=4240H,(dx)=000FH(F4240H=1000000) 3.2 Loop指令 指令的格式是:loop 标号 CPU 执行loop指令的时候,要进行两步操作 ① (cx)=(cx)-1 ② 判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行 cx中的值影响着loop指令的执行结果 功能 通常(注意,我们说的是通常)我们用loop指令来实现循环功能,cx 中存放循环次数。 4 数据溢出 CPU执行下表中的程序段的每条指令后,对寄存器中的数据进行的改变。 进位都会丢失 这里的丢失,指的是进位制不能在 8 位寄存器中保存,但是 CPU 不是并真的不丢弃 这个进位值