第六到八章

第六章

大多数有用的程序,都要处理数据,使用栈空间,当然也都必须有指令,为了程序设计上的清晰和方便,我们一般也都定义不同的段来存放它们。

然而本章主要是以这样的顺序来深入地讨论多个段的问题:(对比)

(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

第八章

计算机是进行数据处理、运算的机器,那么有两个基本的问题就包含在其中:

  1. 要处理的数据在什么地方?
  2. 要处理的数据有多长?

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等数据定义伪指令配合使用的,用来进行数据的重复。

posted on 2019-01-01 21:46  李非凡  阅读(86)  评论(0编辑  收藏  举报