汇编语言
文章平均质量分 76
Sagittarius_Warrior
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《汇编语言》学习(五)循环
《汇编语言》第五章主要介绍在汇编语言中如何使用循环和在循环中使用变量,以及使用循环从一段内存复制二进制信息到另一段内存,共三个话题。这三个话题的关键词(key word)分别是:loop、[bx]和segment prefix(段前缀)。 本文我将对这三个话题进行简单描述,并给出一张思维导图总结该章节的知识点,最后重点讨论该章节的课后实验题。一、知识点总结1,循环 汇编原创 2016-10-10 12:17:52 · 2936 阅读 · 0 评论 -
《汇编语言》学习(十三)int指令
int指令是X86汇编语言中最重要的指令之一。它的作用是引发中断,调用“中断例程”(interrupt routine)。本文将介绍int指令的基本原理和应用,以及BIOS和DOS系统的中断例程。一、int指令的原理1,指令原型int n注: 1)n 表示中断号,也可以称为中断类型码。n是一个字节大小的正整数,范围为“0 - 255”。2)执行“int n”时原创 2016-11-11 15:40:39 · 33478 阅读 · 0 评论 -
《汇编语言》学习(十)call and ret
《汇编语言》第十章主要介绍CALL和RET指令的原理。本文我将用一张知识图谱总结它的知识点,然后重点展示它的各个课后习题。1,知识图谱 CALL和RET是为函数调用和函数返回准备的一对汇编指令。他们都借助“栈空间”来存储或获取转移的目标地址。2,习题检测点10.1assume cs:codestack segment db 16 dup(0)sta原创 2016-10-26 10:41:49 · 940 阅读 · 0 评论 -
《汇编语言》学习(十七)键盘输入和磁盘读写
《汇编语言》第17章主要介绍BIOS提供的几个中断例程,包括:键盘输入处理中断例程int 9,键盘缓冲区读取例程int 16,磁盘读写中断例程int 13。但是,本章的重点却不是这些中断例程,而是最后的“课程设计 2”,这些BIOS中断例程是为了做好课程设计而准备的。一、键盘输入和缓冲区读取例程1,int 9 int 9是BIOS提供的处理键盘输入的中断例程,CPU在9号中断发生原创 2016-11-23 16:57:23 · 6297 阅读 · 0 评论 -
《汇编语言》学习(十六)直接定址表
本文主要介绍直接定址表。一、地址标号和数据标号1,地址标号 前面各章节中,在代码段中,经常会用到各种标号,有些表示指令的起始地址,有些表示数据的起始地址。这种只在代码段中使用的,形如“s:***”的标号,被称为“地址标号”。 地址标号表示代码段中的指令或数据的起始(偏移地址),对地址标号的调用(call),经过编译器后,会转换为偏移地址。注意,如果直接进行运行,需要使用原创 2016-11-17 17:05:15 · 2388 阅读 · 1 评论 -
《汇编语言》学习(十四)端口
冯诺依曼计算机体系的简化模型就是:处于中心位置的CPU和通过总线连接的各种存储器芯片。事实上,和CPU通过总线相连的芯片除各种存储器外,还有接口芯片。CPU在控制这些芯片的时候,把存储器当作内存来对待,把所有的存储器统一编址,当作一个连续的逻辑存储器,即内存地址空间;CPU把接口芯片当作端口,也对它们进行统一编址,称为“端口地址空间”。 在冯诺依曼计算机中,CPU可以直接读写以下3个地方原创 2016-11-14 15:02:47 · 2126 阅读 · 0 评论 -
《汇编语言》学习(十五)外中断
《汇编语言》第十五章主要通过拦截“BIOS键盘输入中断例程”(int 9)为例,介绍X86 CPU外部中断的机制和处理过程。本文将简述“外中断”的基本原理和给出所有习题的答案。一、什么是外中断1,CPU的第二项功能 CPU的第一项功能是“执行指令,进行运算”,除此之外,CPU的第二项功能就是“控制外部设备”,具体来说就是,CPU对外设的IO功能(Input/Output)。原创 2016-11-16 09:30:19 · 773 阅读 · 0 评论 -
《汇编语言》学习(四)汇编程序
《汇编语言》第四章主要介绍“汇编程序从源码编写到执行和调试的过程”,包括:源码编写、源码构成、编译和链接、加载和返回shell、运行和调试。 本章是一般原理性的内容,没有安排练习题,只有一个实验题。在此,我将用一个思维导出来总结本章的知识点,并分享我搭建实验环境的过程,和给出实验题调试过程。一、知识图谱二、环境搭建 本系列第一篇博文我就提到了,我的汇编学习环境是原创 2016-09-29 16:59:57 · 856 阅读 · 0 评论 -
《汇编语言》学习(三)内存访问
《汇编语言》第三章主要介绍CPU对内存的访问方式:通用内存访问方式和栈内存访问方式。通用内存和栈内存只是访问方式不同,在存储器上没有区别。CPU对内存的访问都是通过“段+偏移”的方式,其中通用内存访问方式,应用的是DS寄存器指定待访问内存的段地址,偏移量直接用数值表示,相关的指令是“mov指令”;而栈内存访问方式,通过SS指定栈空间的段地址,SP指定偏移量,相关的指令是“push/pop”...原创 2016-09-23 16:31:19 · 1321 阅读 · 0 评论 -
《汇编语言》学习(十二)内中断
《汇编语言》第12章主要介绍8086CPU的内中断的机制,包括:4种类型的内中断、中断类型码(byte-256)、中断向量表(IVT)、中断过程、中断处理函数的基本模型和iret中断返回指令。文中以“除0”中断为例,演示了中断的处理过程和如何编写及安装中断处理函数。本文将以一张思维导图总结内中断的知识点,并给出文中的所有习题答案。一、知识图谱二、习题答案检测点12.1(1)原创 2016-11-08 10:54:19 · 2553 阅读 · 0 评论 -
《汇编语言》学习(七)寻址
《汇编语言》第7章主要介绍汇编语言中的几种寻址方式,除了一般的“段+偏移”外,对于数组,还有“基地址+索引”这种类似C语言的寻址方式。本章的学习主要在于对各种寻址方式的理解和灵活运用——不同的寻址方式是为了更好地解决不同应用场景下的问题而设计的。 本文我将先给出一个知识图谱,然后再列几个小程序演示这一课的重点内容。一、知识图谱二、程序清单1,大小写转换assume原创 2016-10-17 15:15:53 · 661 阅读 · 0 评论 -
《汇编语言》学习(十一)标志寄存器
本章主要学习X86汇编语言中的各个标志寄存器及其作用。我将在本文用一张思维导图总结它的知识点,并给出所有的习题答案。一、知识图谱二、习题检测点11.1sub al,al ZF=1,PF=1,SF=0 al=00000000bmov al,1 ZF=1,PF=1,SF=0 al=00000001bpush ax ZF原创 2016-11-03 14:39:42 · 858 阅读 · 0 评论 -
《汇编语言》学习(九)转移指令
《汇编语言》第九章主要介绍“转移指令的原理”。本文我将进行简单的知识介绍,并给出书中习题的答案。一、知识点 转移指令就是可以控制CPU执行内存中某处代码的指令。它可以修改IP,或同时修改CS和IP的值。1,依据位移进行转移的jmp指令 jmp short 标号 jmp near 标号 这两种格式的jmp指令的原理是:1)编译器计算jmp指令到目标原创 2016-10-24 14:04:32 · 751 阅读 · 0 评论 -
《汇编语言》学习(一)基础知识
最近看了谢恩铭同学的博客“学习汇编对编程有什么帮助”(http://www.jianshu.com/p/ef4b0442b3ce),感觉很有必要系统地学习一下汇编语言,于是把书架上的《汇编语言》(第三版,王爽著)拿了出来,加入了最近的学习计划中。 本系列文章主要分享我在学习过程中的心得和知识点总结,以及课后习题的答案。 除谢恩铭分享的答案外,我还在网上搜到如下答案文档:ht原创 2016-09-18 15:12:28 · 1134 阅读 · 0 评论 -
《汇编语言》学习(六)多个段的程序
《汇编语言》第六章主要讲述“如何编写包含多个段的汇编源程序”。本章的文字内容不多,主要通过编程实践来理解汇编源程序架构的含义,通篇学下来,我觉得有以下几点需要理解清楚:1,这里所说的多个段(segment),从汇编“程序”的角度来说,它指的是程序所占用的内存空间的划分,大致分为:data segment、stack segment和code segment。其实际就是指定运行时CPU的原创 2016-10-11 16:10:03 · 1412 阅读 · 0 评论 -
《汇编语言》学习(二)寄存器
本文将总结《汇编语言》第二章——寄存器,相关知识点和习题答案。一、习题答案检测点2.11,写出下面每步运算后的结果mov ax, 62627 AX = f4a3 Hmov ah, 31H AX = 31a3 Hmov al, 23H AX = 3123 Hadd ax, ax A...原创 2016-09-18 17:22:29 · 1042 阅读 · 0 评论 -
《汇编语言》学习(八)数据处理
《汇编语言》第8章主要从“数据处理”的两个基本问题(“where and how long”)开始,介绍汇编语言中高级的寻址方式,特别是对结构体数据的访问。 本文先以一张知识图谱总结该章的知识点,然后再列举该章的几个重点程序,进行详细讲解。一、知识图谱二、结构化数据的处理 计算机是进行数据处理、运算的机器,计算机要处理数据,首先要知道“数据在哪”(whe原创 2016-10-18 16:19:52 · 916 阅读 · 0 评论 -
《汇编语言》学习(十八)
本文主要介绍《汇编语言》一书中的两个课程设计题。课程设计1位于第10章,要求在DOS下用彩色显示一张数据表格。课程设计2位于第17章,要求制作一个系统启动盘。 对于课程设计1,我已经在第10章做过了,参考我的博文链接: http://blog.youkuaiyun.com/sagittarius_warrior/article/details/52931471 对于课程设计2,原创 2016-11-28 14:56:59 · 638 阅读 · 0 评论
分享