汇编语言基础知识
- 格式:ppt
- 大小:808.00 KB
- 文档页数:4
汇编语言入门教程汇编语言是一种低级机器语言的抽象表示形式,它将计算机底层的指令表示为可读的文本形式。
掌握汇编语言对于理解计算机硬件和编写高效的程序非常重要。
本教程将带您从零开始学习汇编语言的基础知识和编程技巧。
第一部分:介绍和准备工作1.1什么是汇编语言?1.2为什么要学习汇编语言?1.3汇编语言的基本特点和用途1.4开发环境的准备第二部分:汇编语言基础2.1数据表示和计算机内存2.2寄存器和指令2.3内存寻址方式2.4常用汇编指令2.5标志寄存器和条件分支指令第三部分:汇编语言编程技巧3.1数据的传递和处理3.2循环和分支结构3.3子程序的调用和返回3.4输入和输出操作3.5中断处理和异常控制第四部分:实例和应用4.1计算机硬件的控制4.2内存和外设的读写操作4.3实践项目和应用案例第五部分:调试和优化5.1调试汇编程序5.2性能优化和代码压缩技巧5.3代码的移植和扩展在学习汇编语言时,您需要了解计算机的基本结构和组成部分,包括中央处理器(CPU)、寄存器、内存等。
您还需要安装一款支持汇编语言的集成开发环境(IDE),并了解如何进行编译、调试和执行程序。
在学习汇编语言的基础知识时,您将学习如何表示和处理不同类型的数据,例如整数、浮点数和字符串。
您还将学习如何使用寄存器进行数据传输和计算,以及如何使用不同的寻址方式访问内存中的数据。
在学习汇编语言的编程技巧时,您将学习如何使用循环和分支结构进行条件判断和控制流程。
您还将学习如何编写子程序进行模块化的程序设计,并学习如何进行输入和输出操作以及异常处理。
通过实例和应用的学习,您将了解如何使用汇编语言实现一些常见的功能和操作。
例如,您将学习如何控制计算机硬件,如显示器、键盘和鼠标等。
您还将学习如何进行内存和外设的读写操作,以及如何处理中断和异常。
最后,您将学习如何调试和优化汇编程序,以确保程序的正确性和性能。
您将学习如何使用调试工具进行单步调试和变量跟踪,并学习如何进行代码的优化和压缩。
汇编语言基础知识汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel 公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。
1.1 微型计算机概述微型计算机由中央处理器(Central Processing Unit ,CPU )、存储器、输入输出接口电路和总线构成。
CPU 如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。
存储器包括随机存储器(Random Access Memory ,RAM )和只读存储器(Read Only Memory ,ROM )。
输入输出接口电路用来连接外部设备和微型计算机。
总线为CPU 和其他部件之间提供数据、地址和控制信息的传输通道。
如图1.1所示为微型计算机的基本结构。
外部设备存储器输入输出接口电路中央处理器CPU地址总线数据总线控制总线图1.1 微型计算机基本结构特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。
一个部件只要符合总线结构标准,就可以连接到采用这种总线结构的系统中,使系统功能得到扩展。
数据总线用来在CPU 与内存或其他部件之间进行数据传送。
它是双向的,数据总线的位宽决定了CPU 和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。
在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。
地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了CPU 可以直接寻址的内存范围。
如CPU 的地址总线的宽度为N ,则CPU 最多可以寻找2N 个内存单元。
控制总线用来传输控制信号,其中包括CPU送往存储器和输入输出接口电路的控制信号,如读信号、写信号和中断响应信号等;也包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号等。
汇编语言知识大全汇编语言是计算机科学领域的重要组成部分,它是一种低级语言,用于在计算机硬件上进行编程。
了解和掌握汇编语言对于想要深入了解计算机体系结构和进行底层编程的人来说是非常重要的。
本文将为您提供一份汇编语言知识大全,涵盖汇编语言的基础知识、指令集、程序开发和调试技巧等方面。
一、汇编语言的基础知识1. 什么是汇编语言?汇编语言是一种机器语言的符号表示方法,通过使用助记符(mnemonic)代表特定的二进制指令,使得程序员可以更容易地编写和理解机器代码。
2. 汇编语言和高级语言的区别是什么?汇编语言主要是面向机器的,使用指令来直接控制硬件的操作,而高级语言更加抽象,使用更接近自然语言的语法结构,通过编译器或解释器将其翻译为机器码。
3. 为什么需要学习汇编语言?学习汇编语言可以让我们更好地理解计算机的底层工作原理,能够更加高效地编写程序,优化性能,并且在某些特定的应用中,汇编语言可以实现一些高级语言所不能达到的功能。
二、汇编语言的指令集1. 汇编语言的指令格式汇编语言的指令一般包含操作码(Opcode)、操作数(Operand)和注释三个部分,其中操作码表示要执行的操作,操作数表示要操作的数据,而注释则是对指令的解释说明。
2. 汇编语言的常用指令在汇编语言中,常用指令包括数据传输指令、算术和逻辑指令、控制指令等等。
比如MOV指令用于数据传输,ADD指令用于加法操作,JMP指令用于无条件跳转等。
3. 汇编语言的寻址方式寻址方式是指汇编语言中用于定位操作数的方法,常见的寻址方式有直接寻址、间接寻址、寄存器寻址等。
不同的寻址方式适用于不同的操作场景。
三、汇编语言的程序开发1. 程序结构汇编语言的程序通常由代码段、数据段和堆栈段组成。
代码段用于存放程序的指令,数据段用于存放程序的数据,而堆栈段则用于存放程序的运行时信息。
2. 程序调用在汇编语言中,程序之间的调用可以通过CALL和RET指令来实现。
CALL用于调用子程序,将当前代码的执行流程转移到被调用的子程序中,而RET则用于返回调用点。
x64汇编基础知识x64汇编语⾔在win32asm上做了较⼤改进,如果只凭借之前win32asm的只是来试⽔x64asm,则会有很多意想不到的bug,总的来说x64asm更加⾃由,更加有趣。
1.对32位寄存器的写操作和运算操作,则会对相应的64位寄存器的⾼32位清零。
如在x64dbg上实验,mov eax, 1和add eax, 1会使rax的⾼32位清零;xor eax, eax是对eax的清零运算操作,所以xor rax, rax会被编译器优化为指令更短的xor eax, eax因为⼆者在x64汇编中的效果是⼀样的;但是mov ax,1和mov al, 1不会对rax的⾼32位进⾏清零的操作。
2.⽴即数的使⽤,优先使⽤32位扩展,64位的⽴即数使⽤较少。
push指令和对内存的写操作只⽀持4字节的⽴即数数据,⽐如push 0x12345678和mov qword ptr [rax], 0x12345678是合法的,但是如果要对长度长于4字节的⽴即数使⽤(⽐如0x2134567890),就需要分两步进⾏,借⽤寄存器进⾏操作,如需要将0x1234567890压栈,应当:mov rax, 0x2134567890; push rax.3.x64汇编的⼀些其他的基础知识⽐较常⽤的通⽤寄存器:rax eax ax alrcx ecx cx clrdx edx dx dlrbx ebx bx blrsp esp sp splrbp ebp bp bplrsi esi si silrdi edi di dilr8 r8d r8w r8br9 r9d r9w r9br10 r10d r10w r10br11 r11d r11w r11br12 r12d r12w r12br13 r13d r13w r13br14 r14d r14w r14br15 r15d r15w r15b此外还有rip, xmm0~xmm15的多媒体⽤寄存器,rflags。
汇编语言复习资料【引言】汇编语言作为计算机科学中的重要一环,是掌握计算机底层工作原理的基础。
本文将为读者提供一份汇编语言的复习资料,以帮助读者巩固对汇编语言的理解,并加深对底层计算机工作过程的认识。
【一、汇编语言基础知识】1.1 汇编语言的概念和作用汇编语言是一种低级别的计算机语言,与机器语言一一对应,用于编写和调试底层程序。
掌握汇编语言可以更加直接地操作计算机硬件资源,提高程序的执行效率。
1.2 汇编指令与机器指令汇编指令是汇编语言中最基本的单位,包括机器指令和操作数。
机器指令是计算机能够识别和执行的指令,由操作码和操作数组成。
1.3 寄存器和内存寄存器是计算机内部存储器的一种,用于存储和操作数据。
常见的寄存器包括通用寄存器、指针寄存器和标志寄存器。
内存是计算机中的主要存储器,用于存储指令和数据。
1.4 数据表示和运算汇编语言中使用不同的数据格式表示整数、浮点数和字符等数据类型,并提供相应的运算指令进行数据操作。
【二、汇编语言的程序结构】2.1 汇编语言程序的基本结构汇编语言程序包括数据段、代码段和堆栈段。
数据段用于定义和初始化数据,代码段包含程序的执行指令,堆栈段用于存储程序执行过程中的临时数据。
2.2 汇编语言程序的组织方式汇编语言程序可以使用汇编宏、过程和函数来实现模块化组织,提高代码的可读性和可维护性。
2.3 汇编语言程序的调试方法汇编语言程序的调试可以使用调试器进行单步执行、断点设置和变量查看等操作,以实时监控程序的运行状态。
【三、常用的汇编语言指令】3.1 数据定义指令数据定义指令用于定义变量和常量,并分配存储空间。
常用的数据定义指令包括DB、DW和DD等。
3.2 算术和逻辑指令算术和逻辑指令用于进行加减乘除和逻辑运算等操作。
常见的算术和逻辑指令包括ADD、SUB、MUL、DIV和AND、OR等。
3.3 分支和循环指令分支和循环指令用于根据条件进行跳转或循环执行。
常用的分支和循环指令包括JMP、JZ、JCXZ和LOOP等。
知识点第一章基础知识(1)正负数的补码表示, 掌握计算机中数和字符的表示;eg.假设机器字长为8位,[+3]补=00000011B,[-3]补= 11111101 H 。
十六进制数0FFF8H表示的十进制正数为65528D,表示的十进制负数为-8D。
8位二进制数被看成是带符号补码整数时,其最小值是-128,最大值是 127 。
第二章80x86计算机组织(1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器eg: IP寄存器中保存的是?代码段中的偏移地址FLAGS标志寄存器中共有几位条件状态位6位,有几位控制状态位2位,标志寄存器分为哪2类?陷阱标志,中断标志。
(2)存储单元的地址和内容每一个字节单元给以一个唯一的存储器地址,称为物理地址;一个存储单元中存放的信息称为该存储单元的内容。
存储器地址的分段,(低位字节存放)低地址,(高位字节存放)高地址;实模式下逻辑地址、选择器和偏移地址;物理地址的表示段基地址加上偏移地址。
eg.如果SS=6000H,说明堆栈段起始物理地址是_____60000H___。
已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为__1420H______。
如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)= 0235H ,(DS)= 0E60H .第三章80x86的指令系统和寻址方式与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址)。
数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS 指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)、控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序调用指令、中断)。
新版汇编语言程序设计【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU 可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
汇编语言/单片机/微机原理基础知识典型例题例题1 8086CPU有20条地址线,可直接寻址1MB的内存地址空间,这1MB的存储器分成两个512KB的存储体——“偶存储体”和“奇存储体”,在全译码的情况下,“偶存储体”和“奇存储体”分别用_________来选通。
A.A0B.BHE ,A0C.A0,BHED.ALE正确答案 : C.A0,BHE例题2例题: 在中断系统中,中断类型号是在__________的作用下送往CPU的。
A.读信号B.地址译码信号C.中断请求信号INTRD.中断响应信号正确答案 : D.中断响应信号例题3例题: 采用两片可编程中断控制器8259A级联使用,可以使CPU的可屏蔽中断扩大到()A.15级B.16级C.32级D.64级正确答案 : A.15级例题4例题: 8255A芯片的地址线A1,A0分别接8086的A2,A1,8086芯片的A0参予8255A的片选译码,接到74LS138的输入端。
该接口芯片初始化指令为OUT 8EH,AL则8255A的PA 口地址为()A.8BHB.8FHC.89HD.8AH正确答案 : C.89H例题5例题: 8255A的PA口工作于方式2,PB口工作于方式0时,其PC口()A.用作一个8位I/O端口B.用作一个4位I/O端口C.部分作联络线D.全部作联络线正确答案 : C.部分作联络线例题6例题: 8086/8088复位后从()地址处开始执行程序。
A、00000HB、FFFF0HC、FFFFFHD、FFF0H正确答案 : B、FFFF0H例题7例题: 8086执行指令 MOV AL, BX :,其中BX=2041H时,BHE和A0的输出是()。
A、0,0B、0,1C、1,0D、1,1正确答案 : B、0,1例题8例题: 在堆栈内,有效地址为2500H到2505H单元内依次存放10H、20H、30H、40H、50H、60H六个数,已知SP=2502H,执行POP BX指令后,有()。
汇编程序设计语言知识点汇编程序设计语言是一种低级别的程序设计语言,用于编写计算机的底层代码。
它与高级语言相比,更加接近机器的指令集架构,可以直接操作计算机的硬件和寄存器。
在本文中,将介绍汇编程序设计语言的一些重要知识点。
一、汇编语言基础知识1. 汇编语言的发展历程:从机器语言到汇编语言;2. 汇编语言的组成部分:指令、操作数和寄存器;3. 汇编语言的语法规则:标号、指令、操作数和注释的格式;4. 汇编程序的编写流程:编辑、汇编、链接和运行。
二、汇编语言的数据类型1. 二进制数和十六进制数的表示方法;2. 常用的数据类型:字节、字和双字;3. 数据的存储方式:大端字节序和小端字节序;4. 数据的表示范围和溢出问题。
三、汇编语言的指令集1. 数据传输指令:MOV、XCHG、PUSH和POP等;2. 算术运算指令:ADD、SUB、INC和DEC等;3. 逻辑运算指令:AND、OR、XOR和NOT等;4. 条件转移指令:JMP、JZ、JE和JG等;5. 循环控制指令:LOOP、LOOPZ和LOOPNZ等;6. 系统调用指令:INT、CALL和RET等。
四、汇编语言的控制结构1. 顺序结构:代码按顺序执行;2. 条件结构:根据条件选择执行路径;3. 循环结构:根据条件循环执行代码块;4. 无限循环:使用JMP指令实现无限循环。
五、汇编语言的调试和优化1. 调试工具:调试器、寄存器监视、内存监视和断点设置;2. 常见的调试问题和解决方法;3. 优化技巧:减少指令数量、减少内存访问和提前计算等。
六、汇编语言的应用领域1. 操作系统开发:汇编语言作为操作系统内核的编程语言;2. 嵌入式系统开发:汇编语言用于编写驱动程序和底层代码;3. 游戏开发和图形编程:汇编语言用于优化性能和实现特殊效果;4. 加密和反汇编:汇编语言用于加密算法和反编译程序。
结语本文介绍了汇编程序设计语言的基础知识、数据类型、指令集、控制结构、调试和优化等重要知识点,以及其在不同领域的应用。
汇编语⾔-基础知识汇编语⾔-基础知识汇编语⾔的产⽣计算机作为⼀个只能读懂和执⾏⼆进制的东西,在其刚被发明出时,都是⽤机器语⾔(01⼆进制形式表⽰)来写⼊程序,随着程序越来越复杂,需要更长的组合,不光⼀个微⼩的0->1将会导致错误,以及过于难记忆与分辨。
随后找到了⼀种解决⽅法,将这些最基础⼆进制的指令,⽤⼀串字符表⽰,再由电脑的汇编器(Assembler)将这串字符转化成⼆进制机器语⾔,程序员只需要负责写汇编指令的源代码即可。
汇编语⾔由三部分组成:1. 汇编指令(有与其专门对应的机器码)2. 伪指令(由汇编器执⾏,没有与其专门对应的机器码)3. 其他符号(如+,-,*,/由汇编器执⾏,没有与其专门对应的机器码)程序放在哪⾥CPU是电脑能够运算的核⼼部件,但是想要指挥CPU,需要有指令和数据,储存运⾏中程序的指令和数据的就是常说的内存。
对于磁盘中的数据, CPU⽆法直接直⾏,需要加载到内存中才可以被CPU所使⽤。
指令和数据⼀样,都是⼀串⼆进制码, CPU在⼯作的时候,会根据需要把它们解释成指令或者数据,例如1000101111000011这⼀串⼆进制码,它既可以表⽰数据8BC3_H,⼜可以表⽰指令mov ax, bx (8086CPU中)。
对于内存,⽬前的⽅式均为以8个bit即1byte为最⼩的存储单元(1byte可以保存8位⼆进制数), CPU想从内存中读取或者存储数据,⾸先需要找到要存在内存的地址,传达控制信息是读⼊还是写⼊,以及读或写的数据。
在⼀台计算机中, CPU通过总线,与内存等外部设备进⾏连接,总线可分为三种,分别是地址总线,数据总线以及控制总线,字如其意,地址总线负责找到要读取或者储存的那个位置,数据总线负责数据的传输,控制总线负责传输要执⾏的⾏为是读⼊还是写⼊。
对于8086CPU,他的地址总线有20根,数据总线有16根,也就是说他的寻址空间为2^20Byte,也就是最多可以寻址1MB内存,最多每次只能传输16bit(2Byte)的数据。
汇编语言手册汇编语言是一种底层计算机语言,用于编写各种软件和驱动程序。
它与高级编程语言相比,更加接近计算机底层的硬件操作。
本手册旨在为使用汇编语言编程的开发人员提供详细的参考和指南。
1. 汇编语言的基础知识汇编语言是一种基于机器语言的符号表示方法,通过将操作码和操作数转换为人可读的指令,实现与计算机底层硬件的交互。
首先,我们需要了解汇编语言的基本概念和语法规则,包括寄存器、内存、指令和操作数的使用方法等。
2. 汇编语言的数据类型和指令在汇编语言中,有多种数据类型和指令可以使用。
常见的数据类型包括字节、字、双字和四字等。
指令则用于执行各种操作,如算术运算、逻辑运算和数据传输等。
在本节中,我们将详细介绍常用的数据类型和指令的使用方法和注意事项。
3. 汇编语言的程序结构汇编语言编程通常采用的是过程式的编程方法,即通过定义和调用过程来组织代码。
程序结构的良好设计对于代码的可读性和维护性至关重要。
本节将介绍如何定义和调用过程、使用标签和跳转指令来实现程序的跳转和分支。
4. 汇编语言的输入输出输入输出是任何程序的必要部分。
在汇编语言中,我们通过各种输入输出指令来实现与外部设备的交互。
例如,可以使用键盘输入数据、从内存中读取数据、将数据输出到屏幕或保存到文件等。
本节将介绍如何使用输入输出指令完成常见的输入输出任务。
5. 汇编语言的调试和优化调试和优化是程序开发过程中不可或缺的环节。
在本节中,我们将介绍如何使用调试工具和技术,如断点调试、寄存器跟踪和内存监视等,来定位和修复程序中的错误。
另外,我们还将探讨如何通过代码重构和性能优化等方式提高程序的效率和质量。
6. 汇编语言的应用领域汇编语言虽然底层和复杂,但在某些特定的应用领域中仍然有其存在的价值。
比如,嵌入式系统开发、驱动程序编写和逆向工程等都需要掌握一定的汇编语言知识。
本节将简要介绍几个常见的应用领域,并提供相关的实例和参考资料。
总结:本手册提供了关于汇编语言的详细参考和指南。
汇编基础⼊门知识From:学习汇编前你应该知道的知识1、汇编需要什么⼯具和程序,到哪⾥下载?⽬前阶段,汇编程序仅需要两个程序就够了。
masm.exe,link.exe。
前者是编译程序,后者是链接程序。
另外,为了验证和调试程序,还需要⼀个程序debug.exe,该程序由windows本⾝就提供。
将⼆者下载后,放到某⼀个⽬录中(任意⽬录都可以),考虑到很多命令需要通过键盘敲⼊,所以建议你不要把⽂件放⼊到长⽂件名⽬录、中⽂⽬录或很深的⽬录中。
⽐如你可以建⼀个“D:\Masm”⽬录,并建议此后的程序都放这个⽬录,此后称这个⽬录为汇编⽬录。
2、学习汇编需要有哪些编程⽅⾯的知识?没有任何编程⽅⾯的知识,学习此语⾔等于缘⽊求鱼,所以请放弃学习的想法。
⼀般来说⾄少要知道如下⼏点:*)程序的运⾏逻辑结构有顺序(按语句依次执⾏)、分⽀结构(IF...THEN...ELSE...),循环结构(FOR...NEXT)三种结构。
*)知道什么是⼦程序,什么是调⽤。
*)汇编程序员的视⾓。
不同编程视⾓编程要求是不⼀样的。
⽐如删除⽂件:>>⽤户的视⾓是找到“删除”按钮或菜单,然后单击⼀下即可。
>>⾼级程序员的视⾓是知道删除的⽂件,并发出删除命令。
这些通过API实现。
>>汇编程员的视⾓是得到要删除的⽂件名,找到该⽂件所在位置,通过调⽤删除“中断命令”进⾏删除。
>>操作系统开发⼈员的视⾓则是接到删除命令后,先找到系统根⽬录区,由根⽬录区的链接依次找到⼦⽬录区,直到找到要删除的⽂件,然后按照操作系统删除⽂件的规则对该⽂件名进⾏修改。
⽐如DOS,只把第⼀个字符改成"?"。
按程序语句等价的⾓度看,⼀⾏VB的打印语句,⽤汇编实现⼤约需要⼀百⼆⼗多⾏。
知道汇编语⾔的视⾓后就要知道,前⾯的道路是坎坷的,没有耐⼼是不⾏的。
想通过⼏分钟⼏⾏程序就完成很复杂的操作不是件容易的事。
3、学汇编有什么⽤?汇编产⽣于DOS时代或更早,⽽现在是Windows时代,所以可能遗憾地说:尽管还有批⽜⼈在⽤汇编开发核⼼级程序,但我们⼏乎没什么⽤,除了必要时间能拿来分析⼀两个程序的部分代码之外,别的也就没⼲什么⽤了。