![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编
一条驴
解决问题的关键在于提出问题
展开
-
汇编-数据处理的两个基本问题
数据处理的两个基本问题bx,si,di和bp只有bx,si,di和bp可以放在[ ]中进行内存单元的寻址可以单个出现和组合出现组合的方式:bx + si,bx + di, bp + si, bp + di,bx + si + idata,bx + di + idata, bp + si + idata, bp + di + idata机器指令处理的数据在什么地方数据存放的位置:CPU内部、内存、端口汇编语言中数据位置的表达立即数(idata):直接包含在机器指令中的数据(执行前在CPU原创 2021-10-30 10:44:24 · 199 阅读 · 0 评论 -
汇编 - 更灵活的定位内存地址的方法
更灵活的定位内存地址的方法and和or指令and:逻辑与指令,按位进行与运算or:逻辑或指令,按位进行或运算ASCII码0 ~ 9:48D ~ 57D;30H ~ 39HA ~ Z:65D ~ 90D;41H ~ 5AHa ~ z:97D ~ 122D;61H ~ 7AH以字符形式给出的数据可以以' '表示字符串,例如 'ABC'大小写转换的问题转换为大写:将字符的第五位清零转换位小写:将字符的第五位置一[bx + idata]mov ax,[bx + 200] = m原创 2021-10-30 09:10:58 · 144 阅读 · 0 评论 -
汇编-包含多个程序的段
包含多个程序的段在代码段中使用数据如何让这个程序在编译、连接后直接在系统中运行在程序指令前加入start:,end 后面添加 startend start会指明程序的入口,加载程序的程序会设置CS:IP指向程序入口格式assume cs:xxxx segment dw 数据,数据,数据,数据,数据,数据,数据,数据start 指令xx endsend在代码段中使用栈assume cs:xxxx segment dw 数据,数据,数据,数据,数据,数据,数据,数据 dw 0,原创 2021-10-29 16:11:55 · 110 阅读 · 0 评论 -
汇编 -[BX]和loop指令
[BX]和loop指令[bx]和内存单元的描述如 mov ax,[bx]将一个内存单元的内容送入ax,长度为2个字节,偏移地址在bx中,段地址在ds中loop循环我们定义的描述性的符号:“()”(ax)表示ax中的内容,(al)表示al中的内容(20000H)表示内存单元20000H中的内容((ds)*16+(bx))表示ds中的内容addr1x16 + bx中的内容addr2的地址单元的内容也可以理解为以addr1为段地址,addr2为偏移地址的内容()里面可以有三种元素:寄存器名原创 2021-10-26 16:55:14 · 161 阅读 · 0 评论 -
汇编 - 第一个程序
第一个程序一个源程序从写出到执行的过程略源程序伪指令伪指令不被CPU执行,是由编译器来执行的指令xxx segmentxxx ends这是一对成对的伪指令,功能是定义一个短,segment开始,ends结束,xxx段名end 标记汇编程序结束assume 将段寄存器和具体的代码段关联源程序源程序 = 伪指令 + 汇编指令标号如:codesg segment,codesg作为一个代码段的名称,这个段的名称最终将被编译、连接程序处理为一个短的段地址程序的结构定义一个段在段中写入原创 2021-10-26 16:52:31 · 389 阅读 · 0 评论 -
汇编语言-寄存器(内存访问)
寄存器(内存访问)内存中的字的存储略DS和address8086CPU中的DS寄存器,通常用来存放要访问数据的段地址读取10000H单元的内容mov bx,1000Hmov ds,bxmov al,[0]上面3条指令将10000H(1000:0)中的数据读到al中mov指令的使用1、将数据直接送入寄存器2、将一个寄存器中的内容送入另一个寄存器3、将内存单元数据送入寄存器,mov 寄存器名称,内存单元地址字的传送mov、add、sub指令数据段栈CPU提供的栈机制栈顶超界原创 2021-10-23 14:43:34 · 632 阅读 · 0 评论 -
汇编语言-寄存器
寄存器寄存器是CPU中程序员可以用指令读写的部件,CPU的主要部件是寄存器,程序员通过改变各种寄存器的内容来实现对CPU的控制CPU由运算器、控制器、寄存器等器件构成,器件通过总线连接,第一章描述的地址、控制、命令总线对于CPU内部来说是外部总线,内部总线实现内部各器件连接运算器进行信息处理寄存器进行信息存储控制器控制各器件工作内部总线连接各种器件,在他们之间传输数据8086CPU由14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW通用寄存器原创 2021-10-22 17:26:38 · 593 阅读 · 0 评论 -
汇编语言-基础知识
基础知识机器语言机器语言 = 机器指令的集合机器指令 = 机器可以正确执行的命令 = 一列二进制数字每一种微处理器,由于硬件设计和内部结构不同,需要不同的电平来控制,所以每一种微处理器都有自己的机器指令集由于机器语言都是一列列二进制数字,不方便维护和管理,且极其容易出错,所以产生了汇编汇编语言的产生汇编语言的主体是汇编指令汇编语言和机器指令的差别在于表示方法汇编指令是机器指令便于记忆的书写格式程序员->汇编指令->编译器->机器语言->计算机汇编语言的组成原创 2021-10-22 15:22:16 · 154 阅读 · 0 评论