汇编---微机原理

wuchangjian2021-11-15 00:09:23编程学习

segment

是伪指令,定义段

DB

汇编语言中DB指令的意义:
定义字节变量的定义符为DB/BYTE(DefineByte),每个字节只占一个字节单元

eg:

 X    DB   1,2

定义X为一个byte型的数组,有两个元素1,2

寄存器:

1,SI,DI,BX,BP,DS,CS

SI: 16位寄存器,源变址寄存器
DI: 16为寄存器,目的变址寄存器
BX: 16位寄存器(可分成2个8位寄存器BH,BL),基址寄存器
BP: 16位寄存器,基址指针寄存器
SS : 16位段寄存器,作用是存放当前堆栈段的段地址,一般和SP连用
DS: 16为段寄存器, 作用是存放当前数据段的段地址

1、CS:代码段寄存器;
2、DS:数据段寄存器;
3、SS:堆栈段寄存器。
1、代码段寄存器CS:存放当前正在运行的程序代码所在段的段基值。
2、数据段寄存器DS:存放数据段的段基值。
3、堆栈段寄存器SS:存放堆栈段的段基值。

2,AX、BX、CX、DX

汇编语言中的AX、BX、CX、DX是CPU内部的通用寄存器中的数据寄存器助记符。
数据寄存器用来存放参与运算的数据或是存储运算的结果。这四个数据寄存器都是16位的,实际由两个8位寄存器组合而成,这是为了灵活处理8位数据。每个寄存器可以将高、低8位分别作为独立的8位寄存器使用。其中的高8位用AH、BH、CH、DH表示,低8位用AL、BL、CL、DL表示。
这四个数据寄存器除了作为通用寄存器使用外,还有各自的特殊功能:
AX 寄存器称为累加器,常用于存放算术、逻辑运算中的操作数或结果。另外,所有的I/O指令都要使用累加器与外设接口传递数据。
BX 寄存器称为基址寄存器,常用来存放访问内存时的地址。
CX 寄存器称为计数寄存器,在循环、串操作指令中用作计数器。
DX 寄存器称为数据寄存器,在寄存器间接寻址中的I/O指令中存放I/O端口的地址。
此外,在做双字长乘除法运算时,DX 与AX合起来存放一个双字长数(32位),其中DX存放高16位,AX存放低16位。

ADC:

adc是带进位加法指令,它利用了CF位上记录的进位值。

指令格式: adc 操作对象1,操作对象2

功能:操作对象1 = 操作对象1 + 操作对象2 + CF

例如指令 adc  ax,bx实现的功能是: (ax)=(ax)+(bx)+CF

DIV

DIV BL

DIV 是单操作数指令,所以很显然它的后面不能有两个操作数。
这条指令默认被除数为AX。div指令是除法指令。指令div bl执行完后,AL中存放商,AH中存放余数。

什么是一个字:

任意两个连续存储的字节

什么是一个双字:

任意连续存放的四个字节

汇编中字节的大小以字来衡量:

比如:一个字,双字,4字。。。。

变量:

汇编中变量的类型不是特定的类型,而是指存取这个变量需要的字节大小。

ASSUME

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。