1.微型计算机由微处理器,储存器,输入输出设备;
2,8086、8088cpu中有4个数据寄存器,4个指针及变址寄存器,AX,BX,CX,DX,SP,BP,SI,DI
AX能由AH和AL组合起来,但是SI不能,SI只能作为16位寄存器,不能分开;另外在指示偏移地址时,能用寄存器BX,BP,SI,DI;但是BX使用时隐含引用数据段DS,【BX】,BP对应的是SS
3,存储单元的地址和内容
每个字单元地址的内容是连续的两个字节单元地址的内容,字单元中的内容为字的地位,字地址+1单元中的内容为字的高位。
4,8086、8088cpu有20根地址线,可寻址空间为2的20次方,相当于1M,这1M的字节单元按00000H----FFFFFH编址,这个地址是物理地址。
5.mov BX,[2100H];隐含引用数据段DS,[DS:2100H]——>BX,如果数据存放在ES端表示方法MOV BX,ES:[100h];
6.学习操作指令:数据传送指令,MOV,PUSH,POP,XCHG,LEA;算数运算指令ADD,ADC,INC,SUB,SBB,DEC,NEG
,CMP,MUL,IMUL,DIV,IDIV,这些指令可以实现基本的加,减,乘,除操作。逻辑运算指令,AND,OR,NOT,XOR,TEST,SHL,SAL,SHR,SAR。
7,在这些操作指令中要注意那些单操作指令,因为它隐含了引用的数据段,如字节除法DIV SRC 它的结果就放到了AL中,字除法DIV SRC 它的结果就放到了AX中。
8,同时要注意INC 对CF无影响,但ADD对CF有影响。
9,清零功能;XOR AX,AX; AND S,0; SUB S,S;这些对标志位有影响,MOV S,0,对标志位无影响。
10,汇编中方便有效的的IF,while语句。
格式如下(注意要加“点”):
.if(条件) .while(条件)
.elseif(条件) .ENDW
.else(条件)
.endif
11,求字符的长度,s db 'ouyang';字符长度len=$-s,但如果是S dw ‘ouyang’ ;字符长度:len=($-S)/2;
12,算术移位的操作中,若移位的位数超过1位,则把用CL寄存器存放次数;MOV CL,3;SHLAL,CL;