汇编语言总复习.ppt

上传人:文库蛋蛋多 文档编号:2209997 上传时间:2023-01-31 格式:PPT 页数:34 大小:1.77MB
返回 下载 相关 举报
汇编语言总复习.ppt_第1页
第1页 / 共34页
汇编语言总复习.ppt_第2页
第2页 / 共34页
汇编语言总复习.ppt_第3页
第3页 / 共34页
汇编语言总复习.ppt_第4页
第4页 / 共34页
汇编语言总复习.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《汇编语言总复习.ppt》由会员分享,可在线阅读,更多相关《汇编语言总复习.ppt(34页珍藏版)》请在三一办公上搜索。

1、汇编语言总复习,100010011101100000000000101010100101011010100000101010000,汇编语言,面向过程的语言:C语言面向对象的语言:C+,Java,机器指令:1000100111011000汇编指令:mov ax,bx,计算机语言的特点,机器语言是计算机硬件能够直接识别的 语言,机器指令是一系列二进制代码 例如:8086的一条加法指令 00000011,11000011 优点:灵活、直接识别执行、速度快。缺点:直观性差,易出错,通用性差。,汇编指令与机器指令一一对应,用助记 符代替操作码。例如:上面机器指令对应的汇编指令:ADD AX,BX 优点

2、:比机器语言直观、便于记忆、速度快 缺点:面向硬件,通用性差。,两者都属于低级语言。,高级语言,3,与自然语言相近并为计算机所接受和执行的语言。优点:面向用户,与硬件无关,通用性与移植性强。缺点:用高级语言编写的程序需要翻译成机器语言。,计算机语言的特点,8086CPU内部结构,地址线,8086微处理器的寄存器,AH AL,BH BL,CH CL,DH DL,AXBXCXDX,SP,BP,SI,DI,累加寄存器基址寄存器计数寄存器数据寄存器堆栈指针寄存器基址指针寄存器源变址寄存器目的变址寄存器,8个16位通用寄存器,CS,DS,SS,ES,IP,PSW,代码段寄存器数据段寄存器堆栈段寄存器附加

3、段寄存器指令指针标志寄存器,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进位标志C

4、F(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,存

5、储器地址自动减少。CLD指令复位方向标志:DF0STD指令置位方向标志:DF1中断允许标志IF(Interrupt-enable Flag)设置IF1,则允许中断;设置IF0,则禁止中断。陷阱标志TF(Trap Flag)设置TF0,处理器正常工作;设置TF1,处理器单步执行指令。,存储器的分段管理,8086CPU有20条地址线最大可寻址空间为2201MB物理地址范围从00000HFFFFFH8086CPU将1MB空间分成许多逻辑段(Segment)每个段最大限制为64KB段地址的低4位为0000B这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址,物理地址和逻辑地址的转换,将逻

6、辑地址中的段地址左移4位,加上偏移地址就 得到20位物理地址一个物理地址可以有多个逻辑地址,逻辑地址1460:100、1380:F00物理地址14700H 14700H,第三章 8086指令系统,8086的寻址方式8086的指令系统,操作数的寻址方式,立即寻址方式寄存器寻址方式直接寻址方式寄存器间接寻址方式寄存器相对寻址方式基址变址寻址方式相对基址变址寻址方式,操作数在内存中的寻址方式,立即数寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,例题,设DS=2000H,BX=0100H,SI=0002H 求AX中的内容,并写出寻址方式。,30H00H44H11H66H58H79H05H

7、10H0FH,内存,20100H20101H20102H20103H.21200H21201H21202H21203H30000H30001H,MOV AX,1000HMOV AX,BXMOV AX,1200HMOV AX,BXMOV AX,1100HBXMOV AX,BXSIMOV AX,1100HBXSI,第三章 小结,数据传送指令mov opd,ops OPD,OPS的位数必须一致 两存储单元之间不能直接传送数据 OPD不能是CS或立即数 立即数不能直接送给段寄存器 存储单元与立即数之间传送数据,存储单元要指明byte还是word类型。但寄存器与存储单元传送时,就不必指明了,第三章 小结

8、,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错,目的

9、操作数不能使用两个基址寄存器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(

10、BX)=EDCCH,1 2 3 40001 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无符

11、号数跳转指令有哪些?有符号数跳转指令有哪些?什么是中断源?什么是中断?,数据段定义如下:X1 DD 13H,50,1 X2 DW 100H,20,3 COUNT EQU X2-X1问:COUNT=。请问以下指令执行后,DR1 DB 10H,30HMOV BL,LENGTH DR1MOV BH,TYPE DR1问:BL=,BH=。已知数据段中定义BUF DB 10H,11H,06H,08HMOV AX,WORD PTR BUFMOV CL,DAT1+1 问:当程序段执行完后AX=,CL=。,现有程序段如下,TEST AL,80HJZ NEXTMOV AH,1JMP DONENEXT:MOV AH

12、,0FFHDONE:在 情况下,该程序段执行结果AH=1;在 情况下,该程序段执行结果AH=FFH。现有程序段如下,MOV AX,0MOV BX,1MOV CX,5NEXT:ADD AX,BXINC BXINC BXLOOP NEXT执行后的结果为AX=。,设寄存器AL,BL,CL中内容均为45H,XOR AL,0FHAND BL,F0HOR CL,0FH问:执行上述指令序列后,AL=,BL=,CL=。执行以下指令:MOV AX,1100HMOV BX,2233HPUSH AX PUSH BX POP AX POP BX 问:上述程序段执行后AX=,BX=。,程序综合题,编写子程序搜索缓冲区中是否有n,有用y代替。计算020之间的偶数的和,并存于AX中 计算020之间的奇数的和,并存于AX中 判断AX,BX中,哪个寄存器存放正数,哪个存放负数,将正数送到RESULT单元中 编写完整的程序,把从键盘输入的一个小写字母转换成相应的大写字母,并显示。编写完整的程序,把从键盘输入的一个大写字母转换成相应的小写字母,并显示。统计数组中奇数的个数放到变量DA1中,偶数的个数放到DA2中用单字符显示功能,显示字符串“COMPUTER”,GOOD LUCK!,福建农林大学金山学院,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号