mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mov 段寄存器,寄存器
mov 寄存器,段寄存器(验证)
8 位: AL中和 8位寄存器或内存字节单元中;
16 位: AX中和 16 位寄存器或内存字单元中。
使用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位;
100和10小于255,可以做8位乘法,程序如下:
mov al,100
mov bl,10
mul bl
结果: (ax)=1000(03E8H)
100小于255,可10000大于255,所以必须做16位乘法,程序如下:
mov ax,100
mov bx,10000
mul bx
结果: (ax)=4240H,(dx)=000FH(F4240H=1000000)
① (cx)=(cx)-1
② 判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行
cx中的值影响着loop指令的执行结果
这里的丢失,指的是进位制不能在 8 位寄存器中保存,但是 CPU 不是并真的不丢弃 这个进位值