第五章
1.[bx]
mov ax,[bx] 设偏移地址为SA,段地址默认存储在DS寄存器中,那么该指令的作用是将地址为DS:SA处的值传入ax寄存器中。
用"()"符号解释为 (ax)=((DS)*16+(bx))
mov [bx],ax 设偏移地址为SA,段地址默认存储在DS寄存器中,那么该指令的作用是将寄存器ax值传入[bx]所代表的偏移地址的位置,用"()"符号解释为 ((DS)*16+(bx))=(ax)
2. LOOP指令
LOOP指令为循环指令,其格式为 LOOP 标号,当cx不为0的时候跳转到标号处循环同时cx=cx-1,如果标号为0则向下执行。(CX默认为循环计数器)
第六章
大多数有用的程序,都要处理数据,使用栈空间,当然也都必须有指令,为了程序设计上的清晰和方便,我们一般也都定义不同的段来存放它们。
然而本章主要是以这样的顺序来深入地讨论多个段的问题:(对比)
(1)在一个段中存放数据、代码、栈。
(2)将数据、代码、栈放入不同的段中。
第七章
and 和 or 指令
(1) and指令,逻辑按位与指令
例如:
mov al,01100011B
and al,00111011B
执行后 al=00100011B
and指令可以用来将某个数的位置为零。
比如我们要将al的第二位置为零,则: and al,11111101B
(2) or指令,逻辑按位或指令
例如:
mov al,01100011B
or al,00111011B执行后 al=01111011B
or指令可以用来将某个数的位置为1比如我们要将al的第高位置为一,则: or al,10000000B
第八章
计算机是进行数据处理、运算的机器,那么有两个基本的问题就包含在其中:
- 要处理的数据在什么地方?
- 要处理的数据有多长?
reg和sreg。
reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di。
sreg的集合包括:ds、ss、cs、es。
div是除法指令,使用div做除法的时候应该注意以下问题:
除数:有8位和16位两种,在一个reg或内存单元中。
被除数:默认放在AX或DX和AX中,如果除数为8位,被除数则为16位,默认在AX中存放;如果除数为16位,被除数则为32位,在DX和AX中存放,DX存放高16位,AX存放低16位。结果:如果除数为8位,则AL存储除法操作的商,AH存储除法操作的余数;如果除数为16位,则AX存储除法操作的商,DX存储除法操作的余数。dup是一个操作符,在汇编语言中同db、dw、dd等一样,也是由编译器识别处理的符号。它是和db、dw、dd等数据定义伪指令配合使用的,用来进行数据的重复。