




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言程序设计总复习汇编语言程序设计总复习汇编语言程序设计总复习复习提纲总共九章教学内容重点掌握第一章到第七章1、掌握数据在计算机内的表示及其相互转换2、计算机根本组成及各局部主要功能3、汇编指令寻址,硬指令/伪指令的功能与使用形式4、利用汇编语言实现程序的根本控制构造5、中断系统与常用外设的I/O程序设计6、系统功能调用复习提纲总共九章教学内容重点掌握第一章到第七章1、掌握数据在计算机内的表示及其相互转换2、计算机根本组成及各局部主要功能3、汇编指令寻址,硬指令/伪指令的功能与使用形式4、利用汇编语言实现程序的根本控制构造5、中断系统与常用外设的I/O程序设计6、系统功能调用第一章熟练掌握:数值数据在计算机内部的各种表示,二进制、八进制和十六进制之间的转换方法。根本数据类型(字节、字、双字等)在汇编语言中的符号表示形式,它们计算机内部的存储形式以及符号扩展的含义。重要知识点
数制
数制之间的转换
运算
数和字符的表示1.数制
数制基数数码
二进制Binary20,1
八进制Octal80,1,2,3,4,5,6,7
十进制Decimal100,1,2,3,4,5,6,7,8,9
十六进制Hexadecimal160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F二进制:基数为2,逢二进一
11012=1×23+1×22+1×20=1310十六进制:基数为16,逢十六进一
1001,0001,1000,01119187=9×163+1×162+8×161+7×1602.数制之间的转换
二进制十六进制十进制二进制十进制十六进制降幂法除法
算术运算
二进制数:逢二进一借一当二
十六进制数:逢十六进一借一当十六
3.运算〔算术运算和逻辑运算〕05C3H3D25H42E8H+3D25H05C3H3762H-1-1逻辑运算〔按位操作〕“与〞运算〔AND〕“或〞运算〔OR〕ABABABAB
000000010011100101111111“非〞运算〔NOT〕“异或〞运算〔XOR〕
AAABAB01000100111011104.数和字符的表示
数的表示76543210符号位
数值位假设机器字长为16位:符号位=0正数
数值位
=
1负数1514131211109876543210假设机器字长为8位:数的常用表示法——
原码反码
补码原码表示法:符号+绝对值例:n=8bit[+3]原码
=0000,0011=03H[-3]原码
=1000,0011=83H[+0]原码
=0000,0000=00H[-0]原码
=1000,0000=80H0的表示不唯一反码表示法:正数的反码同原码,负数的反码数值位与原码相反例:n=8bit[+5]反码
=0000,0101=05H[-5]反码
=1111,1010=FAH[+0]反码
=0000,0000=00H[-0]反码
=1111,1111=FFH0的表示不唯一例:机器字长8位,[-46]补码=?[46]补码=001011101101000111010010=D2H
机器字长16位,[-46]补码=FFD2H
[+0]补码=000000001111111100000000=00H=
[-0]补码0的表示唯一按位求反末位加一按位求反末位加一补码表示法:正数的补码:同原码负数的补码:〔1〕写出与该负数相对应的正数的补码〔2〕按位求反〔3〕末位加一
十进制二进制十六进制十进制十六进制
n=8
n=16
+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002-1271000000181-327678001-1281000000080-327688000n位二进制补码的表数范围:
-2n-1
N
2n-1-1无符号整数的表数范围:
0
N
2n-1
补码的加法和减法:求补运算:对一个二进制数按位求反、末位加一[X]补码[-X]补码[X]补码加法规则:[X+Y]补码=[X]补码+[Y]补码减法规则:[X-Y]补码=[X]补码+[-Y]补码补码减法可转换为补码加法64(-46)18+010000001101001000010010+例:
字符的表示ASCII码:用一个字节来表示一个字符
例:‘A’41H‘a’61H‘1’31H
换行0AH
回车0DH
空格20H问题:负数的表示方法负数的算术运算第二章8086计算机组织熟练掌握:8位、16位存放器组中各存放器的名称、主要用途和它们之间的关系。内存单元的逻辑划分方法逻辑地址和物理地址之间的相互转换方法。重要知识点
计算机系统
存储器
中央处理机
外部设备1.计算机系统计算机系统包括硬件和软件两大局部。硬件:软件:分为系统软件和用户软件中央处理机
CPU总线控制逻辑接口接口存储器大容量存储器I/O设备I/O子系统系统总线......2.存储器存储单元的地址和内容:10011111
1000H(1000H)=9FH00100110
1001H
00011110
1002H(1002H)=1EH11010111
1003H
字节
(1000H)=269FH(1002H)=D71EH(1001H)=1E26H
访问两次存储器(1001H)=26H(1003H)=D7H字单元字节单元存储器地址的分段:20根地址线:地址范围00000H~FFFFFH小段:每16个字节为一小段,共有64K个小段小段的首地址00000H~0000FH00010H~0001FH00020H~0002FH…FFFF0H~FFFFFH段起始地址:小段首地址物理地址:每个存储单元唯一的20位地址段地址:段起始地址的高16位偏移地址:段内相对于段起始地址的偏移值〔有效地址EA〕物理地址的计算:物理地址=16d
段地址+偏移地址16位段地址16位偏移地址0000+20位物理地址问题:一个字单元的物理地址该如何表示呢举例:内存数据区共占用10个字单元,起始地址为13BA:00BA,求该字节单元的物理地址是多少PA=13BA0+00BA=13C5AH存储器的逻辑分段:
存储器64K代码01500H42000H1CD00H0150H4200H1CD0H段寄存器CSDSSSES64K堆栈64K数据64K附加数据B0000HB000H3.中央处理机8086/8088存放器组:数据存放器:指针及变址存放器:SP、BP、SI、DI段存放器:CS、DS、SS、ES控制存放器:IP、FLAGSCPU组成:算术逻辑部件ALU、控制逻辑、工作存放器AXBXCXDXAHALBHBLCHCLDHDL
高8位低8位标志存放器〔程序状态字存放器PSW〕1514131211109876543210
条件码标志:控制标志:OF
溢出标志DF方向标志SF
符号标志IF中断标志ZF
零标志TF陷阱标志CF
进位标志AF
辅助进位标志PF
奇偶标志OFDFIFTFSF
ZF
AF
PF
CF4.外部设备外设接口〔Interface〕每个接口包括一组存放器:数据存放器状态存放器命令存放器端口〔Port〕地址0000~FFFFH举例INAL,21H;IN
AX,21H;movdx,1234hinal,dx输入端口1234H中的8位数据第三章8086的寻址方式和指令系统熟练掌握:七种最根本的操作数寻址方式的含义,有效地址各种指令的功能、特殊要求(本卷须知)和隐含操作数
指令系统
寻址方式与数据有关的寻址方式与转移地址有关的寻址方式重要知识点思考:哪些存放器可以用来寻址1.8086的寻址方式
与数据有关的寻址方式:立即寻址MOVAX,3069H存放器寻址MOVAL,BH直接寻址MOVAX,[2000H]存放器间接寻址MOVAX,[BX]存放器相对寻址MOVAX,COUNT[SI]基址变址寻址MOVAX,[BP][DI]相对基址变址寻址MOVAX,MASK[BX][SI]与转移地址有关的寻址方式:
段内寻址段内直接寻址JMPNEARPTRNEXT
段内间接寻址JMPTABLE[BX]
段间寻址
段间直接寻址JMPFARPTRNEXT
段间间接寻址JMPDWORDPTR[BX]
数据传送指令
算术指令
逻辑指令
串处理指令
控制转移指令
处理机控制指令2.8086的指令系统重点!指令的汇编格式指令的根本功能指令支持的寻址方式指令的执行对标志位的影响指令的特殊要求数据传送指令:通用数据传送指令MOV、PUSH、POP、XCHG累加器专用传送指令IN、OUT、XLAT地址传送指令LEA、LDS、LES标志存放器传送指令LAHF、SAHF、PUSHF、POPF算术指令:
加法指令
ADD、ADC、INC
减法指令
SUB、SBB、DEC、NEG、CMP
乘法指令
MUL、IMUL
除法指令
DIV、IDIV
符号扩展指令
CBW、CWD
十进制调整指令
DAA、DAS、
AAA、AAS、AAM、AAD逻辑指令:
逻辑运算指令
AND、OR、NOT、XOR、TEST
移位指令
SHL、SAL、SHR、SAR、
ROL、ROR、RCL、RCR串处理指令:
设置方向标志指令
CLD、STD
串处理指令
串重复前缀
MOVSB/MOVSWREPSTOSB/STOSWREPE/REPZLODSB/LODSWREPNE/REPNZCMPSB/CMPSWSCASB/SCASW
控制转移指令:
无条件转移指令
JMP
条件转移指令JZ/JNZ、JE/JNE、JS/JNS、JO/JNO、JP/JNP、JB/JNB、JL/JNL、JBE/JNBE、JLE/JNLE、JCXZ
循环指令
LOOP、LOOPZ/LOOPE、LOOPNZ/LOOPNE
子程序调用和返回指令
CALL、RET
中断与中断返回指令
INT、INTO、IRET处理机控制指令:
标志位处理指令
CLC、STC、CMC、
CLD、STD、
CLI、STI
处理机控制指令
NOP、HLT、WAIT、ESC、LOCK
以下指令哪些是错误的movax,bxmovax,blmovcs,bxmovcs,1000haddbx,esmov[bx],[si]shldx,clandax,[cx]divdx,2div2incaxxchgax,dsxchgal,12hxchg[si],[di]moval,[si]xchgal,[di]mov[si],al第四章汇编语言程序格式
汇编程序功能
伪操作
汇编语言程序格式
汇编语言程序的上机过程汇编程序编辑程序连接程序
program.asm
program.objprogram.exe1.汇编程序功能汇编程序的主要功能:
检查源程序,给出出错信息。产生目标文件(.obj)和列表文件(.lst)。展开宏指令。2.伪操作〔伪指令〕程序构造伪操作:段定义伪操作、程序开场和完毕伪操作等。(SEGMENT、ENDS、ASSUME、NAME、TITLE、END)数据类型及数据定义伪操作:数据定义及存储器分配伪操作、表达式赋值伪操作、基数控制伪操作等。(DB、DW、DD、DQ、DT、LABEL、EQU、=、.RADIX)地址计数器与对准伪操作:($、ORG、EVEN)datasegment;定义数据段…dataendsextrasegment;定义附加段…extraendscodesegment;定义代码段assumecs:code,ds:data,es:extrastart:movax,datamovds,ax;段地址段存放器…codeendsendstart3.汇编语言程序格式表达式:数字表达式地址表达式标号指令寄存器说明程序或语句变量伪指令标号的功能
宏指令
变量
常数
表达式源程序的每条语句可表示为:[符号地址]操作操作数[;注释]表达式操作符:(1)算术操作符:、、、、mod(2)逻辑操作符:AND、OR、XOR、NOT(3)关系操作符:EQ、NE、LT、LE、GT、GE(4)属性操作符:PTR、SHORT、THIS、HIGH、
LOW(5)数值回送操作符:OFFSET、SEG、TYPE、
LENGTH、SIZE举例DATA_BYTEDB10,4,10H,DATA_WORDDW100,100H,-5,COUNTEQU($-DATA_WORD)/2
-
0AH04H10H
-
64H
00H
00H
01H
FBH
FFH
-DATA_BYTE
DATA_WORD
MOVAX,WORDPTRDATA_BYTE+1MOVAL,BYTEPTRDATA_WORD+3MOVBL,DATA_BYTECBW举例:
ARRAYDW1,2,$+4,3,4,$+4
00H01H00H02H00H
7CH
00H03H00H04H00H
82HARRAY
007E00780074
循环程序设计分支程序设计第五章循环与分支程序设计编制汇编语言程序的步骤:(1)分析题意,确定算法(2)根据算法画出程序框图(3)根据框图编写程序(4)上机调试程序分支构造子程序构造程序构造:复合构造:多种程序构造的组合…顺序构造循环构造1.循环程序设计DO-WHILE构造DO-UNTIL构造控制条件初始化循环体YN控制条件初始化循环体YN初始化:设置循环的初始状态循环体:循环的工作局部及修改局部控制条件:计数控制特征值控制地址边界控制例子:将二进制数以十六进制的形式显示在屏幕上统计1的个数,求数组元素之和在数组中插入一元素,查找第一个是0的数据数组运算〔静态地预置逻辑尺〕从键盘输入字符串〔动态地修改标志位〕起泡排序〔多重循环〕注意:LOOP,LOOPNZ,LOOP指令的含义!ADRR
DB
0AH,02H,03H,33H,FFHCOUNTEQU
$-ADRRRESULT
DW?
…
MOV
CX,COUNTMOV
BX,-1NEXT:INC
BXCMP
ADRR[BX],0AHLOOPNZ
NEXTJZ
DONEMOV
BX,OFFHDONE:MOV
RESULT,BX举例2.分支程序设计…case1case2casen??case1case2casenCASE构造IF-THEN-ELSE构造(1)逻辑尺控制(2)条件控制(3)地址跳跃表〔值与地址有对应关系的表〕例子:折半查找根据不同条件转多个程序分支〔跳跃表法〕JMP指令采用多种寻址方式:存放器间接寻址\基址变址寻址\存放器相对寻址如:分别求出数组元素正数\负数\0的和及平均值.
第六章子程序构造过程定义伪操作子程序的调用与返回保存与恢复存放器子程序的参数传送子程序的嵌套与递归1.过程定义伪操作
过程名PROCNEAR
(FAR
)
过程名ENDP(1)NEAR属性:调用程序和子程序在同一代码段中(段内调用)(2)FAR属性:调用程序和子程序不在同一代码段中(段间调用)...codesegment
mainprocfar......callsubr1......retmainendpsubr1procnear......retsubr1endpcodeends
segxsegment
subtprocfar......retsubtendp......callsubt......
segx
ends
segy
segment......callsubt......
segyends子程序调用:隐含使用堆栈保存返回地址
callnearptrsubp
(1)保存返回地址(2)转子程序
(IP)←subp
的偏移地址
callfarptrsubp
(1)保存返回地址(2)转子程序
(CS)←subp
的段地址
(IP)←subp
的偏移地址2.子程序的调用与返回(SP)→(IP)(CS)(SP)→(IP)子程序返回:ret3.保存与恢复存放器subtprocfar
pushaxpushbxpushcxpushdx......popdxpopcxpopbxpopaxretsubtendp(1)通过存放器传送参数(2)通过存储器传送参数(3)通过地址表传送参数地址(4)通过堆栈传送参数或参数地址4.子程序的参数传送例子:十进制数到十六进制数的转换累加数组中的元素datasegmentarydw1,2,3,4,5,6,7,8,9,10countdw10sumdwdataendsproaddprocnear……
leasi,arymovcx,countxorax,axnext:addax,[si]addsi,2loopnextmovsum,ax……retproaddendp主程序:callproadd子程序:通过存储器传送参数:通过地址表传送参数地址:tabledw3dup()movtable,offsetarymovtable+2,offsetcountmovtable+4,offsetsummovbx,offsettablecallproaddproaddprocnear……movsi,[bx]movdi,[bx+2]movcx,[di]movdi,[bx+4]xorax,axnext:addax,[si]addsi,2loopnextmov[di],ax……retproaddendp子程序中:stacksegmentdw100dup()toslabelwordstackends通过堆栈传送参数或参数地址:movax,stackmovss,axmovsp,offsettos子程序的嵌套:主程序
子程序A
子程序B递归子程序:n!5.子程序的嵌套与递归……callproc_A……proc_A
……callproc_B……retproc_B……ret
宏汇编
重复汇编条件汇编第七章高级汇编语言技术1.宏汇编宏:源程序中一段有独立功能的程序代码。宏指令:用户自定义的指令。在编程时,将屡次使用的功能用一条宏指令来代替。汇编语言程序指令伪指令(伪操作)宏指令宏定义:
macro_nameMACRO[哑元表][LOCAL标号表]……〔宏定义体〕ENDM宏调用:〔必须先定义后调用〕
macro_name[实元表]宏展开:汇编程序把宏调用展开例:求绝对值宏定义:absolMACRO
oper
LOCALnextcmpoper
,0jgenextnegopernext:
ENDM宏调用:……absolvar……absolbx……宏展开:……+cmpvar,0+jge0000+negvar+0000:……+cmpbx,0+jge0001+negbx+0001:……宏汇编操作符:
&;;%符号1&符号2
宏展开时,合并前后两个符号形成一个符号。;;注释
宏展开时,;;后面的注释不予展开。
%表达式
汇编程序将%后面的表达式转换为数字,并在展开期间用这个数取代哑元。第八章输入/输出程序设计
I/O设备的数据传送方式
程序直接控制I/O方式中断传送方式查询方式〔程序控制方式〕中断方式DMA方式〔直接存储器存取方式/成组传送方式〕1.I/O设备的数据传送方式I/O指令是主机与外设进展通信的最根本途径。DOS功能调用和BIOS例行程序中的输入/输出功能也是由IN和OUT指令完成的。例:循环测试某状态存放器的第2位是否为1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物流机器人项目提案报告模板
- 2025年中国变性乙醇(工业酒精)行业市场分析及投资价值评估前景预测报告
- 群众制定应急预案
- 综合排水系统灾害防范与应急预案
- 市政给水排水系统施工与检测方案
- 公路养护与维修技术支持方案
- 静音轨道施工方案模板
- 城市食品应急预案
- 产业集群培育合同
- 插画设计服务合同
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
- 十一节后收心会安全培训课件
- 钢结构厂房装修施工方案报告
- (2025年标准)借款续期协议书
- 新规范监理规划范本
- 2025年起重机司机Q2证理论考试题库及答案
- GB/T 13537-2024电子类家用电器用电动机通用技术规范
- 《桥梁支座 》课件
- 工程伦理 课件第8、9章 工程、健康与可持续发展;全球化视野下的工程伦理
- 大学《教育社会学》试题
- 研究借鉴晋江经验-加快构建三条战略通道
评论
0/150
提交评论