![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
GLOW444
这个作者很懒,什么都没留下…
展开
-
汇编语言第三版(王爽著)(第13章.int指令)
13.1 int指令CPU执行int n指令相当于引发一个n号中断的中断过程,执行过程如下:1.取中断类型码n2.标志寄存器入栈IF=0,TF=03.CS,IP入栈4.(IP)=N4,(CS)=N4+2我们可以将中断处理程序简称为中断例程。13.2 编写供应用程序调用的中断例程编写安装中断7ch的中断例程功能:求一word型数据的平方03:assume cs:codecod...原创 2019-12-16 06:22:12 · 244 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第12章.内终中断)
中断信息。中断的意思是指,CPU不再接着向下执行,而是转去处理这个特殊信息12.1 内中断的产生当CPU内部由下面情况发生的时候,将产生相应的中断信息。(中断类型码表示中断的来源)1.除法错误,中断类型码02.单步执行,中断类型码13.into,中断类型码44.int 后面跟的是中断类型码12.2 中断处理程序用来处理中断信息的程序被称为被称为中断处理程序中断类型码的作用就是用来...原创 2019-12-15 11:04:00 · 160 阅读 · 0 评论 -
汇编语言实验11(王爽)编写子程序
若有错误或有问题可评论或加QQ:1270082767assume cs:codesgdatasg segmentdb “Beginner’s All-purpose Symbolic Instruction Code.”,0datasg endscodesg segmentbegin:mov ax,datasgmov ds,axmov si,0call lettercmov a...原创 2019-12-14 11:53:16 · 135 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第11章.标志寄存器)
标志寄存器的作用:用来存储相关指令的某些执行结果用来为CPU执行相关指令提供行为依据用来控制CPU的相关工作方式其中存储的信息通畅被称为程序状态字(PSW)简称flagflag 和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。而flag寄存器是按位起作用的。也就是说,它的每一位都有专门的含义,记录特定的信息。flag寄存器的结构0 CF2 PF4...原创 2019-12-14 11:00:43 · 293 阅读 · 0 评论 -
汇编语言实验10(王爽)编写子程序
第一个:显示字符串assume cs:codedata segmentdb ‘Welcome to masm!’,0data endscode segmentstart:mov dh,8mov dl,3mov cl,2mov ax,datamov ds,axmov si,0call show_strmov ax,4c00hint 21hshow_str:push a...原创 2019-12-12 16:02:02 · 219 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第十章.call和ret指令)
call和ret指令都是转移指令,他们可以修改IP或同时修改IP和CS,它们经常被共同用来实现子程序的设计。**//**此处注意复习栈的内容10.1 ret和retfret指令用栈中的数据,修改IP的内容,从而实现近转移 段内转移retf指令用栈中的数据,修改IP和cs的内容,从而实现远转移 段间转移CPU执行ret指令时,进行下面两步操作(1)(IP)=((SS)*16+SP)...原创 2019-12-11 08:17:40 · 353 阅读 · 0 评论 -
汇编语言实验九(王爽)根据材料编程
编程所需的知识如下:8025 彩色字符模式显示缓冲区:1.内存地址空间中,B8000h~BFFFFh 共32KB的空间,为8025彩色字符模式的显示缓冲区。向这个地址空间写入数据,写入的内容将立即出现在显示器上。2.25行,每行80个字符,每个字符可以有256个属性3.一个字符两个字节,分别存放ASCII码和属性4.显示缓冲区分为8页,每页4000B,通常情况下第0屏的内容也就是B800...原创 2019-12-09 10:12:55 · 365 阅读 · 1 评论 -
汇编语言实验八(王爽)分析一个奇怪的程序
1 assume cs:codesg2 codesg segment3 mov ax,4c00h4 int 21h5 start:mov ax,06 s:nop7 nop8 mov di,offset s9 mov si,offset s210 mov ax,cs:[si]11 mov cs:[di],ax12 s0:jmp short s13 s1:mo...原创 2019-12-08 16:32:01 · 185 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第九章.转移指令的原理)
可以修改IP或同时修改IP和CS的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。只修改ip是段内转移,jmp ax;同时修改cs和ip是段间转移,jmp 1000:0由于转移指令对IP的修改范围不同,段内转移又分为短转移和近转移短转移IP的修改范围 -128~127近转移IP的修改范围 -32768~327678086CPU的转移指令分为以下几类。...原创 2019-12-08 15:39:36 · 220 阅读 · 0 评论 -
汇编语言实验七(王爽)寻址方式在机构化数据访问中的应用
//注意,不要直接赋值给段地址原创 2019-12-07 22:01:19 · 118 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第八章.数据处理的两个基本问题)
前导两个基本问题:1.处理的数据在什么地方2.要处理的数据有多长两个描述性的符号:reg(寄存器)和sreg(段寄存器)reg:ax bx cx dx ah al bh bl ch cl dh dl sp bp si disreg: cs ds ss es8.1 bx、si、di和bp总结:1.在8086CPU中,只有这4个寄存器可以用在[ ]中来进行内存单元的寻址mov ax...原创 2019-12-04 21:04:24 · 225 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第七章.更灵活的定位内存地址的方法)
7.1and和or指令1.and指令通过该指令可将操作对象的相应位设为0例如:将al的第6位设为0的指令是 and al,10111111B2.or指令通过该指令可将操作对象的相应位设为1例如:将al的第6位设为1的指令是or al,01000000B7.2 关于ASCLL码A:65 a:97Z:90 z:1227.3 以字符形式给出的数据1.在汇编程序中,用‘…’的方...原创 2019-12-03 23:28:58 · 287 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第六章.包含多个段的程序)
前导在操作系统的环境中,合法地通过操作系统取得的空间都是安全的,因为操作系统不会让一个程序所用的空间和其他程序以及系统自己的空间相冲突。在操作系统允许的情况下,程序可以取得任意容量的空间程序取得所需空间的方法有两种,一是在加载程序的时候为程序分配,再就是程序在执行的过程中向系统申请。6.1 在代码段中使用数据为了使程序在编译、链接后可以在系统中直接运行,我们可以在源程序中指明程序的入口所在...原创 2019-11-26 20:44:23 · 162 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第五章.[BX]和loop指令)
小小的引导1.[bx]表示一个内存单元,它的偏移地址在bx中。例如mov ax,[bx] 表示:将一个内存单元中的内容送入ax,这个内存单元的长度为2个字节,存放一个字,偏移地址在bx中,段地址在ds中。2. loop 循环3. 描述性的符号()表示一个寄存器或者一个内存单元中的内容(ax)表示ax中的内容、(al)表示al中的内容,(20000h)表示20000h单元中的内容(()...原创 2019-11-25 09:49:06 · 400 阅读 · 0 评论 -
汇编语言实验四(王爽) [bx]和loop的使用
2.assume cs:codecode segment mov ax,0020h mov ds,ax mov bx,0 mov cx,64 s:mov [bx],bx inc bx loop s mov ax,4c00h int 21hcode endsend3.assume cs:codecode segment...原创 2019-11-25 09:48:26 · 371 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第四章.第一个程序)
4.1 一个源程序从写出到执行的过程编写汇编源程序-对源程序进行编译链接-执行程序4.2 源程序assume cs:codesgcodesg segment mov ax,0123h mov bx,0456h add ax,bx add ax,ax mov ax,4c00h int 21...原创 2019-10-07 16:42:02 · 180 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第三章.寄存器(内存访问))
3.1 内存中字的存储1.CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低八位存放低位字节。0 20H1 4EH2 12H3 00H第一个字是 4E20H第二个字是 0012H2.字单元我们将起始地址为N的字单元简称为N地址字单元。比如一个字单元由0 1两个内存单元组成,则这个字单元的起始地址为0,我们可以说这是0地址字单元。3.2 DS和 [ ]DS通常用...原创 2019-09-28 21:28:05 · 357 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第二章.寄存器)
一个典型的CPU由运算器,控制器,寄存器,输入输出设备等器件构成。运算器进行信息处理,寄存器进行信息存储,控制器控制各种器件进行工作,内部总线连接各种器件,在它们之间进行数据的传送。不同的CPU,寄存器的个数,结构是不相同的。8086CPU有14个寄存器 AX BX CX DX CS SS DS ES SP BP IP SI DI PSW2.1 通用寄存器8086CPU的所有寄存器都是...原创 2019-09-22 16:15:02 · 188 阅读 · 0 评论 -
汇编语言第三版(王爽著)(第一章)
教学重点:通过学习关键指令来深入理解机器工作的基本原理,培养底层编程意识和思想。汇编语言是直接在硬件之上工作的编程语言,我们首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程。汇编语言的研究重点:如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作。1.1 机器语言机器语言是机器指令的集合。电子计算机的机器指令是一系列二进制数字。计算机将它转变为一系列高低电平,以使电子计算...原创 2019-09-14 19:33:27 · 525 阅读 · 0 评论