![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编学习
madao1024
且停,且忘,且随风...
展开
-
win7 64位 如何使用debug功能
下载工具下载一个dosbox和win7 32位debug.exe,安装dosbox,下载连接:https://download.csdn.net/download/madao1234/107034302. 安装dosbox 选择默认路径即可。安装完成后打开出现如下界面3.将debug.exe放入磁盘根目录,这里以D盘为例。在dosbox中输入mount c d:\按回车,出现下图...原创 2018-10-06 15:59:24 · 1183 阅读 · 0 评论 -
汇编语言_第16章 直接定址表
16.1 描述了单元长度的标号数据标号:它标记了存储数据的单元的地址和长度。16.2 在其他段中使用数据标号在其他段中,也可以使用数据标号来描述存储数据的单元的地址和长度。注意:在后面加油“:”的地址标号,只能在代码段中使用,不能在其他段中使用。如果想在代码段中直接用数据标号访问数据,则需要用伪指令assume将标号所在的段和一个寄存器联系起来。否则编译器在编译的时候,无法确...原创 2018-12-07 09:29:55 · 342 阅读 · 0 评论 -
汇编语言_第15章 外中断
15.1 接口芯片和端口CPU通过端口和外部设备进行联系。外设的输入不直接送入内存和CPU ,而是送入相关的接口芯片的端口中;CPU向外设的输出也不是直接送入外设,而是先送入端口中,在由相关芯片送到外设;15.2 外中断信息外中断源分为以下2类:1.可屏蔽中断可屏蔽中断是 CPU可以不响应的外中断。当CPU检测到可屏蔽中断信息时,如果IF=1,则CPU在执行完当前指令...原创 2018-12-04 08:37:05 · 455 阅读 · 1 评论 -
汇编语言_第14章 端口
在PC机系统中,和CPU 通过总线相连的芯片除各种存储器外,还有以下3种芯片:(1) 各种接口卡(如,网卡、显卡)上的接口芯片,它们控制接口卡进行工作;(2) 主板上的接口芯片,CPU通过它们对部分外设进行访问;(3) 其他芯片,用来存储相关的系统信息,或进行相关的输入输出处理;在这些芯片中,都有一组可以由CPU读写的寄存器。 这些寄存器有2个相同点:(1) 都和CPU的总线相连...原创 2018-12-01 08:22:51 · 739 阅读 · 0 评论 -
汇编语言_第12章 内中断
12.1 内中断的产生8086 CPU 当CPU内部有下面情况发生时,将产生相应的中断信息:(1) 除法错误,比如,执行div指令产生的除法溢出;(2) 单步执行;(3) 执行into指令;(4) 执行int指令。8086CPU 用称为中断类型码的数据来表示中断信息的来源。中断类型码为一个字节型数据,可以表示256种中断信息的来源。8086CPU中的中断类型码如下:(1) 除法错误...原创 2018-11-28 09:13:11 · 425 阅读 · 0 评论 -
汇编语言_第11章 标志寄存器
CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都有可能不同)具有以下3种作用:(1)用来存储相关指令的某些执行结果;(2) 用来为CPU执行相关指令提供行为依据;(3) 用来控制CPU的相关工作方式。8086CPU的标志寄存器有16位,其中存储的信息通畅称为程序状态字(PSW)。标志寄存器以下简称为flag。flag寄存器是按位起作用的,即它的每一位都有专门的含...原创 2018-11-26 12:42:17 · 767 阅读 · 0 评论 -
汇编语言_第13章 int指令
13.1 int 指令int 指令的格式:int n ,n为中断类型码,功能是引发中断过程。执行过程如下:(1) 取得中断类型码n;(2) 标志寄存器入栈,TF、IF设置为0;(3) CS、IP入栈;(4) (IP)=(n * 4),(CS)=(n * 4+2)13.2 编写供应用程序调用的中断例程13.3 对int、iret 和栈的深入理解13.4 BIOS 和DOS ...原创 2018-11-29 11:19:34 · 674 阅读 · 0 评论 -
汇编语言_第10章 CALL和RET指令
call 和 ret 指令都是转移指令,它们都修改IP 或同时修改CS 和IP。10.1 ret 和 retfret指令用栈中的数据,修改IP的内容,从而实现近转移;retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移。CPU 执行ret指令时,进行下面2步操作:(1) (IP)=((ss)*16+(sp))(2) (SP)=(SP)+2相当于:pop IPCPU 执...原创 2018-11-23 10:27:10 · 391 阅读 · 0 评论 -
汇编语言_第9章 转移指令的原理
可以修改IP,或同时修改CS和IP的指令统称为转移指令。 转移指令就是可以控制CPU执行内存中某段代码的指令。8086CPU的转移行为有以下几类:只修改IP时,称为段内转移,如:jmp ax同时修改CS和IP时,称为段间转移,如:jmp 1000:0由于转移指令对IP的修改范围不同,段内转移又分为 短转移和近转移。短转移IP 的修改范围为-128~127.近转移IP 的修改范...原创 2018-11-22 13:44:21 · 362 阅读 · 0 评论 -
汇编语言_第6章 包含多个段的程序
6.1 在代码段中使用的数据问题:编程计算以下8个数据的和,结果存在ax寄存器中:0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h上述程序运行时,程序的入口不是我们希望的mov bx,0,以下是在源程序中指明程序的入口所在:有了这种方法,就可以这样来安排程序的框架:6.2 在代码段中使用栈利用栈,将程序中定义的数据逆序存放程序思路...原创 2018-11-05 09:00:41 · 209 阅读 · 0 评论 -
汇编语言_第7章 更灵活的定位内存地址的方法
7.1 and和or 指令(1)and 指令:逻辑与指令,按位进行与运算。(2)or 指令:逻辑或指令,按位进行或运算。7.2 关于ASCII码ASCII是一种编码方案,就是一套规则,它约定了用什么样的信息来表示现实对象。例:61H 表示“a”。7.3以字符形式给出的数据用’…’ 的方式指明数据时以字符的形式给出的,编译器把它们转化为相对应的ASCII吗。7.4 大小写转换的问题Q...原创 2018-11-07 08:47:28 · 297 阅读 · 0 评论 -
汇编语言_第5章 [BX]和loop指令
1.[bx]和内存单元的描述要完整的描述一个内存单元,需要2种信息:①内存单元的地址;②内存单元的长度(类型)。用[0]表示一个内存单元时,0表示单元的偏移地址,段地址默认在ds中,单元的长度(类型)可以由具体指令中的其他操作对象(比如寄存器)指出。[bx]同样也表示一个内存单元,它的偏移地址在bx中。如:mov ax,[bx] 将一个内存单元的内容送入ax,这个内存单元的长度为2字节(字...原创 2018-11-02 09:26:53 · 449 阅读 · 0 评论 -
汇编语言_第8章 数据处理的2个基本问题
(1) 处理的数据在什么地方?(2) 要处理的数据有多长?为了描述上的简洁,我们定义的描述性符号:reg 和 sregreg,表示一个寄存器sreg,表示一个段寄存器reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di;sreg的集合包括:ds、ss、cs、es。8.1 bx、si、di 和bp(1) 在8086CPU中,...原创 2018-11-09 09:01:02 · 297 阅读 · 0 评论 -
汇编语言_第4章 第一个程序
4.1 一个源程序从写出到执行的过程- 第一步:编写汇编源程序。这一步的工作结果:产生一个存储源程序的文本文件- 第二步:对源程序进行编译连接使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用连接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。可执行文件包含2部分内容:程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)相关的...原创 2018-10-31 11:23:19 · 488 阅读 · 0 评论 -
汇编语言_第3章 寄存器
第3章 寄存器(内存访问)3.1 内存中字的存储字单元,即存放一个字型数据(16位)的内存单元,由2个地址连续的内存单元组成。高地址内存单元存放字型数据的高位字节,低地址内存单元中存放字型数据的地位字节。起始地址为N的字单元简称为N地址字单元。3.2 DS 和 [address]DS寄存器:用来存放要访问的数据的段地址。注:8086CPU 不支持将数据直接送入段寄存器的操作,...原创 2018-10-29 09:00:10 · 392 阅读 · 0 评论 -
汇编语言_第2章 寄存器
第2章 寄存器一个典型的CPU 由运算器、控制器、寄存器 等器件构成,这些器件靠内部总线相连。在CPU中:运算器进行信息处理;寄存器进行信息存储;控制器控制各种期间进行工作;内部总线连接各种器件,在它们之间进行数据的传送;2.1 通用寄存器通用寄存器:通常用来存放一般性的数据的寄存器。如8086CPU 中AX、BX、CX、DX 这4个寄存器【8086CPU中所有的寄存器都是1...原创 2018-10-23 09:06:03 · 410 阅读 · 0 评论 -
汇编语言_第1章基础知识
第一章 基础知识1.1 机器语言机器语言是机器指令的集合。机器指令就是一台机器可以正确执行的命令。*电子计算机的机器指令是一列二进制数字。*CPU(Central Processing Unit,中央处理单元),一种微处理器。每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制使它工作。所以每一种微处理器都有自己的机器指令集,也就是机器语言。...原创 2018-10-20 08:34:45 · 271 阅读 · 0 评论 -
汇编语言_第17章 使用BIOS 进行键盘输入和磁盘读写
17.1 int 9中断例程对键盘输入的处理在CPU执行完int 9 中断例程后,都放到了键盘缓冲区。键盘缓冲区中有16 个字单元,可以存储15个按键的扫描码和对应的ASCII码。A、B、C、D、E、shift_A、A的输入过程:17.2 使用int 16h 中断例程读取键盘缓冲区int 16h 中断例程中包含的一个最重要的功能是 从键盘缓冲区中读取一个键盘输入,该功能的编号为0....原创 2018-12-10 15:06:04 · 483 阅读 · 0 评论