汇编语言学习笔记3

1.cpu是通过地址总线来指定存储单元的,地址单元能传送多少个不同的信息,就表明cpu可以对多少个存储单元进行寻址
 
一个CPU有N根地址总线,可以说这个CPU的地址总线宽度为N,这样的CPU最多可以寻找2的N次方个内存单元

3.数据总线:CPU与内存或其它器件之间数据传送石通过数据总线来进行,数据总线的宽度决定了CPU和外界的数据传送速度

4.控制总线:CPU对外部器件的控制,有多少根控制总线,就意味着着CPU提供了对外部器件的多少种控制,控制总线的宽度决定了CPU对外部器件的控制能力,每一条控制总线代表一种控制,一般来说就是读取或者写入

时间: 2024-08-07 21:18:48

汇编语言学习笔记3的相关文章

小甲鱼零基础汇编语言学习笔记第六章之包含多个段的程序

在前面的几个章节中,我们的程序都是只有一个代码段,本章我们开始学习如何编写包含多个段的程序. 1.在代码段中使用数据 首先考虑这样一个问题,计算以下8个数据的和,结果存放在ax寄存器中: 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H 在前面的课程中,我们都是累加某些内存单元中的数据,并不关心数据本身,可现在我们要累加就是已经给定了数值的数据. 代码如下: 1 assume cs:codesg 2 codesg segment 3 dw 0123H

小甲鱼零基础汇编语言学习笔记第五章之[BX]和loop指令

这一章主要介绍什么是[BX]以及loop(循环)指令怎么使用,loop和[BX]又怎么样相结合,段前缀又是什么鬼,以及如何使用段前缀. 1.[BX]的概念 [BX]和[0]类似,[0]表示内存单元的偏移地址是0.要完整描述一个内存单元,需要两种信息:内存单元的地址,内存单元的长度(类型).[BX]同样也表示一个内存单元,它的偏移地址在bx中,比如指令:mov ax,[bx].这里我们以一个程序为例: 1 assume cs:codesg 2 codesg segment 3 start: mov

小甲鱼零基础汇编语言学习笔记第四章之第一个汇编程序

1.使用工具 代码编写:NotePad++,代码编译器:MASM 2.一个源程序从写出到执行的过程 第一步,使用文本编辑器,用汇编语言编写汇编源程序,这一步产生一个存储源程序的文本文件. 第二步,对源程序进行编译,连接.使用MASM.exe对源程序文件进行编译,产生目标文件,再使用LINK.exe对目标文件进行连接,生成可在操作系统中直接运行的可执行文件.可执行文件包括两个部分,程序(从源程序的汇编指令翻译过来的机器码)和数据(源程序中定义的数据):相关的描述信息 (程序有多大,要占多少内存空间

汇编语言学习笔记(8)——数据处理的基本问题

1.只有"bx.si.di. bp"四个寄存器可以用在[-]中来进行内存单元的寻址 2.这四个寄存器可以单个出现也可以以[by+zi]形式出现,其中y=x或p,z = s或d ,其他格式均为错误的. 3.当使用bp时,如果没有显性地给出段地址,则段地址默认在ss段寄存器中. 4.汇编语言中用三个概念来表达数据的位置: 立即数(idata): 直接包含在机器指令中的[数据](执行前在CPU的[指令缓冲器中]),在汇编指令中直接给出 寄存器 指令要处理的[数据]在[寄存器]中,在汇编指令中

汇编语言学习笔记(二)

六.选择结构 if-then结构 C语言版本 if(count == 10) { count --; i++; } MASM汇编 .if count==10 dec count inc i .endif cmp指令,该指令用于比较两个参数大小 cmp mem, imm 比较内存mem和立即数imm大小 cmp reg, imm 比较寄存器reg和立即数imm大小 cmp reg, mem 比较寄存器reg和内存mem大小 cmp mem, reg 比较内存mem和寄存器reg大小 cmp imm

汇编语言学习笔记(五)

十六.数组 数组的基本表示方法 numary sdword 2,5,7 numary数组中有三个元素,为sdword类型,分别为2,5,7 empary sdword ?, ?,? empary数组为sdword类型元素,未初始化. 如果数组元素很多可通过 zeroary sdword 100 dup(0) zeroary数组中有100个0 empary sdword 3 dup(?) empary 数组中有3个未初始化的sdword类型数据 mov eax, numary+8; 表示把数组nu

汇编语言学习笔记(三)

八.逻辑运算指令 数字在计算机中以二进制存储,每个位数字为0或者1,当两个二进制数字进行逻辑按位&,逻辑按位|,逻辑异或^操作, 可以采用汇编语言提供的逻辑运算指令and,or, xor,not等指令. and指令: C语言&操作,将0110&1101得出结果为0100 C语言代码为 if(flag & maskit) count++; 汇编语言高级指令可实现: mov eax, flag .if eax & maskit inc count .endif 不采用高

汇编语言学习笔记2

1.严格来说汇编语是由以下三部分组成: 1.汇编指令:助记符,即用英语字符替换机器码 2.伪指令:由编译器编译执行,即Mov等控制指令 3.其它符号:由编译器编译执行,计算机是不能识别"+","-"等符号,所以需要编译器编译成机器语言 2.汇编语言的核心是汇编指令,他决定汇编语言的特性 3.我们都知道CPU是计算器的核心部分,想让CPU工作,必须向他提供指令和数据,指令即告诉计算机让它做什么,数据是告诉计算机,让它拿哪些数据做 4.指令和数据在存储器中存放,也就是平

汇编语言学习笔记(六)

十八.字符串处理 前文介绍过字符串的处理,字符串是byte类型 的数组,现在实现一段代码,将字符串string1数据copy到字符串string2中 代码如下 .data string1 byte "Hello World!", 0 string2 byte 12 dup(?), 0 .code mov ecx, 12 mov ebx,0 .repeat mov al, string1[ebx] mov string2[ebx], al inc ebx .untilcxz 通过ecx递

汇编语言学习笔记(4)——第一个可执行程序

概念 1.一个汇编程序是由多个段组成的,所有将被计算机处理的信息:指令.数据.栈,被划分到了不同的段中.一个有意义的汇编程序中至少要有一个段.段的定义语法如下: 段名 segment -- 段名 ends 2.end:是汇编程序的结束标志 3.assume:将某一个段与某个段寄存器进行关联 4.一个程序结束后,将CPU的控制权交还给使他得以运行的程序,这个过程称为"程序返回" 5.程序编写到运行的过程: 编写源程序 -> 编译 -> 连接 (生成可执行文件)->加载-