汇编语言总复习.ppt_第1页
汇编语言总复习.ppt_第2页
汇编语言总复习.ppt_第3页
汇编语言总复习.ppt_第4页
汇编语言总复习.ppt_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言总复习,100010011101100000000000101010100101011010100000101010000,汇编语言,面向过程的语言:c语言 面向对象的语言:c+,java,机器指令:1000100111011000 汇编指令:mov ax,bx,计算机语言的特点,机器语言是计算机硬件能够直接识别的 语言,机器指令是一系列二进制代码 例如:8086的一条加法指令 00000011,11000011 优点:灵活、直接识别执行、速度快。 缺点:直观性差,易出错,通用性差。,汇编指令与机器指令一一对应,用助记 符代替操作码。 例如:上面机器指令对应的汇编指令: add ax,bx 优点:比机器语言直观、便于记忆、速度快 缺点:面向硬件,通用性差。,两者都属于 低级语言。,高级语言,3,与自然语言相近并为计算机所接受和执行的语言。 优点:面向用户,与硬件无关,通用性与移植性强。 缺点:用高级语言编写的程序需要翻译成机器语言。,计算机语言的特点,8086cpu内部结构,地址线,8086微处理器的寄存器,ah al,bh bl,ch cl,dh dl,ax bx cx dx,sp,bp,si,di,累加寄存器 基址寄存器 计数寄存器 数据寄存器 堆栈指针寄存器 基址指针寄存器 源变址寄存器 目的变址寄存器,8个16位通用寄存器,cs,ds,ss,es,ip,psw,代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器 指令指针 标志寄存器,4个16位段寄存器,16位控制寄存器,8086cpu中的寄存器段寄存器,偏移量就是一个特定的段内地址到段基址的距离 段寄存器的功能是不能互换的。,段地址与偏移量,cs和ip通过地址加法器得到指令的20位物理地址 ds和eu送来的偏移量通过地址加法器得到数据 的20位物理地址,标志寄存器,状态标志用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它 cf zf sf pf of af 控制标志可由程序根据需要用指令设置,用于控制处理器执行指令的方式 df if tf,标志寄存器标志位,零标志zf(zero flag) 若运算结果为0,则zf=1,否则zf=0 进位标志cf(carry flag) 当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即cf = 1;否则cf = 0。 符号标志sf(sign flag) 运算结果最高位为1,则sf = 1;否则sf = 0 奇偶标志pf(parity flag) 当运算结果最低8位中“1”的个数为零或偶数时,pf = 1;否则pf = 0 辅助进位标志af(auxiliary carry flag) 运算时d3位(低半字节)有进位或借位时,af = 1;否则af = 0。,溢出标志of(overflow flag) 方向标志df(direction flag) 用于串操作指令中,控制地址的变化方向: 设置df0,存储器地址自动增加; 设置df1,存储器地址自动减少。 cld指令复位方向标志:df0 std指令置位方向标志:df1 中断允许标志if(interrupt-enable flag) 设置if1,则允许中断; 设置if0,则禁止中断。 陷阱标志tf(trap flag) 设置tf0,处理器正常工作; 设置tf1,处理器单步执行指令。,存储器的分段管理,8086cpu有20条地址线 最大可寻址空间为2201mb 物理地址范围从00000hfffffh 8086cpu将1mb空间分成许多逻辑段(segment) 每个段最大限制为64kb 段地址的低4位为0000b 这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址,物理地址和逻辑地址的转换,将逻辑地址中的段地址左移4位,加上偏移地址就 得到20位物理地址 一个物理地址可以有多个逻辑地址,逻辑地址 1460:100、1380:f00 物理地址 14700h 14700h,第三章 8086指令系统,8086的寻址方式 8086的指令系统,操作数的寻址方式,立即寻址方式 寄存器寻址方式 直接寻址方式 寄存器间接寻址方式 寄存器相对寻址方式 基址变址寻址方式 相对基址变址寻址方式,操作数在内存中的寻址方式,立即数寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,例题,设ds=2000h,bx=0100h,si=0002h 求ax中的内容,并写出寻址方式。,30h 00h 44h 11h 66h 58h 79h 05h 10h 0fh,内存,20100h 20101h 20102h 20103h . 21200h 21201h 21202h 21203h 30000h 30001h,mov ax,1000h mov ax,bx mov ax,1200h mov ax,bx mov ax,1100hbx mov ax,bxsi mov ax,1100hbxsi,第三章 小结,数据传送指令mov opd,ops opd,ops的位数必须一致 两存储单元之间不能直接传送数据 opd不能是cs或立即数 立即数不能直接送给段寄存器 存储单元与立即数之间传送数据,存储单元要指明byte还是word类型。但寄存器与存储单元传送时,就不必指明了,第三章 小结,1.说明下列指令源操作数和目的操作数的寻址方式 and ax,0a6h 源操作数:立即寻址, 目的操作数:寄存器寻址 and al,0a6h 源操作数:直接寻址, 目的操作数:寄存器寻址 mov ds,ax 源和目的操作数:寄存器寻址 cmp si,cx 源操作数:寄存器寻址, 目的操作数:寄存器间接,第三章 小结,mov ax,10hdi 源操作数:寄存器相对寻址方式 目的操作数:寄存器寻址方式 sub bpsi,ah 源操作数:寄存器寻址方式 目的操作数:基址变址寻址方式 adc ax,06hbxdi 源操作数:相对基址变址寻址方式 目的操作数:寄存器寻址方式,第三章 小结,2.下列指令是否正确 mov bxbp,ax 错,目的操作数不能使用两个基址寄存器 test bp,bh 正确 add si,di 错,两个操作数不能同时为存储器 cmp ch,300h 错,两操作数位数不一致,第三章 小结,shr bxdi,3 错,移位次数超过1,应该放在cl寄存器中 not cx,ax 错,单操作数指令 lea ds,12hsi 错,lea目的操作数只能是通用寄存器 inc cx,1 错,单操作数指令 push 45hdi 正确,第三章 小结,3.已知:(ax)=1234h mov bx,ax ;(bx)=(ax)=1234h neg bx ;求补:(bx)=edcch add ax,bx ;加: (ax)=0000h 上述三条指令执行之后: (ax)=0000h (bx)=edcch,1 2 3 4 0001 0010 0011 0100 求补 1110 1101 1100 1100 e d c c,第四章,请看第四章ppt 注意第四章课后习题,逻辑指令test,and,or的功能 每个标志位的作用 标号和变量均有三种属性 da1 db 3 dup(1,3dup(2,3),0) 伪指令:定义段,定义子程序,定义宏? 伪指令org,$的作用。 equ或者=定义的变量不占内存空间. dos系统功能调用的几号功能用于显示单个字符? 子程序的参数传递方式有 哪些? 串指令中什么指向源操作数,什么指向目的操作数? 串操作指令的功能movsb,stosb,lodsb,cmpsb,rep 无符号数跳转指令有哪些?有符号数跳转指令有哪些? 什么是中断源?什么是中断?,数据段定义如下: x1 dd 13h,50,1 x2 dw 100h,20,3 count equ x2-x1 问:count= 。 请问以下指令执行后, dr1 db 10h,30h mov bl,length dr1 mov bh,type dr1 问:bl= ,bh= 。 已知数据段中定义 buf db 10h,11h,06h,08h mov ax,word ptr buf mov cl,dat1+1 问:当程序段执行完后ax= , cl= 。,现有程序段如下, test al,80h jz next mov ah,1 jmp done next: mov ah,0ffh done: 在 情况下,该程序段执行结果ah=1; 在 情况下,该程序段执行结果ah=ffh。 现有程序段如下, mov ax ,0 mov bx ,1 mov cx ,5 next:add ax ,bx inc bx inc bx loop next 执行后的结果为ax= 。,设寄存器al,bl,cl中内容均为45h, xor al,0fh and bl,f0h or cl,0fh 问:执行上述指令序列后,al= ,bl= ,cl= 。 执行以下指令: mov ax,1100h mov bx,2233h push ax push bx pop ax pop bx 问: 上述程序段执行后ax= ,bx= 。,程序综合题,编写子程序搜索缓冲区中是否有n,有用y代替。 计算020之间的偶数的和,并存于ax中 计算020之间的奇数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论