div指令

除法,
被除数:默认是放在ax或者dx中,其位数为16位,则在ax中,如位数为32位,则高位在dx中,低位在ax中
除数:放在寄存器或者内存单元中,有8位和16位两种。
结果:如果除数为8位,al中放商,ah放余数。如是16位,则ax放商,dx余数。

dd

dd和db、dw类似,dd表示的double型,大小2个字。

dup

db 3 dup (0)表示db 0, 0, 0
db 3 bup (0 ,1, 2)表示db 0, 1, 2, 0, 1, 2, 0, 1, 2

jmp loop jcxz等

jcxz是当cx寄存器的值为0时,就跳转到对应标号处执行。

call ret retf

call和ret的配合使用,可以使得汇编像调用函数一样,使用自己的模块。
下面利用cube模块计算第一组数据的3次方。

assume cs:code, ds:datadata segmentdw 1, 2, 3, 4dd 0, 0, 0, 0data endscode segmentstart:mov ax, datamov ds, axmov si, 0mov di, 8mov cx, 4s:mov ax, [si]call cubemov di, ax;相乘的结果的低位放在axmov [2+di], 相乘的结果的高位放在dxadd si, 2add di, 4loop smov ax, 4c00hint 21hcube:mov ax, bxmul bxmul bx;bx*bx*bxretcode endsend start

mul