微机系统与汇编语言学习资料.pptx
《微机系统与汇编语言学习资料.pptx》由会员分享,可在线阅读,更多相关《微机系统与汇编语言学习资料.pptx(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章 计算机中的数据表示1 58的非压缩BCD和压缩BCD各如何表示?写出存入DX的指令。答:58的非压缩BCD 是0508H存入DX的指令:MOV DX,0508H 58的非压缩BCD和是 58H存入DX的指令:MOV DX,0058H第1页/共120页2、什么是ASCII码?可表示哪些信息?按其作用可分为哪些?答:ASCII码是美国信息交换标准代码的简称,用于给西文字符编码。包括英文字母的大小写、数字、专用字符、控制字符等;按其作用可分为:34个控制字符;10个阿拉伯数字52个英文大小写字母;32个专用符号第2页/共120页第三章 80X86微处理器及其体系结构1、8086 CPU信号线
2、 RESET的功能是什么?8086复位后内部寄存器状态是怎样的?8086CPU复位后从 什么单元中取第一条指令执行。答:RESET复位信号输入 8086复位后CS=FFFFH、DS=0000H、ES=0000H、SS=0000H、IP=0000H、FR=0000H8086CPU复位后从CS*10H+IP=FFFFH*10H+0000H=FFFF0H地址单元中取第一条指令执行启动系统。CS:IP=FFFF:0000H 第3页/共120页第4页/共120页第5页/共120页6、INTA 是什么引脚?答:中断响应引脚7、M/IO 是什么引脚?答:存储器访问/输入输出访问控制引脚 8、8086CPU最
3、小、最大方式时用于总线请求、允许的信号线各是什么?答:最小:HOLD-总线请求 HLDA-总线响应 最大:RQ/GT0、RQ/GT1第6页/共120页9、8086 CPU访问存贮器和访问I/O的地址分别各为什么?可寻址的最大存贮器空间和最大I/O空间分别各为多少?答:8086 CPU访问存贮器的地址是A19A0,可寻址的最大存贮器空间是1MB.8086 CPU访问I/O的地址是A15A0,可寻址的最大I/O空间是64KB.第7页/共120页10、什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?答:程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)
4、组成。段基址表示一个段的起始地址的高16位。偏移地址表示段内的一个单元距离段开始位置的距离。访问存储器的实际地址称为物理地址,用20位二进制表示。将两个16位二进制表示的逻辑地址错位相加,可以得到20位的物理地址:物理地址段基址16+偏移地址第8页/共120页11、物理地址4ACD9H的逻辑地址可以是哪些?答:4A00:0CD9、4500:5CD9、4A88:0459 等12、8086 CPU输入输出指令的间址寄存器是什么?答:DX13、8086 CPU 寄存器BX、BP、AX、各是什么功能的寄存器?答:BX、BP-基址寄存器 AX-累加器第9页/共120页14、标志寄存器FR多少位?有哪些标
5、志?答:FR是一个16位的寄存器,共9个标志.其中6个用作状态标志CF、PF、AF、ZF、SF、OF3个用作控制标志DF、IF、TF.(1)进位标志CF-反映运算结果向更高位是否有进/借位,加减运算后有进位/借位时CF=1,否则CF=0第10页/共120页CF标志的用途:用于运算时的进/借位。用于无符号数运算后判定是否有溢出。用于移位操作时接收移出的信息位.(2)奇偶校验标志PF:反映运算结果低八位中“1”的个数为奇或者为偶,其值为1表示运算结果的低8位中1的个数为偶数,否则为奇数。PF标志可用于数据传送后的奇偶校验。第11页/共120页(3)辅助进位标志AF-反映运算后的结果是否有半进位/借
6、位,其值为1表示运算中低4位向高4位有进位或借位,否则无进位或借位。AF在BCD码运算(8位)时可用作十进制调整的条件。(4)零标志ZF-反映运算结果是否为零,其值为1表示运算结果为0,否则非0。ZF可用于判定二个数是否相等,相等的时候它们相减的结果为零。ZF还可用作计数器的计数次数是否减为0,当减为0的时候表示计数到,例如:循环次数计数第12页/共120页(5)符号标志SF:反映运算结果是否为负,其值为1表示运算结果为负数,否则为正数。SF在有符号数运算时才有意义。SF也可在无符号数比较大小时判定两个数的大小,A、B两个数相减后结果SF=0,AB,SF=1,AB;SF还在有符号数比较大小时与
7、OF标志一起判定两个数的大小。第13页/共120页(6)溢出标志OF:反映有符号数运算后的结果是否有溢出,其值为1表示带符号数运算结果溢出,否则无溢出。有符号数运算时:正数加正数结果为正-无溢出;结果为负-有溢出 负数加负数结果为负-无溢出;结果为正-有溢出 正数加负数或负数加正数-无溢出 OF SF 可以用于判有符号数比较大小第14页/共120页以上的6个状态标志在运算指令运算后由EU自动的设置在FR中(CF也可以直接用指令设置),常用作指令的转移或执行的控制条件,影响或控制后续指令的执行,特别是CF、ZF、OF、SF。CPU的不同指令对状态标志的影响是不一样的,有的指令执行后全部影响6个标
8、志,有的影响部分,不影响的保持原态,也有的一个都不影响,对不影响的指令执行后就不可以使用条件转移指令。第15页/共120页控制标志:(1)方向标志DF:用于串操作时设置串指针的修改方向,=0,串指针增量变化,=1,串指针减量变化(2)中断允许标志IF:设置是否允许CPU响应外部的可屏蔽中断请求INTR,,=0,关中断,=1,开中断(3)陷阱标志TF:用于设置CPU运行为单条执行指令的方式,=0,正常执行程序,=1,单步执行程序第16页/共120页第四章 寻址方式与指令系统1、下列指令的源操作数段基址各是什么段寄存器?(1)MOVAX,BPSI 答:SS(2)MOVAX,CS:8DI 答:CS
9、(3)MOVAX,BXDI 答:DS (4)MOVAX,ES:10BPSI 答:ES第17页/共120页2、8086允许段超越和禁止段超越操作各有哪些?答:允许段超越的有:以BP为基址存取操作数取源串数据cs段数据访问等禁止段超越的是:取指令存目的串 堆栈操作push/pop第18页/共120页3已知DS5000H,SS2500H,BP0200H,SI=1000H,传送指令MOV AX,BP+SI源操作数的寻址方式什么方式?物理地址是多少?答:源操作数的寻址方式是:基址变址 物理地址=26200H 4、若DS=4500H,DI=1000H,COUNT=A8H,指令MOV AX,DI+COUNT
10、中,源操作数的有效地址EA和物理地址各为多少?答:有效地址EA为10A8H 物理地址为460A8H 第19页/共120页 5、8086 CPU 有哪几种数据寻址方式,掌握数据各种寻址方式的寻址过程,要求会求指令的寻址方式?会求有效地址EA=?会求物理地址=?答:指令的物理地址=CS*10H+IP堆栈栈顶物理地址=SS*10H+SP源串物理地址=DS*10H+SI,目的串物理地址=ES*10H+DI第20页/共120页数据直接寻址:MOV AL,1000H;EA=1000H,物理地址=DS*10H+1000H寄存器间接寻址:MOV AL,BX或SI或DI;EA=BX或SI或DI,物理地址=DS*
11、10H+BX或SI或DI基址寻址:MOV AL,DISPBX;EA=BX+DISP,物理地址=DS*10H+BX+DISPMOV AL,DISPBP;EA=BP+DISP,物理地址=SS*10H+BP+DISP第21页/共120页基址变址寻址:MOV AL,BX+SI或DI;EA=BX+SI或DI,物理地址=DS*10H+BX+SI或DIMOV AL,BP+SI或DI;EA=BP+SI或DI,物理地址=SS*10H+BP+SI或DI变址寻址:MOV AL,DISPSI;EA=SI+DISP,物理地址=DS*10H+SI+DISPMOV AL,DISPDI;EA=DI+DISP,物理地址=DS*
12、10H+DI+DISP第22页/共120页相对基址变址寻址:MOV AL,DISP BX+SI或DI;EA=BX+SI或DI+DISP,物理地址=DS*10H+BX+SI或DI+DISPMOV AL,DISP BP+SI或DI;EA=BP+SI或DI+DISP,物理地址=SS*10H+BP+SI或DI+DISP第23页/共120页6、8086 CPU 有哪几种转移寻址方式,段内、段间转移有何不同?掌握转移各种寻址方式的寻址过程。答:与转移地址有关的寻址方式:段内相对寻址、段内间接寻址、段间直接寻址、段间间接寻址。段内相对寻址:段内短转(short)转移偏移地址=IP+disp 8段内近转(ne
13、ar)转移偏移地址=IP+disp 16第24页/共120页段内间接寻址:寄存器间接转移的偏移地址=reg(reg为AX、BX、CX、DX、SP、BP、SI、DI)存储器间接转移的偏移地址=(EA)(EA为数据寻址方式寻址单元,为字单元)例:已知BX=3500H,DS=2000H.(23500H)=4500H,(23502H)=2000H JMP BX;段内寄存器间接,IP=3500HJMP WORD PTRBX;段内存储器间接,IP=(2000H*10H+3500H)=4500H第25页/共120页段间直接转:JMP FAR PTR L:IP=转移指令的第2、3字节CS=转移指令的第4、5字
14、节段间存储器间接转:JMP DWORD PTR BX :IP=(2000H*10H+3500H)=4500HCS=(2000H*10H+3500H+2)=2000H第26页/共120页7、数据传送指令(MOV)使用有哪些规定?答:允许regreg 例:MOV AX,BX 允许regmem 例:MOV AX,BX 允许regdata 例:MOV AX,2500H 允许regsreg 例:MOV AX,CS 允许memreg 例:MOV BX,AX 允许memdata 例:MOV BX,2500H 允许memsreg 例:MOV BX,CS 允许sregreg(除CS外)例:MOV DS,BX第2
15、7页/共120页不允许:memmem 例:MOV Y,BX 例:MOV SI,BX不允许sregdata 例:MOV DS,2500H不允许sregsreg 例:MOV DS,CS不允许CS做目的寄存器 例:MOV CS,BX注意数据类型匹配 例:MOV DL,BX第28页/共120页8、数据寻址有哪些情况不允许?解:例如MOV DI,BX;错,存储器不能传存储器MOVDX+SI,AL;错,DX不能用作基址寻址MOVSI+DI,AL;错,SI+DI不能用作变址寻址MOVBX+BP,AL;错,BX+BP不能用作基址寻址MOV WORD PTR BX,-1 ;正确 MOV AL,BX;错,类型不匹
16、配MOV DS,SEG DAT;错,立即数不能送段寄存器PUSH 1234H;错,不能用立即数MUL AL,58H;错,不能用立即数第29页/共120页9、不能采用立即数寻址方式的指令有哪些?答:PUSH 1234H;错,不能用立即数 MUL 58H ;错,不能用立即数 DIV 58H ;错,不能用立即数第30页/共120页10、掌握8086CPU以下指令:MOV、PUSH/POP、LEA、ADD、ADC、SUB、SBB、INC、DEC、NEG、CMP、DAA、MUL、DIV、AND、OR、NOT、XOR、SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、MOVS、CMPS、ST
17、OS、LODS、SCAS、REP、条件转移类、LOOP、CALL、RET、CLD、STD对给出的指令,要求会分析指令是否正确。第31页/共120页第五章 伪指令及汇编语言程序结构1PTR运算符有何功能?答:可以重新指定存储器操作数的类型,可以重新指定转移指令的转移类型。2、存储器数据类型有什么要求,如何解决类型不确定?答:存储器数据类型要求类型匹配,用PTR可以说明和重新指定变量或标号的类型满足类型匹配。第32页/共120页例如:INC BX-类型不确定正确的写法:INC BYTE PTR BX-字节类型INC WORD PTR BX-字类型例如:X DW 1234H-字属性 MOV AL,X
18、-类型错误正确的写法:MOV AL,BYTE PTR X;AL=34H第33页/共120页3要求会求数组最后一个字、字节的存储地址是多少。答:数组最后一个字的地址=数组的首地址+(数据个数-1)*2数组最后一个字节的地址=数组的首地址+(数据个数-1)第34页/共120页4、已知BUF偏移地址为58ADH,定义BUF DW 20DUP(?)后,该数组最后一个字数据的偏移地址是多少?答:数组最后一个字数据的偏移地址=58ADH+(14H-1)*2H=58D3H。5、已知BUF偏移地址为25DBH,定义BUF DB 50DUP(?)后,该数组最后一个字节的偏移地址是多少?答:数组最后一个字节的偏移
19、地址=25DBH+(32H-1)=260CH第35页/共120页6、掌握汇编语言程序的编程格式-段定义、段说明、段结束、返回DOS。DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:.MOV AH,4CHINT 21HCODE ENDS END START 第36页/共120页7、掌握汇编语言中常量有哪些?举例。答:常量有:二进制:10001101B 十进制:2532D、-256D、2536十六进制:2532H、0FAC8H、ABCDH-0ABCDH 字符常量:A 用EQU定义的常量:ABC EQU 20第37页/共120
20、页8、掌握汇编语言中变量的属性和数据的类型。答:变量的属性包括有:段地址、偏移地址、类型属性(字节BYTE、字WORD、双字DWORD)9、掌握汇编语言中标号的属性。答:标号的属性包括有:段地址、偏移地址、类型属性(段内NEAR、段间FAR)第38页/共120页10、掌握汇编语言中数据定义语句。举例。答:字节定义:A1 DB 25 字定义:A2 DW 1234H双字定义:A3 DD 12345678H 8字节定义DQ10字节定义 DT第39页/共120页11、汇编语言组成标识符的字符及规则是怎样的?答:(1)组成标识符的字符有:英文大写字母:AZ;英文小写字母:a-z;数字09;字符?、_、$
21、;(2)字符长度不超过3l个;(3)首字符不能是数字;(4)?不能单独作为一个标识符;(5)不能把保留字用作标识符,保留字包括助记符、寄存器名等。第40页/共120页12、什么是8086汇编语言名字?包括有哪些?有何特点?程序中用到的名字有何特点?答:名字是程序员在编程中按标识符规定命名的,目的是方便编程和读程。名字包括文件名、标题名、段名、过程名和符号常量名等。程序中用到的名字:(1)段名:在段定义语句中命名取定,定义后的段名可以作为段基值来使用,用来对段寄存器赋值。(2)过程名:在过程定义语句中定义,指向过程中第一条指令所在的内存单元的地址,即过程的入口地址,有NEAR和FAR之分。(3)
22、符号常量名:由符号定义语句EQU、=来定义,对符号常量给以赋值。第41页/共120页第六章 汇编语言程序设计1、已知AX=836BH,X=FFFFH,执行“CMPAX,X”后,标志位ZF、CF、OF、SF=?答:0101 1000 0011 0110 1011+0000 0000 0000 0001 1000 0011 0110 1100ZF=0(结果非0)CF=1(有借位)OF=0(无溢出)SF=1(结果为负)第42页/共120页2设SP=2000H,AX=8A95H,DI=A000H。请写出下列指令执行后指定寄存器和标志位的值。ADD AX,DI ;PUSH AX ;POP DI ;答:A
23、DD AX,DI ;AX=2A95H,CF=1 PUSH AX ;SP=1FFEH POP DI ;DI=2A95H 第43页/共120页3、查表程序如下,分析该程序写出程序执行后的结果。DATA SEGMENTTABLE DW 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400 X DB 17 ;Y DW?;DATA ENDS;定义代码段CODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX;第44页/共120页 MOV BX,OFFS
24、ET TABLE;MOV AL,X;MOV AH,0;SHL AX,1 ;AX=34 ADD BX,AX MOV AX,BX;MOV Y,AX;MOV AH,4CH INT 21H;CODE ENDS END START答:Y=289或 91H第45页/共120页4、查表程序如下,分析该写出程序执行后的结果。DATA SEGMENTTABLE DB 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225;X DB 14 ;Y DB?;DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DA
25、TA MOV DS,AX;第46页/共120页 MOV BX,OFFSET TABLE MOV AL,X;MOV AH,0;ADD BX,AX MOV AL,BX MOV Y,AL;MOV AH,4CH INT 21H;CODE ENDS END START答:Y=196或C4H 第47页/共120页5分析下列程序段每条指令的执行结果和程序实现的功能?X DW 10 MOV AX,X SAL AX,1 MOV BX,AX SAL AX,1 ADD AX,BX ADD AX,X RET 第48页/共120页答:X DW 10 MOV AX,X ;AX=X SAL AX,1 ;AX=2X MOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 系统 汇编语言 学习 资料
限制150内