汇编无法得到高级语言,因为不同高级语言在汇编上是相同的总线
每一个CPU新片都有许多管脚,这些管脚和总线相连,CPU通过总线和外部器件进行交互。总线的分类
寻址能力的计算:首先明白总线就是导线,导线能够传递的是电信号,电信号分为两种:高电平信号、低电平信号,高电平信号即 1,低电平信号即 0。假如总线总线的宽度是 3 ,那么 3 根导线高电平为 1 ,低电平为 0 ,它们最大能够传递的值只有 $2^3$ 种:000,001,010,011,100,101,110,111。数据总线:传递,CPU和内存之间传递具体数据
单次数据传送量的计算:数据总线的宽度是16,同地址线一样,16根线代表16位0或1,即16位二进制数据,一次最多能够传送16个二进制位。一个字节是8位,16位即2个字节。所以8086单次能够传递的最大数据量就是2个字节。
8088的数据总线宽度是8,8086的数据总线宽度是16,分别向内存中写入89D8H时(89D8H即16进制的89D8,汇编语言中末尾加H代码16进制)。一个16进制代表4个二进制位,两个16进制代表8个二进制位即1个字节,四个16进制即2个字节。因为8088数据线宽度是8,一次只能传递一个字节,所以8088传递89D8H需要传2次,第一次传D8,第二次传89。而8086只需要一次就能够将89D8传递完成。控制总线:控制,告诉内存需要进行读还是写操作
在内存或者磁盘上中,指令和数据没有任何区别,都是二进制信息。 CPU在工作时,有时候把信息当作指令,有时候看作数据,同样的信息赋予不同的意义。
CPU根据什么将内存中的数据信息当作指令? 通过CS:IP指向的内存单元内容看作指令。DS 数据段寄存器(Data Segment Register)
除了BP寄存器,其他寄存器默认均使用DS寄存器,BP使用SS寄存器
BP不能和BX一起作为偏移地址,SI不能和DI一起作为偏移地址段寄存器中的值成为 段地址 ,通用寄存器中的值称为 偏移地址
由于在汇编语言中用符号表示地址,所以指令“MOV AL,VAR”中的源操作数寻址方式是直接寻址,有时也写做“MOV AL,[VAR]”寄存器间接寻址
如果你想要声明一个比255更大或比-128更小的值,你可以使用DW取代DB。注意:DW 不能被用来声明字符串获得变量的地址(LEA,OFFSET)
注意:只有以下寄存器可以被用在方括号内(作为内存指针):BX,SI,DI,BPLEA
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |