汇编语言复习重点总结版
汇编语言指令功能总结

汇编语言指令功能总结汇编语言是一种低级语言,主要用于编写机器码指令的程序。
在计算机科学领域中,汇编语言是非常重要的,因为它可以直接操作计算机的硬件资源。
本文将对汇编语言中常用的指令功能进行总结。
1. 数据传输指令数据传输指令用于将数据从一个位置传送到另一个位置。
常用的数据传输指令包括MOV(将数据从一个位置复制到另一个位置)、XCHG(交换两个位置的数据)、PUSH(将数据压入堆栈)、POP (将数据从堆栈中弹出)等。
2. 算术运算指令算术运算指令用于执行各种算术运算,例如加法、减法、乘法和除法。
常用的算术运算指令包括ADD(将两个数相加)、SUB(将一个数减去另一个数)、MUL(将两个数相乘)、DIV(将一个数除以另一个数)等。
3. 逻辑运算指令逻辑运算指令用于执行各种逻辑运算,例如与、或、非和异或。
常用的逻辑运算指令包括AND(对两个数执行与运算)、OR(对两个数执行或运算)、NOT(对一个数执行非运算)、XOR(对两个数执行异或运算)等。
4. 控制转移指令控制转移指令用于实现程序的跳转和循环执行。
常用的控制转移指令包括JMP(无条件跳转到指定的地址)、JZ(如果前一个运算结果为零则跳转)、JC(如果前一个运算结果进位则跳转)等。
5. 位操作指令位操作指令用于对数据的位进行操作。
常用的位操作指令包括AND(将两个数的对应位执行与运算)、OR(将两个数的对应位执行或运算)、NOT(取反操作)等。
6. 字符串操作指令字符串操作指令用于对字符串进行操作。
常用的字符串操作指令包括MOVSB(将一个字节从源地址复制到目的地址)、LODSB(将一个字节从源地址加载到AL寄存器)、STOSB(将AL寄存器中的值存储到目的地址)等。
7. 输入输出指令输入输出指令用于与计算机的输入输出设备进行交互。
常用的输入输出指令包括IN(从指定的端口读取数据)、OUT(将数据发送到指定的端口)等。
总结:汇编语言中的指令功能丰富多样,可以实现各种复杂的操作。
最新有答案---14-15-1-汇编语言复习资料

最新有答案---14-15-1-汇编语言复习资料汇编语言复习资料第一部分选择题第一章基础知识1.数组array在数据段的定义如下所示,在内存空间的存储值是什么,选出正确的一项(B )array db 1,‘1’,0AH,‘A’,-2A、1H 1H 0AH 0AH 82hB、1H 31H 0AH 41H FEHC、1 1 0A 0A 12hD、31H 31H 41H 41H 02h2.debug命令中显示内存单元内容的命令是( B )A、aB、dC、eD、r3.debug命令中反汇编命令是(D )A、qB、gC、tD、u4.在DEBUG下,修改寄存器AX的命令是___B_。
A.U AX B.R AX C.R D.A AX5.从200H开始反汇编的DEBUG命令是A____。
A.U 200 B.R 200 C.D 200 D.U6.仅查看用户程序中数据段10号存储单元的DEBUG命令是A____。
A.D DS:A A B.D DS:AC.D DS:10 10 D.D DS:107.计算机编程语言的发展顺序是(A )A、机器语言汇编语言高级语言B、汇编语言机器语言高级语言C、高级语言汇编语言机器语言D、高级语言机器语言汇编语言8.将124转换成十六进制数的结果是_A____。
A.7CH B.7DH C.7EH D.7BH9.计算机对字符、符号采用统一的二进制编码。
其编码采用的是_C_____。
A.BCD码B.二进制码C.ASCII D.十六进制码第二章80x86计算机组织10.对汇编语言源程序进行翻译的程序是__B___。
A.连接程序B.汇编程序C.编译程序D.目标程序11.在汇编语言中,能够翻译成二进制代码的指令是__A__。
A.汇编指令B.伪指令C.机器指令D.宏指令12.将高级语言程序翻译成机器语言代码的实用程序是___A___。
A.编译程序B.汇编程序C.解释程序D.目标程序13.下列寄存器中,哪一个不能用来保存偏移地址(A )A、AXB、SIC、DID、BX14.下列哪个寄存器是用来保存堆栈栈顶元素的地址(B )A、BPB、SPC、SID、DI15.程序流程是由下列那对寄存器组来控制的( C )A、DS: SIB、SS: SPC、CS: IPD、ES: DI16. 用来保存现场状态的寄存器是下列哪一个(C )A、CSB、AXC、FLAGSD、IP17.在标志寄存器中表示溢出的标志是__C___。
第1章汇编语言知识学习基本知识

