1.一些符号的约定
1)address 表示某个内存单元的相对于寄存器的偏移地址
2.汇编指令
1)mov:
mov ax,bx ;将bx中的内容送到ax中
mov ax,ds:[address] ;将ds:address所指向的数据送入ax中(一个字,即两个字节。如果只要传输一个字节可以使用寄存器的高八位(ah)或者底八位(al)进行
mov ds:[address],ax ;将ax中的数据(一个字单位)送出ds:address所指定的内存单元中
2) add:
add ax,1 ;将ax中的数据加一
3)sub:
sub ax,1 ;将ax中的数据减一
4)push:
push ax ;将ax压入栈中(push是以字为单位进行的)
5)pop:
pop ax ;将栈顶数据取出存入ax中(pop也是按照字为单位进行的)
6)loop:
mov cx,1
f: add ax
loop f ;执行到此后判断cx是否为零,不为零则跳转到f处继续执行,并且将cx减一
7)and:
mov al,11101101H
and al,00110001H ;将al中的数据与00110001H进行逻辑与运算
8)or:
mov al,11101101H
or al,00110001H ;将al中的数据与00110001H进行逻辑或运算
9)div:
;使用除法指令时应注意以下几点:
;1.除数:放在寄存器或者内存单元中
;2.被除数:默认放在ax或者dx和ax中,如果除数为八位,则被除数为十六位,被除数默认放在ax中。如果除数为16位,则被除数为32位,dx中存放被除数的高八位,ax中存放被除数的底八位。
;运算结果:除数为八位时,al存放商,ah存放余数。除数为16位时,ax存放商,dx存放余数
mov ax,101
mov bl,1
div bl ;计算101/1
…………………………
……………………