汇编语言
花某某
Hero
展开
-
第3章 寄存器(内存访问)
3.1 内存中字的存储内存中上为低地址,下为高地址:上存储低8位,下存储高8位数据将起始地址为N的字单元称为N地址字单元。3.2 DS和[address] 来取内存中的数据3.3 字的传送3.4 mov、add、sub指令①mov原创 2018-01-08 10:57:31 · 256 阅读 · 0 评论 -
第9章 转移指令的原理
9.1 操作符offset取得标号的偏移地址例如:9.2 jmp指令无条件转移指令9.3 依据位移进行转移的jmp指令CPU在执行jmp指令时并不需要转移的目的地址。“jmp short 标号”指令所对应的机器码中,并不包含转移的目的地址,而包含的是转移的位移。①段内短转移原创 2018-01-10 12:01:54 · 246 阅读 · 0 评论 -
第8章 数据处理的两个基本问题
8.1 bx、si、di和bp①②只要在[...]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中。8.2 机器指令处理的数据在什么地方8.3 汇编语言中数据位置的表达立即数寄存器段地址和偏移地址:也可以是显示原创 2018-01-10 12:00:39 · 225 阅读 · 0 评论 -
第7章 更灵活的定位内存地址的方法
7.1 and和or指令and:将操作对象的相应位设为0or:将操作对象的相应位设为17.2 关于ASCLL码7.3 以字符形式给出的数据用'...'的方式指明的数据是以字符形式给出的7.4 大下写转换的问题大写字母和小写字母的第5位(从0开始)分别是:0和1所以只需要利用and和or指令将相应位置成0或1即可7.5原创 2018-01-10 11:43:57 · 209 阅读 · 0 评论 -
第6章 包含多个段的程序
6.1 在代码段中使用数据end xxx :执行程序 的入口在xxx处6.2 在代码段中使用栈sp:堆栈寄存器数据存放在cs:0~cs:F单元中(数据只有放在开头,地址才是这)将cs:10~cs:2F的内存空间当做栈来用 ss:sp指向cs:306.3 将数据、代码、栈放入不同的段例如:原创 2018-01-10 11:37:56 · 257 阅读 · 0 评论 -
第5章 [BX]和loop指令
[bx]:表示一个内存单元,而这个的单元的 偏移地址 在bx中存放。描述性符号:() 表示一个寄存器或一个内存的单元的内容约定性符号idata 表示一个常量5.1 [BX]5.2 Loop指令循环次数放在cx中例如:5.3 在Debug中跟踪loop指令实现的循原创 2018-01-08 11:19:03 · 337 阅读 · 0 评论 -
第4章 第一个程序
4.1 一个源程序从写出到执行的过程4.2 源程序一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当做栈空间来使用。☆assume cs:codesg-->假设。将某一段寄存器和用segment...ends定义的段相关联codesg segment -->定义一个段,段名是codesg,这个段从这开始 ....原创 2018-01-08 11:16:18 · 165 阅读 · 0 评论 -
第2章 寄存器
2.1 通用寄存器存放一般性的数据2.3 几条汇编指令 1、在进行数据传送或运算时,指令的两个操作对象的位数应当一致。(8位寄存器最大可存放值是255)2.4 物理地址内存单元的地址2.6 8086CPU给出物理地址的方法1、8086CPU有20位地址总线(可传输20位地址),而CPU内部结构是16位(只能传输16位地址):8原创 2018-01-08 10:12:24 · 372 阅读 · 0 评论 -
第10章 CALL和RET指令
10.1 ret和retfret指令用栈中的数据,修改ip的内容,从而实现近转移;retf指令用栈中的数据,修改cs和ip的内容,从而实现远转移。10.2 call指令call是段内转移时,将ip压入栈,执行完后,利用ret返回到当前分支处继续向下执行。call是段间转移时,将cs和ip压入栈,执行完后原创 2018-01-10 12:06:35 · 414 阅读 · 0 评论