第1章汇编语⾔知识学习基本知识第1章汇编语⾔基础知识本章介绍学习汇编语⾔程序设计所必须具备的基本知识,主要包括汇编语⾔的基本概念及计算机中数据的表⽰⽅法。
通过本章的学习,读者应能了解汇编语⾔概念及其使⽤的进位计数制、不同进位计数制之间的转换、计算机编码以及基本数据类型。
本章内容要点:汇编语⾔的概念汇编语⾔的特点不同进位计数制之间的转换计算机编码1.1汇编语⾔概述1.1.1 汇编语⾔基本概念⾃然语⾔是具有特定语⾳和语法等规范的、⽤于⼈类表达思想并实现相互交流的⼯具。
⼈与⼈之间只有使⽤同⼀种语⾔才能进⾏直接交流,否则就必须通过翻译。
要使计算机为⼈类服务,⼈们就必须借助某种⼯具,告诉计算机“做什么”甚⾄“怎么做”,这种⼯具就是程序设计语⾔。
程序设计语⾔通常分为三类:机器语⾔、汇编语⾔和⾼级语⾔。
⽽前两种语⾔与机器密切相关,统称为低级语⾔。
1.机器语⾔机器语⾔是计算机第⼀代语⾔,它全部由0、1代码组成,是能够直接被机器所接受的语⾔,是最底层的计算机语⾔。
机器语⾔不容易记忆,程序编写难度⼤,调试修改繁琐,且不易移植,现在程序员很少⽤。
但机器语⾔执⾏速度最快,它是⼀种⾯向机器的程序设计语⾔。
2.汇编语⾔为了克服机器语⾔难以记忆、表达和阅读的缺点,⼈们采⽤具有⼀定含义的符号作为助忆符,⽤指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。
例如,⽤ADD表⽰加法指令,SUB表⽰减法指令,MOV表⽰传送指令等。
汇编语⾔是汇编指令集、伪指令集和使⽤它们规则的统称。
伪指令的概念将在第4章介绍。
汇编语⾔⽐机器语⾔直观,容易记忆和理解,⽤汇编语⾔编写的程序也⽐机器语⾔程序易读、易检查、易修改。
对于不同的计算机,针对同⼀问题所编写的汇编语⾔源程序是互不通⽤的。
⽤汇编语⾔编写的程序执⾏效率⽐较⾼,但通⽤性与可移植性仍然⽐较差。
计算机不能直接识别⽤汇编语⾔编写的程序,必须由⼀种专门翻译程序将汇编语⾔程序翻译成机器语⾔程序,计算机才能执⾏。
汇编语言复习资料

汇编语言程序设计复习提纲一、单项选择题1.指令指针寄存器是()。
2. DAL DB 67HNUM EQU 80H则执行AND DAL,NUM语句后DAL中的内容是()。
A. E7HB. 80HC. 67HD. 03.与指令MOV AX,NOT 0F0H等效的汇编语言指令是()。
A. MOV AX,0FHB. MOV AX,0FF0FHC. MOV AX,000FHD. MOV AX,0F0H4.一个有16个字的数据区,它的起始地址是70A0H:DDF6H,则这个数据区最末一个字单元的物理地址是()。
B5.可用作基址变址寻址或寄存器间接寻址的寄存器是()。
,BX,CX,DX ,ES,CS,SS,BP,IP,BX ,DI,BP,BXD6.在串操作指令中,下列描述中不正确的是()。
MOVSB STOSBCMPSB LODSBD7. ORG 0030HDA1 DB 0 , ‘0’, 30H偏移地址为0030H字存储单元的内容是()。
A8.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()。
A. CMPD9.将汇编语言源程序翻译成机器码程序的程序是()。
A.编译程序B.汇编程序C.解释程序D.目标程序B10.设DS=1E4AH,偏移地址为0056H,该字节的物理地址为()。
A. 1E4A6HB. 1E456HC. 1E556HD. 1E4F6HD11.当程序顺序执行时,每取一条指令语句,IP指针增加的值是()A.由指令长度决定的字节数A12.若AX=349DH, CX=0FH。
则执行指令AND AX,CX后,AX的值是()。
B13. 设(AX)=0FC77H, (CX) =504H, CF=1,执行SAR AX, CL指令后,AX的值是()。
A. FFC8HB. FFC9HC. FFC7HC14.假设字节单元(02398H)=12H, (02399H) =34H, (0239AH) =56H,则(02399H)字单元的内容是()。
汇编语言复习知识点(郑晓薇版)

