《微机原理及接口技术》课件第四章8086寻址方式与指令系统wq.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
能识别的目标代码的系统程序。如 MASM.EXE 。
1、 汇编语言
汇编语言是一种面向CPU指令系统的程序设计语言,它 采用指令系统的助记符来表示操作码和操作数,用符号地址 表示操作数地址,因而易记、易读、易修改,给编程带来很 大方便。
用汇编语言编写的程序能够直接利用硬件系统的特性,直 接对位、字节、字寄存器、存储单元、I/O 端口等进行处理, 同时也能直接使用CPU指令系统和指令系统提供的各种寻址 方式编制出高质量的程序,这种程序不但占用内存空间少, 而且执行速度快 。
➢ 目标程序文件经连接定位后由计算机执行; ➢ 源程序列表文件将列出源程序、目标程序的机器语言 代码及符号表。
汇编语言指令的特点
机器指令:指令的二进制代码形式。如: 89D8H 汇编指令:助记符形式的指令。如:MOV AX,BX
语法结构符合人类语言的共同特点—— 动作+对象
在高级语言中,完成某个加法功能,我们可采用语句 X=A+B,只要给变量A和B赋一确定值,此加法就可以实现了。 在汇编语言中则不同,程序必须指出A,B存放在何处,相加 后的结果又存放在何处,然后才能实现这一加法运算。显然, 汇编语言在通过程序告诉计算机做什么和如何做时,显得更加 具体。正是这种具体,使得该语言与计算机(处理器)紧密相 关,从而也要求学习和使用汇编语言的人对处理器的结构有更 加深入的了解。
所以,Hale Waihona Puke Baidu编语言的一系列规则是与“翻译”软件——汇编 程序相关的。
汇编语言的语句有两种基本类型,即指令与伪指令。指令 可由汇编程序翻译成机器语言指令,例如上例中的ADD AX, 02,汇编后将形成一条机器语言指令05 02 00(十六进制码), 所以,汇编语言中的指令与机器语言指令基本上是一一对应的。 伪指令则不汇编成机器语言指令,仅仅在汇编过程中告诉汇编 程序应如何汇编。例如告诉汇编程序已写出的汇编语言源程序 有几个段,段的名称是什么,是否采用过程,汇编到某处是否 需要留出存储空间,应留多大,是否要用到外部变量等。
表示一条指令的这些字符常称为助记符。我们必须指出, 采用助记符写出的程序,机器是不能直接执行的,因为上面 我们已经指出,处理器在设计时是按二进制指令码考虑的。 所以,采用汇编语言编写的程序在执行前还必须将其“翻译” 成机器语言。通常将采用助记符指令写成的程序,称为源程 序,将它翻译成的机器语言程序称为目标程序。将汇编语言 的源程序翻译成目标程序的过程称为汇编过程或简称汇编。 汇编过程通常是由计算机完成的。它是通过执行一个专门完 成汇编的软件—— 称为汇编程序来实现的。既然写出的源程 序要由汇编程序将其翻译后才能执行,所以,我们编写的源 程序必须符合汇编程序的一系列要求或者规则,只有这样, 你的程序才能被正确地“翻译”。
那么,什么是机器语言,汇编语言与机器语言之间又有什 么关系呢? 我们说,机器语言是这样一种语言,它的每条语句 就是计算机可以直接执行的一条指令,这些指令以二进制码的 形式表示。例如我们要将累加器AX中加上一个常数 02, 其二 进制码表示的指令为:
000001010000001000000000。也就是说,当处理器中取得 了这样一组指令代码时,它将自动地完成(AX)+2→(AX) 中的操作。处理器所以能这样是因为处理器在设计时,就考虑 了这样一组代码应完成的功能。自然,不同的处理器,指令的 机器码将各不相同,完成的具体功能也将各不相同。采用机器 语言编写程序的一个最大好处是,程序送入计算机后,可以直 接执行。但是,我们很快会感觉到, 采用机器语言编写程序是 多么困难,既不易书写,也不易检查。汇编语言正是为了克服 这一缺点而形成的一种与机器语言直接相关的语言。汇编语言 的基本思想是采用一组字母、数字或符号来代替一条二进制码 表示的指令,例如上面所述的指令可采用字符ADD AX, 02 来 代替,它表示将累加器AX中的内容加上一个常数 02。 显然, 这要比一串二进制码清晰多了,既容易书写,也容易记忆。
B8H、C3H的助记符为MOV AX,BX 。 CPU不同,机器码不同,助记符也不同。
• 高级语言 语言规范,可移植。
4.1.3 汇编语言与汇编程序
• 汇编语言→汇编语言源程序 ✓ 用助记符表示机器码 ✓ 用符号地址表示存储器地址 ✓ 用伪指令管理源程序 汇编程序 将汇编语言源程序(简称源程序)编译为机器所
第四章 8086寻址方式与指令系统
4.1 汇编语言和汇编程序的基本概念 4.2 8086寻址方式 4.3 8086的指令格式 4.4 8086指令系统
§4.1 汇编语言及汇编程序的基本概念
4.1.1汇编语言与机器语言
我 们 已 经 学 过 高 级 语 言 , 例 如 BASIC 语 言 、 FORTRAN语言或C语言,无论哪种语言,它都规 定了一系列用于编写程序的语句和应该遵循的语法 规则。人们根据一种语言给定的语句及其语法规则 就可以写出程序,计算机则通过执行已编好的程序 来完成人们要求它完成的各种复杂功能。汇编语言 也一样,根据汇编语言的语句及其语法规则可以写 出汇编语言程序。但汇编语言与高级语言有较大的 区别,汇编语言中的语句与机器的种类和型号密切 相关。
所以,伪指令是为汇编程序在汇编时用的。 但指令与伪指令都是组成汇编语言源程序的基本 语句。除了这两类基本语句外,在汇编语言中, 还存在另一类指令称为宏指令,它是使用者利用 上述基本语句自己定义的新的指令。
4.1.2 各种计算机语言的比较
• 机器语言 用机器码表示,例如B8H、C3H。
• 汇编语言 用指令助记符表示机器码,例如对应于机器码
2、 汇编程序
用汇编语言编写的源程序在输入计算机后,需要将其翻 译成目标程序,计算机才能执行相应指令,这个翻译过程称 为汇编,完成汇编任务的程序称为汇编程序。
有 基 本 汇 编 ASM ( Assembler ) 和 宏 汇 编 MASM (MacroAssembler)两种。
汇编程序以汇编语言源程序文件作为输入,并由它产生 两种输出文件:目标程序文件和源程序列表文件。
1、 汇编语言
汇编语言是一种面向CPU指令系统的程序设计语言,它 采用指令系统的助记符来表示操作码和操作数,用符号地址 表示操作数地址,因而易记、易读、易修改,给编程带来很 大方便。
用汇编语言编写的程序能够直接利用硬件系统的特性,直 接对位、字节、字寄存器、存储单元、I/O 端口等进行处理, 同时也能直接使用CPU指令系统和指令系统提供的各种寻址 方式编制出高质量的程序,这种程序不但占用内存空间少, 而且执行速度快 。
➢ 目标程序文件经连接定位后由计算机执行; ➢ 源程序列表文件将列出源程序、目标程序的机器语言 代码及符号表。
汇编语言指令的特点
机器指令:指令的二进制代码形式。如: 89D8H 汇编指令:助记符形式的指令。如:MOV AX,BX
语法结构符合人类语言的共同特点—— 动作+对象
在高级语言中,完成某个加法功能,我们可采用语句 X=A+B,只要给变量A和B赋一确定值,此加法就可以实现了。 在汇编语言中则不同,程序必须指出A,B存放在何处,相加 后的结果又存放在何处,然后才能实现这一加法运算。显然, 汇编语言在通过程序告诉计算机做什么和如何做时,显得更加 具体。正是这种具体,使得该语言与计算机(处理器)紧密相 关,从而也要求学习和使用汇编语言的人对处理器的结构有更 加深入的了解。
所以,Hale Waihona Puke Baidu编语言的一系列规则是与“翻译”软件——汇编 程序相关的。
汇编语言的语句有两种基本类型,即指令与伪指令。指令 可由汇编程序翻译成机器语言指令,例如上例中的ADD AX, 02,汇编后将形成一条机器语言指令05 02 00(十六进制码), 所以,汇编语言中的指令与机器语言指令基本上是一一对应的。 伪指令则不汇编成机器语言指令,仅仅在汇编过程中告诉汇编 程序应如何汇编。例如告诉汇编程序已写出的汇编语言源程序 有几个段,段的名称是什么,是否采用过程,汇编到某处是否 需要留出存储空间,应留多大,是否要用到外部变量等。
表示一条指令的这些字符常称为助记符。我们必须指出, 采用助记符写出的程序,机器是不能直接执行的,因为上面 我们已经指出,处理器在设计时是按二进制指令码考虑的。 所以,采用汇编语言编写的程序在执行前还必须将其“翻译” 成机器语言。通常将采用助记符指令写成的程序,称为源程 序,将它翻译成的机器语言程序称为目标程序。将汇编语言 的源程序翻译成目标程序的过程称为汇编过程或简称汇编。 汇编过程通常是由计算机完成的。它是通过执行一个专门完 成汇编的软件—— 称为汇编程序来实现的。既然写出的源程 序要由汇编程序将其翻译后才能执行,所以,我们编写的源 程序必须符合汇编程序的一系列要求或者规则,只有这样, 你的程序才能被正确地“翻译”。
那么,什么是机器语言,汇编语言与机器语言之间又有什 么关系呢? 我们说,机器语言是这样一种语言,它的每条语句 就是计算机可以直接执行的一条指令,这些指令以二进制码的 形式表示。例如我们要将累加器AX中加上一个常数 02, 其二 进制码表示的指令为:
000001010000001000000000。也就是说,当处理器中取得 了这样一组指令代码时,它将自动地完成(AX)+2→(AX) 中的操作。处理器所以能这样是因为处理器在设计时,就考虑 了这样一组代码应完成的功能。自然,不同的处理器,指令的 机器码将各不相同,完成的具体功能也将各不相同。采用机器 语言编写程序的一个最大好处是,程序送入计算机后,可以直 接执行。但是,我们很快会感觉到, 采用机器语言编写程序是 多么困难,既不易书写,也不易检查。汇编语言正是为了克服 这一缺点而形成的一种与机器语言直接相关的语言。汇编语言 的基本思想是采用一组字母、数字或符号来代替一条二进制码 表示的指令,例如上面所述的指令可采用字符ADD AX, 02 来 代替,它表示将累加器AX中的内容加上一个常数 02。 显然, 这要比一串二进制码清晰多了,既容易书写,也容易记忆。
B8H、C3H的助记符为MOV AX,BX 。 CPU不同,机器码不同,助记符也不同。
• 高级语言 语言规范,可移植。
4.1.3 汇编语言与汇编程序
• 汇编语言→汇编语言源程序 ✓ 用助记符表示机器码 ✓ 用符号地址表示存储器地址 ✓ 用伪指令管理源程序 汇编程序 将汇编语言源程序(简称源程序)编译为机器所
第四章 8086寻址方式与指令系统
4.1 汇编语言和汇编程序的基本概念 4.2 8086寻址方式 4.3 8086的指令格式 4.4 8086指令系统
§4.1 汇编语言及汇编程序的基本概念
4.1.1汇编语言与机器语言
我 们 已 经 学 过 高 级 语 言 , 例 如 BASIC 语 言 、 FORTRAN语言或C语言,无论哪种语言,它都规 定了一系列用于编写程序的语句和应该遵循的语法 规则。人们根据一种语言给定的语句及其语法规则 就可以写出程序,计算机则通过执行已编好的程序 来完成人们要求它完成的各种复杂功能。汇编语言 也一样,根据汇编语言的语句及其语法规则可以写 出汇编语言程序。但汇编语言与高级语言有较大的 区别,汇编语言中的语句与机器的种类和型号密切 相关。
所以,伪指令是为汇编程序在汇编时用的。 但指令与伪指令都是组成汇编语言源程序的基本 语句。除了这两类基本语句外,在汇编语言中, 还存在另一类指令称为宏指令,它是使用者利用 上述基本语句自己定义的新的指令。
4.1.2 各种计算机语言的比较
• 机器语言 用机器码表示,例如B8H、C3H。
• 汇编语言 用指令助记符表示机器码,例如对应于机器码
2、 汇编程序
用汇编语言编写的源程序在输入计算机后,需要将其翻 译成目标程序,计算机才能执行相应指令,这个翻译过程称 为汇编,完成汇编任务的程序称为汇编程序。
有 基 本 汇 编 ASM ( Assembler ) 和 宏 汇 编 MASM (MacroAssembler)两种。
汇编程序以汇编语言源程序文件作为输入,并由它产生 两种输出文件:目标程序文件和源程序列表文件。