定位内存地址的方法 and和or指令 and指令是按位与运算: 代表al中的值和数值00111011B进行按位与运算,然后将结果赋值给寄存器al。and指令可将操作对象的相应位设置为0,其他位不变,如将al的第6位设置为0: or指令是按位或运算,同样的它能将操作对象的对应位设置为1,如将al的第6 ...
分类:
其他好文 时间:
2020-04-30 23:21:44
阅读次数:
75
[BX]和loop指令 [bx] 下列命令可以用寄存器代表偏移地址: 之所以要采用这种方式,而不是直接将偏移地址写在括号中,是因为下列指令编译器是无法成功解释的: 上面这条语句会被编译器理解为: 这种将常量放在括号中的方式只有在debug模式下输入才能成功解释。为了让编译器成功执行赋值操作,需要借助 ...
分类:
其他好文 时间:
2020-04-30 23:20:54
阅读次数:
60
int指令 int指令也可以引发内中断。 int指令的格式是: 其中n为中断类型码。 相当于执行以下步骤: 1、取到中断类型码n 2、标志寄存器入栈,IF=0,TF=0 3、CS、IP入栈 4、根据中断向量表修改CS和IP:(IP)=(n 4),(CS)=(n\ 4+2) 可见int指令的最终功能就 ...
分类:
其他好文 时间:
2020-04-30 23:20:07
阅读次数:
65
寄存器 一个CPU由以下几个部分组成: 1、运算器:负责信息处理 2、寄存器:进行信息储存 3、控制器:控制各种器件进行工作 4、内部总线:连接各种器件(外部总线实现CPU和主板其他部件的联系) 通用寄存器 8086CPU的所有寄存器都是16位的,可以存放两个字节,AX、BX、CX、DX这4个寄存器 ...
分类:
其他好文 时间:
2020-04-30 23:10:32
阅读次数:
76
补码 从补数标记方式讨论补码起源 平时我们表示数字时,用正负号来指明到底是正号还是负号,如 500到500我们写成: 这种表示方法是以0为原点展开的。如果从一开始就知道要表示的数字范围,因为这些数字的绝对值不会大于500,我们可以采取一种映射的方式,用000 999来表示这些数字: 这些数字与上述1 ...
分类:
其他好文 时间:
2020-04-30 23:07:58
阅读次数:
63
数据处理的两个基本问题 数据处理时所有CPU都要面临两个基本问题: 1、要处理的数据在什么地方? 2、要处理的数据有多长? 我们可以定义两个描述性符号reg和sreg,reg代表一个寄存器,sreg代表一个段寄存器。 reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh ...
分类:
其他好文 时间:
2020-04-30 23:05:25
阅读次数:
65
基础知识 机器语言和汇编语言 机器语言是机器指令的集合,是一列二进制数字,每一种微处理器都有自己的机器指令集。因为机器语言难以记忆,容易出错,故诞生了汇编语言。汇编语言由汇编指令组成,汇编指令是机器指令便于记忆的格式。汇编语言可以由编译器将其编译为机器码,由计算机最终执行。 汇编语言有以下3类指令组 ...
分类:
其他好文 时间:
2020-04-30 23:01:15
阅读次数:
73
CALL和RET指令 call和ret指令都是转移指令,它们经常被共同用来实现子程序的设计。 ret和retf ret指令用栈中的数据实现修改IP的内容,从而完成近转移,执行ret指令时相当于执行: retf指令用栈中的数据实现修改CS和IP的内容,从而完成远转移,执行retf指令相当于执行: 在程 ...
分类:
其他好文 时间:
2020-04-30 22:51:13
阅读次数:
58
第一个程序 一个汇编语言程序要执行要进行以下几步: 1、编写汇编源程序,这个过程可以用记事本来完成 2、对源程序进行编译产生目标文件,然后用连接程序对目标文件进行连接,最终生成可执行文件 可执行文件包含两部分: 1、程序(机器指令)和数据(源程序中定义的程序) 2、相关的描述信息(程序大小、占用的内 ...
分类:
其他好文 时间:
2020-04-30 22:50:18
阅读次数:
60
内中断 CPU可以在执行完当前正在执行的指令之后,检测到从CPU外部或内部产生的一种特殊信息,并且可以立即对所接受到的信息进行处理。这种特殊信息一般称其为中断信息。中断就是CPU不再接着刚执行完的指令向下执行,而是转而去处理这个特殊信息。 内中断的产生 从CPU内部产生的中断信息被称为内中断。当下列 ...
分类:
其他好文 时间:
2020-04-30 22:49:00
阅读次数:
48