1.9 写出下列算式的二进制运算结果,标志位CF 、SF 、ZF 、OF 分别是什么值?(1)56+63 (2)83-45 (3)-74+29 (4)-92-37 答案:(1) 56+63=01110111B ,CF=0,SF=0,ZF=0,OF =0(2) 83-45=00100110B ,CF=0,SF=0,ZF=0,OF =0(3) -74+29=11010011B ,CF=0,SF=1,ZF=0,OF =0(4) -92-37=01111111B ,CF=1,SF=0,ZF=0,O F=12.13 有一个32K 字节的存储区,首地址是3302:5AC 8H ,写出其首单元和末单元的物理地址。
答案:首单元的物理地址=38AE8H ,末单元的物理地址=38AE8H+7FFFH=40AE7H2.15 存储单元地址和内容表示如下,请画出存储单元存放形式。
(1) (1280A)=3456H (2) (20021H)=4DH (3) (33450H)=37A520D1H2.16 根据逻辑地址计算出物理地址,并解释逻辑地址与物理地址的对应关系。
(1) 2389:3DE9H (2) 1230:EC92H (3) 14D9:C202H 答案:(1)物理地址=27679H (2) 物理地址=20F92H (3) 物理地址=20F92H(2)和(3)的物理地址是一样的。
说明逻辑地址不唯一,多个逻辑地址可对应到同一个物理单元上。
2.17 给出段地址和偏移地址如下,计算出对应的物理地址。
(CS)=54C3H ,(ES)=2569H ,(DS)=1200H ,(SS)=4422H ,(BX)=5678H ,(SP)=9945H ,(IP)=0E54H ,(DI)=63B1H 答案:代码段CS:IP 的物理地址=55A84H 堆栈段SS:SP 的物理地址=4DB65H数据段DS:BX 的物理地址=17678H 附加段ES:DI 的物理地址=2BA41H3.2 分别写出与数据有关的7种寻址方式并举例说明。
汇编语言基础知识

第1章汇编语言基础知识汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。
1.1微型计算机概述微型计算机由中央处理器(Central Processing Unit,CPU)、存储器、输入输出接口电路和总线构成。
CPU如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。
存储器包括随机存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)。
输入输出接口电路用来连接外部设备和微型计算机。
总线为CPU和其他部件之间提供数据、地址和控制信息的传输通道。
如图1.1所示为微型计算机的基本结构。
图1.1微型计算机基本结构特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。
一个部件只要符合总线结构标准,就可以连接到采用这种总线结构的系统中,使系统功能得到扩展。
数据总线用来在CPU与内存或其他部件之间进行数据传送。
它是双向的,数据总线的位宽决定了CPU和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。
在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。
汇编语言程序设计2地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了CPU可以直接寻址的内存范围。
如CPU的地址总线的宽度为N,则CPU最多可以寻找2N个内存单元。
控制总线用来传输控制信号,其中包括CPU送往存储器和输入输出接口电路的控制信号,如读信号、写信号和中断响应信号等;也包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号等。
汇编语言学习笔记

