微型计算机原理及应用:80X86汇编语言程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
2
3
Today, it is rare to develop a complete system using only assembly language. We often use C/C++ with some assembly language to develop a system. The assembly language portion usually solves tasks
If you are working toward a degree in computer science,assembly language will help you gain an overall understanding of interaction between the computer hardware,operating system,and application programs.
programs is for the MMX and SEC instructions that are part of the Pentium class microprocessors and are not supported in C/C++.
4
C语言程序中嵌入80X86 CPU汇编语言程序例:
return sum; }
CMP ECX, 10 JLE LAB1 RET
15
✓机器指令采用二进制编码表示。
XOR EAX, EAX MOV ECX, 1 LAB1: MOV EDX, ECX IMUL EDX, ECX ADD EAX, EDX INC ECX CMP ECX, 10 JLE LAB1 RET
14
int test11( void ) { int sum, i;
XOR EAX, EAX MOV ECX, 1 LAB1: MOV EDX, ECX
sum = 0; for ( i = 1; i <= 10; i += 1 )
sum += i*i;
IMUL EDX, ECX ADD EAX, EDX INC ECX
(difficult or inefficient to accomplish in C/C++)
that often include control software for peripheral interfaces and driver programs that use interrupts. Another application of assembly language in C/C++
12
•机器语言的致命缺点:难以使用。
如计算100+256
•8086机器语言程序:B8 64 00

05 00 01

A3 00 20
操作码:表示进行的动作
操作数:表示动作所实施的对象
13
目标代码
✓计算机系统中的CPU只能执行机器指令 ✓由机器指令组成的程序,也就是目标程序,也称为 目标代码 ✓计算机系统最终运行的是对应的目标程序
void main (void)
{
char a, b;
_asm
{Hale Waihona Puke Baidu
mov ah,1
int 21h
mov a,al
~~~~~~~
}
}
5
C语言程序中嵌入AVR 单片机汇编语言程序例:
void main (void) {
unsigned char uc; #asm mov %uc, R0\n sleep \n ~~~~~~~~~ #endasm }
If you work for a hardware manufacture,you may have to create device drivers for the equipment you sell.Device drivers are probably programs in assembly language.
9
10
count=i+3;
mov ax,[2000h] add ax,3 mov [2002h],ax
a10020 050300 a30220
高级语言 汇编语言 机器语言 机器(处理器)
11
机器语言
•直接用机器指令(二进制代码或十六进制代码) 编写。
•每一条语句是一串二进制代码(操作码 操作数) •计算机唯一能够直接识别的语言
8
Why not just read a good book on computer hardware and architecture,and avoid having to learn assembly language programming?
You may be working toward a degree in computer engineering.If so,there is a strong likelihood(very probably) that you will write embedded systems programs.
用助记符指令、变量名和标号编写的汇编指令程序。 文件名:***.ASM
汇编程序
把汇编源程序翻译成机器能识别的机器指令程序的 工具程序。
文件名:MASM.EXE
19
目标程序
名词定义
机器能识别的二进制代码程序。 文件名:***.OBJ
执行程序
为PC系统所接受的应用程序。 文件名:***.EXE
6
汇编语言程序设计在计算机应用中的地位
❖使用汇编语言的场合 执行时间/存储容量有较高要求 需要提高大型软件效率 软件要直接和有效控制硬件 没有合适的高级语言
7
汇编语言程序设计在计算机应用中的地位
•最快最有效的语言 •能够利用计算机所有硬件特性并直接控制 •没有操作系统,没有编译程序条件的计算机上常用的 编程手段 •掌握程序设计技术,熟悉程序调试技术,了解计算机 核心操作的重要课程
33 C0
B9 01 00 00 00
8B D1
0F AF D1
03 C2
;0000 0011 11 000 010
41
;0100 0001
83 F9 0A
7E F3
C3
16
汇编语言
用助记符指令和符号表示机器指令中的操作码和 操作数。
汇编语言
源程序
汇编
目标程序
汇编程序
17
18
名词定义 汇编源程序
相关文档
最新文档