![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编
wjintao
这个作者很懒,什么都没留下…
展开
-
汇编学习记录之十二
资料来源:汇编语言第二版-王爽1.loop指令loop指令为循环指令,所有的循环指令都是短转移,在对应的机器码中包含转移的位移,而不是目的地址。对ip的修改范围都为:-128~127。指令格式:loop 标号( (cx) = (cx) - 1 ,如果(cx)≠0,转移到标号处执行。)操作:(1) (cx)=(cx)-1; (2) 如果(cx)≠0,(...原创 2019-12-09 17:26:53 · 269 阅读 · 0 评论 -
汇编学习记录之十一
资料来源:汇编语言第二版-王爽1.转移的目的地址在指令中的jmp指令前面讲的jmp指令,其对应的机器指令中并没有转移的目的地址,而是相对于当前ip的转移位移。指令'jmp far ptr 标号'实现的是段间转移,又称为远转移。功能如下:(cs)=标号所在段的段地址;(ip)=标号在段中的偏移地址。far ptr 指明了指令用标号的段地址和偏移地址修改cs和ip。2.转移地址...原创 2018-12-27 15:11:38 · 189 阅读 · 0 评论 -
汇编学习记录之十
资料来源:汇编语言第二版-王爽1.转移指令的原理可以修改ip,或者同时修改cs和ip的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处的代码的指令。8086CPU的转移行为有以下几类:(1.1)只修改ip时,称为段内转移,比如:jmp ax(1.2)同时修改cs和ip时,称为段间转移,比如: jmp 1000:0由于转移指令对ip的修改范围不同,段...原创 2018-12-06 14:21:59 · 120 阅读 · 0 评论 -
汇编学习记录之九
资料来源:汇编语言第二版-王爽1.寻址方式的综合应用例如:关于DEC公司的一条记录(1982年)如下:公司名称:DEC、总裁姓名:Ken Oslen、排名:137、收入:40亿(40亿美元)、著名产品:PDP(小型机)这些数据在内存中以下图所示方式存放。到了1988年DEC公司的信息有了如下变化:(1)Ken Oslen 在富翁榜上的排名已升至38位;(2)DEC公...原创 2018-12-04 11:32:56 · 343 阅读 · 0 评论 -
汇编学习记录之七
资料来源:汇编语言第二版-王爽1.[bx]和loop指令[bx]表示一个内存单元,它的偏移地址在bx中我们要完整地描述一个内存单元,需要两种信息:(1)内存单元的地址;(2)内存单元的长度(类型)。loop指令的格式是:loop 标号CPU执行loop指令的时候,要进行两步操作:(1)inc cx 即通用寄存器中的值-1;(2)判断通用寄存器cx中的值,不为零则转到标号处执行程...原创 2018-11-27 09:30:44 · 135 阅读 · 0 评论 -
汇编学习记录之六
资料来源:汇编语言第二版-王爽1.源程序例子:assume cs:codesgcodesg segmentstart : mov ax, 0123H mov bx, 0456H add ax, bx add ax, ax mov ax, 4C00H int 21Hcodesg endsend st...原创 2018-11-27 09:30:13 · 259 阅读 · 0 评论 -
汇编学习记录之八
资料来源:汇编语言第二版-王爽1.机器指令处理的数据所在位置绝大部分机器指令都是进行数据处理的指令,处理大致可以分为三类:读取、写入、运算。在机器指令这一层来讲,并不关心数据的值是多少,而关心指令执行前一刻,它将要处理的数据的所在位置。指令执行前,所要处理的数据可以在三个地方:CPU内部、内存、端口。2.汇编语言中数据位置的表达(2.1)立即数(idata)对于直接包含...原创 2018-11-27 09:31:18 · 133 阅读 · 0 评论 -
汇编学习记录之五
资料来源:汇编语言第二版-王爽1.段的综述我们可以将一段内存定义为一个段,用一个段地址指示段,用偏移地址访问段内的单元,这完全是我们自己的安排。我们可以用一个段来存放数据,将它定义为“数据段”,将它的段地址放在数据段寄存器ds中,用mov,add,sub等访问内存单元的指令时,CPU就会将我们定义的数据段中的内容当作数据来进行访问。我们可以用一个段来存放代码,将它定义为“代码段”,...原创 2018-11-20 17:23:34 · 110 阅读 · 0 评论 -
汇编学习记录之四
资料来源:汇编语言第二版-王爽1.mov,add,sub指令mov指令有以下几种形式:mov 寄存器,数据 比如:mov ax, 8mov 寄存器,寄存器 比如:mov ax, bxmov 寄存器,内存单元 比如:mov ax, ds:[0]mov 内存单元,寄存器 比如:mov ds:...原创 2018-11-20 17:07:32 · 156 阅读 · 0 评论 -
汇编学习记录之三
资料来源:汇编语言第二版-王爽1.内存中字的存储在CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。内存单元:内存单元是字节单元,一个单元存放一个字节。字单元:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。2.ds和[address]ds是数据段寄存器在8086CPU中,内存地址由段地址和偏移地址组成(cs/ds/es/...原创 2018-11-20 16:59:30 · 217 阅读 · 0 评论 -
汇编学习记录之二
资料来源:汇编语言第二版-王爽1.段寄存器:8086CPU中有4个段寄存器:cs,ds,es,ss2.cs和ip:cs和ip是8086CPU中两个最关键的寄存器,它们指示了CPU当前读取指令的地址。cs为代码段寄存器,ip为指令指针寄存器。在8086PC机中,任意时刻,8086CPU将cs:ip指向的内容当作指令执行。jmp指令可以同时修改cs、ip的内容:jmp 段地...原创 2018-11-20 16:58:08 · 108 阅读 · 0 评论 -
汇编学习记录之一
资料来源:汇编语言第二版-王爽1.16位通用寄存器:ax,bx,cx,dx;用来存放一般性的数据,如:012FH2.为了保证兼容,每个通用寄存器可以分为两个独立的8位寄存器来使用:ax可分为 ah,al;bx可分为 bh,bl;cx可分为 ch,cl;dx可分为 dh,dl;当16位通用寄存器分为两个独立的8位寄存器使用的时候,ah和al互不相关;如:mov al,...原创 2018-11-20 16:57:11 · 273 阅读 · 1 评论