汇编语言学习笔记《汇编语言》--王爽前言学习汇编目的:充分获得底层编程体验;深刻理解机器运行程序的机理。
原则:没有通过监测点不要向下学习;没有完成当前实验不要向下学习。
第一章基础知识有三类指令组成汇编语言:汇编指令;伪指令;其他符号。
8bit = 1byte = 一个存储单元有n根地址线,则可以寻址2的n次方个内存单元。
1.1节--1.10节小结(1)汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种cpu都有自己的汇编指令集。
(3)cpu可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储8个bit,即八位二进制数。
(7)每一个cpu芯片都有许多管脚,这些管脚和总线相连。
也可以说,这些管脚引出总线。
一个cpu可以引出的三种总线的宽度标志了这个cpu不同方面的性能。
地址总线的宽度决定了cpu的寻址能力;数据总线的宽度决定了cpu与其他器件进行数据传送时的一次数据传送量;控制总线的宽度决定了cpu对系统中其他器件的控制能力。
监测点:1KB的存储器有1024个存储单元?存储单元的编号从0到1023.内存地址空间:最终运行程序的是cpu,我们用汇编编程时,必须要从cpu的角度思考问题。
对cpu来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受cpu寻址能力的限制。
这个逻辑存储器即是我们所说的内存地址空间。
第二章寄存器(cpu的工作原理)mov ax, 2add ax, axadd ax, axadd ax, ax(1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;(2)段地址和偏移地址通过内部总线送人一个称为地址加法器的部件;(3)地址加法器将两个16位地址合成为一个20位的物理地址;(4)地址加法器通过内部总线将20位物理地址送人输入输出控制电路;(5)输入输出控制电路将20位物理地址送上地址总线;(6)20位物理地址被地址总线传送到存储器;段地址*16+偏移地址= 物理地址的本质含义内存并没有分段,段的划分来自cpu。
汇编语言考试复习资料

汇编语⾔考试复习资料汇编语⾔期末复习资料整理第⼆章1、寄存器组(1)通⽤寄存器数据寄存器EAX(32位) AX(16位) AH(8位)(⾼位) AL(8位)(低位)累加器EBX(32位) BX(16位) BH(8位)(⾼位) BL(8位)(低位)基址变址ECX(32位) CX(16位) CH(8位)(⾼位)CL(8位)(低位)计数器EDX(32位) DX(16位) DH(8位)(⾼位) DL(8位)(低位)数据指针或变址寄存器ESP(32位) SP(16位)堆栈指针寄存器EBP(32位) BP(16位)基址指针寄存器EDI(32位) DI(16位)⽬的变址寄存器ESI(32位) SI(16位)源变址寄存器(2)专⽤寄存器EIP(32位) IP(16位)指令指针寄存器EFLAGS(32位) FLAGS(16位)标志寄存器ESP (32位) SP(16位)堆栈指针寄存器2、标志位的符号表⽰、3、段寄存器CS(16位)代码段 DS(16位)数据段SS(16位)堆栈段 ES(16位)附加段4、段寄存器和相应存放偏移地址的寄存器之间的默认组合第三章1、七种寻址⽅式(举例)⽴即寻 MOV AX,3069H寄存器寻 MOV AL,BH在内存中的五种寻址直接寻 MOV AX,[2000H]寄存器间接寻 MOV AX,[BX]寄存器相对寻 MOV AX,COUNT[SI] 或者 MOV AX,[SI+COUNT](不推荐) 基址变址寻址 MOV AX,[BP][DI]相对基址变址寻址 MOV AX,MASK[BX][SI]2、指令系统I.数据传送指令(1)通⽤数据传送指令MOV 传送MOVSX 带符号扩展传送⽤源操作数的符号位来填充⽬的操作数的⾼位数据位。
例:MOVSX EAX,CL把CL寄存器中的8位数,符号扩展为32位数,送到EAX寄存器中。
MOVZX 带零扩展传送恒⽤0来填充⽬的操作数的⾼位数据位例:MOVZX DX,AL把AL寄存器中的8位数,零扩展成16位数,送到DX寄存器中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.通用数据传送指令MOV——传送指令指令格式:MOV DST,SRC;(DST)←(SRC)。
DST表示目的操作数, SRC表示源操作数说明:①.DST为除CS外的各寄存器寻址方式或任意存储器寻址方式。
SRC为任意数据寻址方式。
②.DST、SRC不能同时为存储器寻址方式,也不能同时为段寄存器寻址方式,而且在DST为段寄存器时,SRC不能为立即数。
③.MOV指令不影响标志位。
2.地址传送指令(1).LEA——有效地址(EA)送寄存器指令指令格式:LEA REG,SRC;(REG)←SRC说明:①.指令把源操作数(只能是存储器寻址方式)指定的有效地址送到指令指定的16位或32位寄存器(REG)中(但不能是段寄存器)。
②.LEA指令不影响标志位。
3.加法指令(1).ADD——加法指令指令格式:ADD DST,SRC;(DST)←(DST)+( SRC)4.减法指令(1).SUB——减法指令指令格式:SUB DST,SRC;(DST)←(DST) - (SRC)(2).SBB——带借位减法指令指令格式:SBB DST,SRC ;(DST)←(DST) - (SRC) - CF5.除法指令(1).DIV——无符号数除法指令指令格式:DIV SRC;字节操作:(AL)←(AX)/(SRC),(AH)←(AX)%(SRC)字操作:(AX)←(DX,AX)/(SRC),(DX)←(DX,AX)%(SRC)双字操作:(EAX)←(EDX,EAX)/(SRC),(EDX)←(EDX,EAX)%(SRC)6.逻辑运算指令:可以对双字、字或字节执行按位的逻辑运算。
(1).AND——逻辑与指令指令格式:AND DST,SRC;(DST)←(DST)∧(SRC)(2).OR——逻辑或指令指令格式:OR DST,SRC;(DST)←(DST)∨(SRC)(3).XOR——逻辑异或指令指令格式:XOR DST,SRC;(DST)←(DST)⊕(SRC)(4).PUSH——进栈指令指令格式:PUSH SRC;16位指令:(SP)←(SP) –2 ((SP)+1,(SP))←(SRC)32位指令:(ESP)←(ESP) –4 ((ESP)+3, (ESP)+2, (ESP)+1,(ESP))←(SRC)说明:①.堆栈:计算机开辟的以“后进先出”方式工作的存储区。
它必须存在于堆栈段中,只有一个出入口,所以只有一个堆栈指针SP 或ESP 。
SP 或ESP 的内容在任何时候都指向当前的栈顶。
②.8086中的SRC 不能为立即数寻址方式。
286及其后继机型可用立即数寻址方式。
③.PUSH 指令不影响标志位。
(5). POPF/POPFD ——标志出栈指令指令格式:POPF ;(FLAGS)←((SP)+1,(SP)),(SP)←(SP)+2POPFD ;(EFLAGS)←((ESP)+3, (ESP)+2, (ESP)+1, (ESP)),(ESP)←(ESP) -4说 明:这组指令中LAHF 、PUSHF/PUSHFD 不影响标志位。
但POPFD 指令不影响VM ,RF ,IOPL ,VIF 和VIP 的值。
7. 移位指令(1). 移位指令1). SHL ——逻辑左移指令指令格式:SHL OPR ,CNT ; 2). SAL ——算术左移指令指令格式:SAL OPR ,CNT ;同上3). SHR ——逻辑右移指令 指令格式:SHR OPR ,CNT ;4). SAR ——算术右移指令 指令格式:SAR OPR ,CNT ;(2). 循环移位指令1). ROR ——循环右移指令 指令格式:ROR OPR ,CNT ;2). RCR ——带进位位循环右移指令 指令格式:RCR OPR ,CNT ;说 明:①.OPR 为除立即数以外的任意寻址方式。
移位次数由CNT 决定,CNT=1只移位1次;若移位次数超过1次,在8086中则CNT 必须用CL 代替。
而在其他机型中也可用8位立即数指定范围从1~31的移位次数。
②.CF 位已在指令中给出其影响情况。
OF 位只有在CNT=1时有效,一次移位前后的最高有效位(符号位)发生变化则OF=1,否则OF=0。
循环指令不影响其它条件。
移位指令由结果影响SF 、ZF 、PF ,而AF 无定义。
8. 循环指令(1). LOOP ——循环指令指令格式:LOOP OPR测试条件:(Count Reg)≠01). JZ (或JE)——结果为零(或相等)则转移指令格式:JZ (或JE) OPR测试条件:ZF=1(2). TEST ——测试指令指令格式:TEST OPR1,OPR2 ;(OPR1)∧(OPR2)说 明:①.DST 、OPR 、OPR1不允许使用立即数寻址方式。
(3). CMP ——比较指令指令格式:CMP OPR1,OPR2 ;(OPR1) - (OPR2),运算后根据结果影响标志 CF OPR 0CF OPR 0 CF OPR CF OPR CF OPR说明:①.以上指令除DEC不影响CF标志外,它们都影响条件标志位。
②.OF是有符号数的溢出,CF是无符号数的溢出。
但CF可作为多位运算借位标志。
1.WORD PTR:取字长地址值操作符。
(4).INT——中断调用指令指令格式:INT TYPE或INT;TYPE=3时,缺省执行操作:Push (FLAGS)IF←0TF←0AC←0Push (CS)Push (IP)(IP)←(TYPE*4) (每个中断向量占4个字节)(CS)←(TYPE*4+2)说明:①.其中TYPE为类型号,它可以是常数或常数表达式,其值需在0~255范围内。
②.类型0的中断称为除数为0中断,由CPU自动产生,不能用中断指令调用。
③.类型1的中断称为单步中断,CPU进入单步中断的依据为(TF)=1。
不能用中断指令来调用。
单步中断由调试程序DEBUG使用。
④.类型2的中断称为非屏蔽中断,属硬件中断,紧急情况使用,不许用中断指令来调用。
⑤.类型3的中断称为断点中断。
用在调试程序中。
INT又称为断点中断指令,它是单字节指令。
与其他INT TYPE不同,是双字节指令。
⑥.类型4的中断称为溢出中断。
有专门的溢出中断调用指令INTO。
无INT 4指令。
见下面。
1.1.2段定义伪操作1.完整的段定义伪操作(1).SEGMENT/ENDS——段定义伪操作:此对伪操作可以将汇编语言源程序分成几个段,通常为数据段、堆栈段、附加段和代码段。
伪操作格式:segname SEGMENT [align_type][combine_type][use_type] [‘class’] (2).ASSUME——段指定伪操作:告诉汇编程序,段和段寄存器的对应关系。
伪操作格式:ASSUME 分配(assignment),…,assignment说明:其中assignment说明分配情况,其格式为:段寄存器名(segment register name):段名字(segment name)[,段寄存器名:段名字[,……]]ASSUME NOTHING则可取消前面由ASSUME所指定的段寄存器。
2.助记符(Mnemonic):说明所用伪操作的助记符名称同时也说明所定义的数据类型。
通常为下面6种。
(1).DB(Define Byte):定义字节伪操作,其后的每个操作数都占有一个字节(8位)。
(2).DW(Define Word):定义字伪操作,其后的每个操作数都占有一个字(16位)。
(3).DD(Define Double Word):定义双字伪操作,其后的每个操作数都占有一个双字(32位)。
(4).重复操作符DUP:用来指定某个(或某些)操作数重复的次数(还可以嵌套)。
形式为:repeat_count DUP (初值[,初值…]);repeat_count为重复的次数(5)“?”操作数:仅给变量保留相应的存储空间,而不赋给变量初值。
3.EQU——表达式赋值伪操作:用来对一个名字进行赋值。
但不能对一个已赋值的名字重新赋值。
伪操作格式:表达式名字EQU 表达式;表达式可以为常数或者数据的地址说明:PURGE语句:用来解除对某一个名字的赋值。
以后此名字才可由EQU 重新赋值。
伪操作格式:PURGE 原名字;原名字,即前面已赋过值的名字4.= ——表达式赋值伪操作:“=”(等号)伪操作的功能与EQU伪操作基本相同,主要区别在于它可以对同一个名字重新赋值。
伪操作格式:名字= 表达式;表达式可以为常数或者数据的地址(1).INC——加1指令指令格式:INC OPR;(OPR)←(OPR)+1说明:①.以上指令除INC不影响CF标志外,它们都影响条件标志位。
②.OF是有符号数的溢出,CF是无符号数的溢出。
但CF可作为多位运算的进位标志。
(2).PTR属性操作符:指定操作数的类型属性为BYTE、WORD、DWORD、FWORD、QWORD或TBYTE类型。
操作符格式:类型(Type) PTR 变量(Variable)±常数表达式(Constant expression) SIZE:回送分配给变量的字节数,它是LENGTH与TYPE值的乘积。
OFFSET:回送变量或者标号的偏移地址值。
物理地址的求法5.逻辑地址(1).在实模式下逻辑地址即为段地址:偏移地址。
物理地址= 段地址×10H + 偏移地址(2).在保护模式下逻辑地址则由选择器和偏移地址两部分组成。
选择器存放在段寄存器中,但它不能直接表示段基地址,而由操作系统通过一定的方法取得段基地址,再和偏移地址相加,从而求得所选存储单元的物理地址。
1.1.3存储单元的地址和内容:1.字节:每8位二进制数组成一个字节(Byte)。
在存储器里是以字节为单位存储信息。
2.字:16位二进制数(2个字节)组成一个字。
分成低位字节和高位字节存储。
3.存储单元的地址:为了正确的存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址。
以字节为单位给存储单元按二进制从0开始顺序进行的编号。
它是无符号的二进制整数,书写格式为十六进制数。
(1).选址能力:若干位(如x位)二进制数(相当于若干根地址线)所能选择的最大存储单元的地址数(2x)。
(2).1K=1024=210。
所以16位二进制数的选址能力为216=64KB。
用0~FFFFH表示。
IBMPC机(8086/8088 CPU)的选址能力为220=1MB。
4.存储单元的内容:该存储单元存放的信息。
存储器的内容取之不尽。
(1).字节的存储:直接存入某存储单元。
(2).字的存储:一个字存入存储器要占用两个单元。
存放时,低位字节存入低地址单元,高位字节存入高位地址单元。
字单元的地址用它的低地址表示,应尽量为偶数地址。