h2-12寻址方式教程
2019年西安交通大学814数据结构真题回忆
31842-2019年西安交通大学814数据结构真题回忆814.数据结构。
选择五个。
忘了-大题avIl的题告诉11个数然后进行排序求平均长度二大题哈希表公共溢出区告诉12个数然后求平均长度三(1) 写图的邻接表结构(2)对一个图进行dfs与bfs(3) prim算法四编程题将一个链表进行逆置求时间复杂空间复杂oS填空10个吧。
忘了问答题三个1、三个调度。
然后进程挂起是靠那个调度完成的为什么?2、3、忘了。
大题一(1) 用ru调度进行22个关键数的页面置换(2) 设计一个ru (用计数器和栈) 有标志位(我好像见过原题)二pv 100个学生50台计算机两个学生必须--组才能去申请一个电脑然后管理员才让他们进去。
然后上机操作操作完了要让老师检查。
然后管理员才让走。
计算机组成原理。
四道大题忘了第一道大题告诉16位指令15-11指令10-8是寻址方式7-5通用寄存器4-0是地址。
有000是一次间接寻址001 010011分布是寄存器间接寻址变址寻址相对寻址第一问指令数量寄存器数量。
还有多少种寻址方式第二问问各个寻址的范围第三问问一个指令的数据是多少。
那个画成2进制然后是相对寻址第二道大题。
10位阶补尾补各带一个符号位,第一问写正数负数的最大值最小值第二问写出x= (-23/32) *2^7与y= (23/32) *2^6第三问x+y=?第四问把第三问结果表示出来915[题型分布与分值]选择10*2判断5*2.填空5*2简答7道应该是15*2+16*1+7*4编程题15*2+10*1代码题1输入有限个xy。
xy代表二伟空间一个点,寻找-个最小矩形,包含所输入的所有点要求输出该矩形左下顶点和右上的顶点2.判断一个字符串是否是回文串(其中有空格,需要排除空格),第一问递归解决。
第二问用栈解决3.-个无序序列,找出其中的逆序对,要求O(nlogn), 如果不能在这个时间复杂度下实现,自己写一个程序,声明其时间复杂度.大题第一个满k叉树的分支节点数为n其叶子结点满足(K-1)n+1数归法证明第二个是用队列的基本操作实现栈的push和pop后题, hash表, 10个数据,表长17,哈希函数H1(key) = key%17,冲突解决采用双重散列H2(key)= (key%7 ==0 ? 8:key%7),第一问画表,第二问求查找成功ASL还有个是.支撑树定义最小支撑树mst什么的,我不懂还有4个任务abcd,问分别用哪些数据类型可以解决,写出基本算法还有个相似二叉树算法填空题有广义表快排递归时间复杂度深度优先搜索邻接两种复杂度。
微机原理---汇编语言习题(完整参考答案)
微机原理---汇编语⾔习题(完整参考答案)MIS 硬件原理复习内容1.数的不同进制转换,原码、反码、补码转码,BCD码2.掌握D触发器逻辑3.D触发器组成的电路:卡诺图及简化、真值表、波形图、状态转换图4.三态门、总线结构5.存储器扩展⽅法:地址总线的作⽤,内存分页技术,地址译码⽅法,译码器6.86X 系列CPU 结构框图7.8086寄存器组,寻址⽅式8.指令,伪指令9.数据定义,完整程序结构10.汇编语⾔上机及调试过程1.分别指出下列指令中的源操作数和⽬的操作数的寻址⽅式:(1)MOV SI, 200(2)MOV CX, DA TA[SI](3)ADD AX, [BX][DI](4)AND AX, BX(5)PUSHF2.指出指令MOV AX, 2010H 和MOV AX, DS:[2010H]的区别3.写出以下指令中内存操作数的所在地址(1)MOV AL, [BX+5](2)MOV [BP+5], 5(3)INC BYTE PTR[SI+3](4)MOV DL, ES:[BX+DI](5)MOV BX, [BX+SI+2]4.判断下列指令书写是否正确(1)MOV DS, 0100H (错)(2)MOV AL, BX (错)(3)MOV BL, F5H (错)(4)MOV DX, 2000H (对)(5)INC [BX] (对)(6)MOV 5, AL (错)(7)MOV [BX], [SI] (错)5.若SP=2000H, AX=3355H, BX=4466H, 试指出执⾏下列指令后有关寄存器的值:(1)PUSH AX;执⾏后AX=? SP=? (AX=3355H SP=1FFEH)(2)PUSH AXPUSH BXPOP DX;执⾏后AX=? DX=? SP=?(AX=3355H DX=4466H SP=1FFEH)6.假设想从100中减去AL中的内容,⽤SUB 100, AL是否正确?如果不对,应⽤什么⽅法?7.有如下程序,当AL某位为何值时,可将程序转⾄AGIN2语句。
8051单片机指令系统的7种寻址方式解析
8051单片机指令系统的7种寻址方式解析寻址方式:寻址就是寻找操作数的地址。
绝大多数指令执行时都需要操作数,因此就存在如何确定操作数地址的问题。
所谓寻址方式就是通过什么途径获取操作数的方式。
根据指令操作的需要,计算机总是提供多种寻址方式。
一般来说,寻址方式越多计算机的寻址能力就越强,但指令系统也就越复杂。
8051指令系统有7种寻址方式:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,基址寄存器加变址寄存器间接寻址,相对寻址,位寻址,下面分别介绍。
寄存器寻址寄存器寻址:寄存器寻址就是操作数在寄存器中,因此指定了寄存器就得到了操作数。
采用寄存器寻址方式的指令都是一字节的指令,指令中以符号名称来表示寄存器。
例如:MOV A R1 这条指令的功能是把工作寄存器R1的内容传送到累加器A中,由于操作数在R1中,因此指令中指定了R1,也就得到了操作数。
寄存器寻址方式的寻址范围包括:工作寄存器组R0~R7,部分特殊寄存器ACC,B,DPTR 等。
直接寻址直接寻址:直接寻址就是在指令中直接给出操作数所在单元的真实地址。
这里给出的操作数直接地址为8位二进制地址。
程序中一般用十六进制数表示。
例如:指令MOV A,30H 把内部RAM单元30H中的数据传送给累加器A,指令中30H就是操作数的直接地址。
直接寻址方式的寻址范围包括:内部数据存储器低128单元,特殊功能寄存器。
特殊功能寄存器在指令的表示中除了可以以直接地址形式给出外,还可以以寄存器符号形式给出,如对累加器A,在指令中可使用其直接地址OEOH,也可使用其符号形式ACC。
立即寻址立即寻址:立即寻址方式就是实际操作数作为指令的一部分,在指令中直接给出,取指令时,可在程序存储器中直接取得操作数。
通常把出现在指令中的操作数称为立即数。
采用立即寻址方式的指令,在立即数前面加上。
计算机组成原理与系统结构课后作业答案(包健-冯建文章复嘉版
计算机组成原理与系统结构课后作业答案(包健-冯建文章复嘉版《运算器》P1013.3写出下列各数的原码、反码和补码,机器数长度为8位:真值(1)0(2)-127(3)-0.5(4)-19/128(5)100(6)23/64二进制真值0000000-1111111-0.1000000-0.001001111001000.010111原码0,00000001,00000001,11111111.10000001.00100110,11001000.0101110反码0,00000001,11111111,00000001.01111111.11011000,11001000.0101110补码0,00000001,00000011.10000001.11011010,11001000.0101110P1013.4写出下列各机器数的二进制真值某:(1)[某]补=0,1001某=1001(2)[某]补=1,1001某=-111(3)[某]原=0,1101某=1101(4)[某]原=1,1101某=-1101(5)[某]反=0,1011某=1011(6)[某]反=1,1011某=-100(7)[某]移=0,1001某=-111(8)[某]移=1,1001某=+1001(9)[某]补=1,0000000某=-10000000B,某=-128(10)[某]反=1,0000000某=-1111111B,某=-127(11)[某]原=1,0000000某=-0(12)[某]移=1,0000000某=0P1564.1某=0.1101Y=-0.0110(设机器数长度为8位)[某]补=0.1101000[-某]补=1.0011000[2某]补=溢出[-2某]补=溢出[某/2]补=0.0110100[-某/2]补=1.1001100[Y]补=1.1010000[-Y]补=0.0110000[2Y]补=1.0100000[-2Y]补=0.1100000[Y/2]补=1.1101000[-Y/2]补=0.0011000[-Y/4]补=0.0001100P102:3.8、阶码(6位移码)尾数(6位原码)(1)某=-25/64=-0.011001B,Y=2.875=10.111B[某]浮=0,111111.11001=7F9H[Y]浮=1,000100.10111=897H(2)[Z]浮=9F4H=1,001111.10100=-80P102:9、机器数字长16位(1)无符号整数:0~216115(2)原码表示的定点整数:1,111…11~0,111…11即(21)~2151(3)补码表示的定点整数:1,00…000~0,111…11即215~2151(4)补码表示的定点小数:1.00…000~0.111…11即1~12(5)非规格化浮点数:NMR阶码(8位移码)最大数=(127)22715E尾数(8位补码)1尾数=0.1111111阶码=1,1111111最小数=12271阶码=1,1111111尾数=1.000000072最大负数=227阶码=0,0000000最小正数=27尾数=1.111111122阶码=0,0000000尾数=0.00000017(6)规格化浮点数:最大数=(127)2271尾数=0.1111111阶码=1,1111111最小数=12271阶码=1,1111111尾数=1.0000000最大负数=(2127)22阶码=0,0000000最小正数=217尾数=1.011111122阶码=0,0000000尾数=0.10000007P156:2、(1)P156:4-1(2)4-2P156:55-1补码BOOTH算法5-2补码BOOTH算法P156:6、6-1原码恢复余数算法6-1原码加减交替算法6-2原码恢复余数算法6-2原码加减交替算法P1567-1补码加减交替算法7-2补码加减交替算法P156:4.8阶码(5位补码)尾数(6位补码)(1)某=-1.625=-1.101BY=5.25=101.01B某+Y某-Y:1、对阶同上2、尾数相减:11.1100110+11.01011[E某-Y]补=11.00100103、结果不需规格化4、舍入处理:[E某-Y]补=1.00101[某-Y]=0,00111,00101 P108:8-2某=0.2344=0.00111Y=-0.1133=-0.00011某-Y:1、对阶同上2、尾数相减:00.11100+00.01100[E某-Y]补=01.01000发生正溢尾数右移,阶码加1[E某-Y]补=0.10100[M某-y]=1.11113、结果不需规格化4、舍入处理:[E某-Y]补=0.10100[某-Y]=1,11110,10100P108:9-1阶码(5位移码)尾数(6位补码)某=5.25=101.01BY=-1.625=-1.101B某某Y(1)9-1某/Y:9-2某某Y9-2某/Y《存储体系》P225:2、(1)(2)(3)128500n64P225:3、(1)最大主存容量=216bit1864K1641664片16K12m15.62512821816bit41664片芯片;若采用异步刷新,则刷新信号的周期为(2)共需64K1bit2m15.625128(3)每块8字节,则Cache容量为2K16bit51229行,即c=9,Cache采用2路8Byte21816bit216块,即m=16。
51单片机教材(免费完整版)
单片机教程原作:进墨者目录单片机教程第一课:单片机概述 (2)单片机教程第二课:单片机的内部、外部结构(一) (2)单片机教程第三课:几个基本概念 (5)单片机教程第四课:第一个小程序 (8)单片机教程第五课:延时程序分析 (10)单片机教程第六课:单片机的内外部结构分析(四) (12)单片机教程第七课:单片机内部结构分析(五) (15)单片机教程第八课(寻址方式与指令系统) (19)单片机教程第九课:数据传递指令 (22)单片机教程第十课数据传递类指令指令 (25)单片机教程第十一课:算术运算类指令 (28)单片机教程第十二课:逻辑运算类指令: (32)单片机教程第十三课:逻辑与指令 (34)单片机教程第十四课:条件转移指令 (38)单片机教程第十五课:位及位操作指令 (41)单片机教程第十六课:计数器与定时器 (44)单片机教程第十七课:定时/计数器的方式控制字 (46)单片机教程第十八课:中断系统 (49)单片机教程第十九课:定时、中断练习一 (52)单片机教程第二十课:定时/计数器实验2 (57)单片机教程第二十一课:串行接口 (60)单片机教程第二十二课:串行口应用编程实例 (65)单片机教程第二十三课:LED数码显示器的连接与编程 (68)单片机教程第二十四课:动态扫描显示接口 (72)单片机教程第二十五课:键盘接口与编程 (78)单片机教程第二十六课:矩阵式键盘接口技术及编程 (83)单片机教程第二十七课:初学单片机几个不易掌握的概念 (87)单片机教程第二十八课:单片机音乐程序的设计与实验 (90)单片机教程第一课:单片机概述1、何谓单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。
在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。
而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
【精品】汇编语言程序设计第四版第1章课后答案
汇编语言程序设计第四版【课后习题答案】--囮裑為檤第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O 端口,KB、MB、GB和TB。
〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM 写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
上海大学微机原理与接口技术复试笔试重点复习题
复习题一1、假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址内存多少字节?解:64K字节,1M字节,16M字节,4G字节2、设字长为16位,将下列十进制数转换成二进制数,十六进制数以及BCD数。
①65②129③257④513解:①0000000001000001B,0041H,(0000000001100101)BCD②0000000010000001B,0081H,(0000000100101001)BCD③0000000100000001B,0101H,(0000001001010111)BCD④0000001000000001B,0201H,(0000010100010011)BCD3、设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出?①x=-78y=35②x=-64y=-66解:①[X]原=11001110,[X]反=10110001,[X]补=10110010[Y]原=00100011,[Y]反=00100011,[Y]补=00100011因为:[X]补=10110010[Y]补=00100011那末:[X]补+[Y]补=11010101=[X+Y]补X+Y=-00101011没有溢出②[X]原=11000000,[X]反=10111111,[X]补=11000000[Y]原=11000010,[Y]反=10111101,[Y]补=10111110因为:[X]补=11000000[Y]补=10111110那末:[X]补+[Y]补,有溢出4、试用8位二进制写出以下数、字母以及控制命令的ASCⅡ码,还要写成奇校验、偶校验、标记校验及空格校验的ASCⅡ码。
①B②8③CR④NUL解:解答如下表中。
2.1哪两部分组成?它们的主要功能各是什么?解:8086CPU由总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)两大部分组成。
汇编语言(第2版)-郑晓薇-汇编语言习题-测验题答案
汇编语言(第2版),郑晓薇汇编语言各章习题、测试题答案习题一1.1 分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数11010011 01110111 10000011 00101111 101010101.2 十六进制运算1A52H+4438H 3967H-2D81H 37H×12H 1250H×4H1.3 将十进制数变为8位补码并做运算(结果用二进制、十六进制、十进制表示)29+53 73-24 -66+82 -102-151.4 用压缩BCD码计算(结果用二进制、BCD码、十进制表示)29+53 73-24 66+18 132+751.5 符号位扩展(字节扩展为字,字扩展为双字)20A3H 94H 3456H 7FH EC00H1.6 若机器字长为16位,其无符号数表示范围是多少?带符号数表示范围是多少?分别用十进制和十六进制表示。
1.7 写出下列十六进制数所能代表的数值或编码:(1)38H (2)FFH (3)5AH (4)0DH1.8 将下列十进制数分别转换为二进制、十六进制、二进制补码、压缩BCD码和ASCII码:(1)108 (2)46 (3)-15 (4)2541.9 写出下列算式的8位二进制运算结果,标志位CF、SF、ZF、OF分别是什么值?(1)56+63 (2)83-45 (3)-74+29 (4)-12-371.10 查表,指出ASCII码0DH、0AH、07H、1BH、20H、60H、50H、70H对应的控制字符。
测验一单选题:1.已知X=76,则[X]补= 。
A. 76HB. 4CHC.0B4HD.0CCH2.已知[X]补=80H,则X= 。
A. 80HB. 0C. 0FFHD. -80H3.已知[X]补=98H,则[X]补/2= 。
A. 0CCHB.4CHC. 49HD. 31H4.已知X=78,Y=-83,则[X+Y]补= 。
A. 0F5HB. 0A1HC. 0FBHD. 65H5.将124转换成十六进制数的结果是A. 7CHB. 7DHC. 7EHD. 7BH6.将93H看成一个压缩BCD码,其结果是A. 10010101B. 10010011C.10000011D.100000017.45转换成二进制数是A.10101101B.00111101C. 00101101D. 100111018.6CH转换成十进制数是A. 118B. 108C. 48D. 689.将93H扩展为字的结果是A. FF93HB. 0093HC. 1193HD. 1093H10.56的压缩BCD码是A. 38HB. 56HC. 0506HD. 3536H11.ASCII中的47H表示的字符是A. “7”B. “G”C. “g”D. “E”12.十进制数-128的8位二进制数的补码为A. 11111110B. 01111111C. 10000000D. 1000000113.下列为补码表示,其中真值最大的是A. 10001000B.11111111C.00000000D.0000000114.十六进制数88H,可表示成下面几种形式,请找出错误的表示A. 无符号十进制数136B. 带符号十进制数-120C. 压缩BCD码十进制数88D. 8位二进制数-8的补码15.计算机对字符、符号采用统一的二进制编码。
微型计算机基本原理与接口技术(第二版)教学课件ppt作者陈红卫主编第三章
MOV BL,39H ADD AL,BL AAA
微机原理
② AAS 减法的ASCII码调整指令 指令格式: AAS 执行操作:AL←把减法结果AL的内容调整到 非压缩的BCD码格式 AH←AH - 调整所产生的借位值 标志位的影响:AF、CF
微机原理
3.1.6 转移类指令的寻址方式 1.段内相对转移寻址 有效地址EA为当前IP寄存器内容与指令中指定 的8位或16位有符号数之和 例:JZ DISP 其中DISP是符号地址 2.段内间接转移寻址 有效地址EA为寄存器或存储器单元的内容,这种 寻址方式不能用于条件转移指令。 例:JMP CX
微机原理
3.1.3 寄存器寻址方式 寄存器寻址:操作数存放在CPU内部的寄存器中 例 :MOV AX,DX ; AX←DX 3.1.4 寄存器间接寻址 寄存器间接寻址:有效地址包含在基址寄存器 BX、BP或变址寄存器SI、DI中直接寻址 例 MOV AX,[BX]
MOV AX,[BP] 3.1.5 寄存器相对寻址 寄存器相对寻址方式:有效地址在SI、DI、BX 或BP之一,加上指令中8位或16位相对地址 例 MOV AL,ADDR[SI]
3.2 8086/8088 CPU的指令系统 微机原理
3.2.2 算术运算指令
1.加法指令 ⑴ ADD 不带进位加法指令 指令格式:ADD DST,SRC 执行操作:(DST)←(SRC)+(DST)。 对标志位的影响:OF、SF、ZF、AF、PF、CF。
存储器 通用寄存器 立即数
存储器 通用寄存器 立即数
OR AL,20H 执行上述指令后AL=?
⑶逻辑非NOT 指令 指令格式:NOT OPR 执行操作: (OPR)←(OPR) 影响的标志位:无
细说IDE硬盘的容量限制
细说IDE硬盘的容量限制一、引论IDE硬盘的容量限制对PC业者来说已不是什么新闻,再加上当今市场上不断推出大容量IDE硬盘,用户购买、安装后却发现不能使用全部的硬盘空间(机器BIOS或操作系统不支持)。
本文拟详细地谈谈这个问题,并给出具体的解决办法。
二、简要分析为了了解这个问题出现的原因,我们首先要看看过去,因为今天磁盘驱动器的I/O结构是建立在早先的DOS-BIOS (磁盘操作系统-基本I/O系统)的分层结构上,见下图:应用程序||<- DOS功能调用|文件管理器||<- INT 13中断读写|BIOS磁盘服务例程||<- ATA界面|ATA(IDE)硬盘界面1.应用程序以有名字的文件为对象来处理数据。
比方说,当一个字处理程序要保存文档时,这个文档就以某个文件名被存储起来。
如果以后字处理程序要读这个文档,还是要通过以前存储的文件名来调入有关的数据。
2.文件管理器负责文件及其在磁盘上存储位置之间的映射关系,还要通过磁盘读写中断INT13执行读写命令来存储、调入文件。
当新文件被保存时,文件管理器决定它在当前目录里的存储位置,在FA T(文件分配表)中为这个新文件添加文件目录项,并把文件写入磁盘。
当读文件时,文件管理器在FA T中找到文件在磁盘上的位置,接着就调入文件。
3.中断13服务例程实际上与操作系统无关,所以它上面的应用程序层和文件管理器层可以属于不同的操作系统,如MAC、DOS、LINUX。
4.BIOS的磁盘服务例程负责把Int 13的读写请求转化为ATA界面对硬盘的请求,并执行数据I/O传输的物理动作。
下面我们来进一步看看ATA界面和Int 13 界面层。
三、ATA 界面在介绍ATA界面前,简单说说硬盘的结构:硬盘分为一定数量的柱面(以硬盘中心为圆心的同心圆磁迹),每个柱面都需要磁头来读写数据。
另外,硬盘上的数据都是以每扇区512字节的格式存储的,所有的数据传输都是以扇区(柱面被等分的园弧磁迹)为单位的。
现场总线复习资料
现场总线复习资料1.过程控制系统的发展经历了那几代控制系统?答:共5代。
1.基地式仪表控制系统2.模拟式仪表控制系统3.直接式数字控制系统(DDC)8.生产过程包括哪些装置?答:PLC、智能调节器、现场控制站和其他测控装置。
9.什么是现场总线?现场总线有哪些特点?答:现场总线是一种应用于生产现场,在现场设备之间、现场设备与控制装置之间实现双向、串行、多节点数字通信的技术。
特点:开放性、互操作性和互用性、现场设备的智能化和功能自治性、系统结构的高度分散性、对现场环境的适应性。
10.现场总线的本质含义表现在哪些方面?答:现场设备的互连、现场通信网络、互操作性、分散功能块、总线供电、开放式互联网络12.常用现场总线有哪些?它们各有什么特点?答:FF Profibus LonWorks CC-Link Modbus特点:FF:采用ISO/OSI参考模型的简化模型。
只具备其中的3层,即物理层、数据链路层和应用层,另外增设了用户层。
FF分低速H1和高速H2两种通信速率。
Profibus:采用了ISO/OSI模型中的3层,,即物理层、数据链路层和应用层,另外增设了用户层,由.Profibus-DP/Profibus-PA/Profibus-FMS 这3各版本组成。
Profibus采取主站之间令牌传递方式和主、从站之间的主-从通信方式。
LonWorks:采用ISO/OSI模型的全部7层通信协议,并采用面向对象的设计方法,通过网络变量把网络通信设计简化为参数设置。
3.总线的寻址方式有哪些?各有什么特点?答:3种。
1物理寻址、2逻辑寻址、3广播寻址。
特点:1.用于选择某一总线段上某一特定位置的从设备做为响应者。
6.什么是数据传输率?它的单位是什么?答:单位时间内传送的数据量。
单位有比特率S和波特率B7.试比较串行通信和并行通信的优缺点?答:串行通信缺点:传输速度较慢优点:传输线少、连线简单,特别适合多位数据的长距离通信;并行通信缺点:若数据位数较多、传送距离较远时,则线路复杂,成本较高且干扰大,不适合远距离传送。
汇川H2U系列PLC通信手册
通过 COM0,PLC 与计算机或触摸屏或其它设备的连接有三种方式。 方式 1(JP0 需要接通):PLC 侧为 RS422,计算机侧为 USB。计算机通过专用的 USB 下载电缆连接到 COM0 的程序下载口(见图 1)。 方式 2(JP0 需要接通):PLC 侧为 RS422,计算机侧为 RS232,计算机通过专用的串口 下载电缆连接到 COM0 的程序下载口(见图 1)。 方式 3(JP0 需要断开):PLC 侧为 RS485,计算机侧为 RS485,通过端子(见图 2)连 线,连接电缆由用户自行配线。
HCS12微控制器中文介绍.ppt
SMP [1:0]
00 01 10 11
采样时间
2 A/D时钟周期 4 A/D时钟周期 8 A/D时钟周期 16 A/D时钟周期
系统时钟
5位 模数计数器 预分频器
Slide 6
TM
除2
A/D 时钟
转换时间
A/D 时钟
总是2 个 时钟周期
2, 4, 8, 16 时钟周期
CCF标志位置位,如果在8通道模式下,序列结束
Slide 7
TM
A/D控制寄存器5
Address offset $0005
ATDCTRL5
SCAN – 连续转换模式 1 = 连续转换模式 0 = 单次转换 DSGN – 符号选择 1 = 有符号 0 = 无符号 MULT – 多通道采样模式 1 = 多通道转换 0 = 单通道转换
DJM – 对齐方式 1 = 右对齐 0 = 左对齐
x 0 1 0 1
0
0 1 1 1 1
0
1 X X X X
忽略外部触发,执行一次转换后停止
忽略外部触发,执行连续转换后 下降沿触发,每次触发,执行一次转换 上升沿触发,每次触发,执行一次转换 低电平触发,每次触发,执行连续转换 高电平触发,每次触发,执行连续转换
A/D 控制寄存器3
ATDCTRL3 Address offset $0003
• 模拟/数字输入引脚复用
• 1到8转换序列长度 • 连续转换模式 • 多通道扫描方式
Slide 2
TM
A/D 寄存器
控制寄存器 状态寄存器
转换结果寄存器
Slide 3
TM
A/D 控制寄存器2
ADPU - A/D 电源使能/禁止 1 = A/D模块上电 0 = 禁止A/D,以减少功耗 AWAI - A/D 等待模式 1 = 等待模式下,转换 0 = 等待模式下,禁止转换 ASCIE - A/D 顺序完成中断使能 ASCIF - A/D 顺序完成标志位
微机基础原理第二版标准答案
3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H ,(BP)=1200H ,数据变量VAR 为0050H. 请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?(1) MOV AX,BX (2) MOV DL,80H(3) MOV AX, V AR (4) MOV AX,V AR[BX][SI](5) MOV AL, ‘B' (6) MOV DI, ES: [BX](7) MOV DX,[BP] (8) MOV BX ,20H[BX]解:(1)寄存器寻址。
因源操作数是寄存器,故寄存器BX 就是操作数的地址.(2)立即寻址。
操作数80H 存放于代码段中指令码MOV 之后。
(3)直接寻址。
( 4)基址一变址一相对寻址.操作数的物理地址 =(DS) × 16+ (SI)+ (BX) +VAR= 60000H + 00A0H +0800H +0050H =608F0H(5)立即寻址(6) 寄存器间接寻址 .操作数的物理地址 = (ES) × 16+ (BX)= 20000H + 0800H = 20800H(7) 寄存器间接寻址。
操作数的物理地址 = (SS) × 16+ (BP)= 15000H + 1200H= 16200H(8) 寄存器相对寻址.操作数的物理地址= (DS) × 16+ (BX) + 20H= 60000H +0800H +20H= 60820H3.3 假设 (DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H, 位移量 DATA=40H ,(217A0H) =2300H ,(217E0H)=0400H , (217E2H) =9000H 试确定下列转移指令的转移地址 .(1) JMP BX(2) JMP WORD PTR[BX] (3) JMP DWORD PTR[BX+DA TA]解: 转移指令分为段内转移和段间转移, 根据其寻址方式的不同, 又有段内的直接转移 和间接转移, 以及段间的直接转移和间接转移地址。
mcs-51系列单片机基本结构与工作原理
寄存器间接寻址
直接寻址 直接寻址
直接寻址
寄存器寻址 寄存器间接寻址
(4)MOV 60H,@R1
表2-2 特殊功能寄存器SFR的名称及地址(一)
§ MCS-51的扩展应用
一、单片机扩展的基本概念 1、单片机最小系统:使单片机运行的最少器件构成的 系统,就是最小系统。 无ROM芯片:8031 必须扩展ROM,复位、晶振电路 有ROM芯片:89C51等,不必扩展ROM,只要有复位、 晶振电路 2、扩展使用的三总线: 地址总线:由外部程序存储器取指,P0-低8位; P2-高8位 数据总线:指令输入,P0 控制总线:RD、WR、 ALE、 PSEN
立即数寻址
变址间接寻址 相对寻址 位寻址
程序存储器(操作常数)
程序存储器(@A+DPTR、@A+PC) 程序存储器(修改了PC值) 内部数据存储器及特殊功能寄存器中 某些单元位
Example 判断下列指令各操作数的寻址方式
(1)MOV A , #65H
(2)MOV @R1,65H (3)MOV 30H,R2 寄存器寻址 立即数寻址
(读、 写、地址锁存允许、 外程序存储器读选通)
图2-5 8051特殊功能寄存器地址分布图
二、存储器的扩展
1、随机读写存储器RAM的扩展 :数据存储器一般采用RAM芯片, 这种存储器在电源关断后,存储的数据将全部丢失。有两大类: 动态RAM(DRAM),一般容量较大,易受干扰,使用略复杂。例 2116、2186 静态RAM(SRAM),在工业现场常使用SRAM,例:6264、6116
二、专用寄存器组
1、程序计数器 PC 16位计数器,指向程序存储器中被执行的指令所在的地址。本身没 有地址,在物理上独立。 寻址范围0000~FFFFH的64KB空间。 2、数据指针DPTR 16位地址指针,可寻址范围0000~FFFFH 的64KB空间,可指向程 序、数据存储器。 3、堆栈指针SP 8位地址寄存器,SP用来管理堆栈。它指向内部RAM的一个存储单 元,且总是指向栈顶单元。 MCS-51的堆栈是内部RAM中的一个部分,符合“先进后出、后进 先出”原则。 4、累加器ACC ACC是一个具有特殊用途的8位寄存器,主要用于存放操作数或运算 结果。8051指令系统中多数指令的执行都要通过累加器ACC进行。因此, 在CPU中,累加器的使用频率是很高的。也可简写累加器A。
应用CodeWarrior的HCS12使用入门以及相关的嵌入式编程入门
应用CodeWarrior的HCS12使用入门以及相关的嵌入式编程入门这些公司不但提供C交叉编译器,还提供集成开发环境IDE。
其中Metrowerks是Motorola于1999年收购的、独立运作的子公司,CodeWarrior是Metrowerks公司研发的专门面向Motorola (freesacle)所有MCU与DSP嵌入式应用开发的软件工具,是motorola(freescale)向用户推荐的产品。
如同多数软件开发商一样,Metrowerk提供CodeWarrior有效期为30天的试用版本,还有专门提供面向教学的,免费的特别版(Special Edition )。
这个特别版本对生成的代码量有一定限制,C代码不得超过12KB,对工程包含的文件数目限制在30个以内。
虽然有些限制,但用于教学和研究生的一些简单的研究题目已经足够了。
付一定的费用也可以达到代码量32KB、64KB的升级版本,直至全商用版本。
用CodeWarrior开发产品应使用正版商业软件。
试用版、教学用特别版本都可以从Metrowerks的网站上下载,也可以向分销商申请免费的光盘。
以下简单介绍CodeWarrior的使用方法。
为的是读者快速入门,更多的功能和用法请阅读该软件包中包含的大量文档,在实践中不断熟悉和掌握。
“CODEWARRIOR FOR S12”是面向以HC12或S12 CPU的单片机嵌入式应用开发软件包。
包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。
2.安装CodeWaarior安装CodeWarrior软件包没有什么特别之处,在window操作系统上,只要按照安装向导单击鼠标就可以自动完成。
需要说明的是,安装完毕以后要上网注册以申请使用许可(license key)。
无论是下载的软件还是申请到的免费光盘,安装后都要通过因特网注册,以申请使用许可(licenseKey)。
7 种寻址方式及其基本 指令
7 种寻址方式及其基本指令寻址方式是计算机中指令执行时,计算需要访问内存地址的方式。
不同的寻址方式决定了如何计算出内存地址。
下面将介绍七种常见的寻址方式及其基本指令。
1.直接寻址:直接寻址是最简单的寻址方式,指令中直接给出了要访问的内存地址。
指令的操作数直接指向了存储器中的某个地址。
例如,"LOAD A, 100"表示从地址100加载数据到寄存器A中。
2.立即寻址:立即寻址方式是将常数直接作为指令操作数使用。
指令中给出了要操作的具体数值,而不是内存地址。
例如,"ADD A, 10"表示将寄存器A的值加上10。
3.间接寻址:间接寻址是通过间接寻址寄存器来确定要访问的内存地址。
指令中给出了要操作的寄存器,而不是具体的内存地址。
例如,"LOAD A,(B)"表示从存储器中加载B寄存器中的值作为内存地址,并将该地址处的内容放入寄存器A中。
4.寄存器寻址:寄存器寻址方式是将寄存器作为指令的操作数。
指令中给出了要操作的寄存器,而不是具体的内存地址或数值。
例如,"ADD A, B"表示将寄存器B的值加上寄存器A的值。
5.寄存器间接寻址:寄存器间接寻址方式是通过寄存器中的地址来确定要访问的内存地址。
指令中给出了要操作的寄存器,该寄存器中存储了内存地址。
例如,"LOAD A, (B)"表示从存储器中加载B寄存器中存储的内存地址处的内容,并将该内容放入寄存器A中。
6.相对寻址:相对寻址是通过指令中的相对偏移量来计算要访问的内存地址。
指令中给出了指令执行时相对于当前指令地址的偏移量。
例如,"JUMP 10"表示程序跳转到当前指令地址加上10的位置。
7.基址寻址:基址寻址方式是通过基址寄存器中存储的基地址加上一个偏移量来确定要访问的内存地址。
指令中给出了基址寄存器和偏移量。
例如,"LOAD A, (B+10)"表示从存储器中加载B寄存器中存储的基地址加上10的偏移量处的内容,并将该内容放入寄存器A中。
单片机原理及应用第三章习题答案
习题三1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。
片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。
片外RAM寻址有:寄存器间接寻址方式。
2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR间接寻址有什么区别?答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。
3.在位处理中,位地址的表示方式有哪几种?答:1.直接位地址(00H~0FFH)。
例如:20H2.字节地址带位号。
例如:20H.3表示20H单元的3位。
3.特殊功能寄存器名带位号。
例如:P0.1表示P0口的1位。
4.位符号地址。
例如:TR0是定时/计数器T0的启动位。
4.写出完成下列操作的指令。
(1)R0的内容送到R1中。
MOV A,R0MOV R1,A(2)片内RAM的20H单元内容送到片内RAM的40H单元中。
MOV 40H,20H(3)片内RAM的30H单元内容送到片外RAM的50H单元中。
MOV A,30HMOV R0,#50HMOVX @R0,A(4)片内RAM的50H单元内容送到片外RAM的3000H单元中。
MOV A,50HMOV DPTR,#3000HMOVX @DPTR,A(5)片外RAM的2000H单元内容送到片内RAM的20H单元中。
MOV DPTR,#2000HMOVX A,@DPTRMOV 20H,A(6)片外RAM的1000H单元内容送到片外RAM的4000H单元中。
MOV DPTR,#1000HMOVX A,@DPTRMOV DPTR,#4000HMOV @DPTR,A(7)ROM的1000H单元内容送到片内RAM的50H单元中。
H2数据库攻略
H2数据库攻略H2是⼀个开源的嵌⼊式数据库引擎,采⽤java语⾔编写,不受平台的限制,同时H2提供了⼀个⼗分⽅便的web控制台⽤于操作和管理数据库内容。
H2还提供兼容模式,可以兼容⼀些主流的数据库,因此采⽤H2作为开发期的数据库⾮常⽅便。
⼀、引⼊Maven依赖在maven中定义H2数据库的版本属性1 2 3<properties><h2.version>1.3.172</h2.version> </properties>添加H2依赖1 2 3 4 5 6<dependency><groupId>com.h2database</groupId> <artifactId>h2</artifactId><version>${h2.version}</version><scope>test</scope></dependency>⼆、运⾏⽅式1、在内存中运⾏数据库只在内存中运⾏,关闭连接后数据库将被清空,适合测试环境连接字符串:1jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1如果不指定DBName,则以私有⽅式启动,只允许⼀个连接2、嵌⼊式数据库持久化存储为单个⽂件连接字符串:1jdbc:h2:file:~/.h2/DBName;AUTO_SERVER=TRUE~/.h2/DBName表⽰数据库⽂件的存储位置,如果第⼀次连接则会⾃动创建数据库3、服务模式H2⽀持三种服务模式:web server:此种运⾏⽅式⽀持使⽤浏览器访问H2 ConsoleTCP server:⽀持客户端/服务器端的连接⽅式PG server:⽀持PostgreSQL客户端启动tcp服务连接字符串⽰例:1 2jdbc:h2:tcp://localhost/~/test 使⽤⽤户主⽬录jdbc:h2:tcp://localhost//data/test 使⽤绝对路径4、连接字符串参数DB_CLOSE_DELAY:要求最后⼀个正在连接的连接断开后,不要关闭数据库MODE=MySQL:兼容模式,H2兼容多种数据库,该值可以为:DB2、Derby、HSQLDB、MSSQLServer、MySQL、Oracle、PostgreSQLAUTO_RECONNECT=TRUE:连接丢失后⾃动重新连接AUTO_SERVER=TRUE:启动⾃动混合模式,允许开启多个连接,该参数不⽀持在内存中运⾏模式TRACE_LEVEL_SYSTEM_OUT、TRACE_LEVEL_FILE:输出跟踪⽇志到控制台或⽂件,取值0为OFF,1为ERROR(默认值),2为INFO,3为DEBUGSET TRACE_MAX_FILE_SIZE mb:设置跟踪⽇志⽂件的⼤⼩,默认为16M5、启动服务模式,打开H2 Console web页⾯启动服务,在命令⾏中执⾏1java -cp h2*.jar org.h2.tools.Server执⾏如下命令,获取选项列表及默认值1java -cp h2*.jar org.h2.tools.Server -?常见的选项如下:-web:启动⽀持H2 Console的服务-webPort <port>:服务启动端⼝,默认为8082-browser:启动H2 Console web管理页⾯-tcp:使⽤TCP server模式启动-pg:使⽤PG server模式启动此外,使⽤maven也可以启动H2服务12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48<?xml version="1.0"encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>1.0.0</modelVersion><version>1.0.0</version><groupId>groupid</groupId><artifactId>h2-console</artifactId><name>H2 Console</name><packaging>pom</packaging><properties><h2.version>1.3.172</h2.version></properties><dependencies><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>${h2.version}</version><scope>runtime</scope></dependency></dependencies><build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>exec-maven-plugin</artifactId><executions><execution><goals><goal>java</goal></goals></execution></executions><configuration><mainClass>org.h2.tools.Server</mainClass><arguments><argument>-web</argument><argument>-webPort</argument><argument>8090</argument><argument>-browser</argument></arguments></configuration></plugin></plugins></build></project>在命令⾏中执⾏如下命令启动H2 Console mvn exec:java或者建⽴⼀个bat⽂件1 2 3@echo offcall mvn exec:java pause此操作相当于执⾏了如下命令:1java -jar h2-1.3.168.jar -web -webPort 8090-browser三、应⽤程序配置1、Properties配置java应⽤程序关于数据库的Properties配置⽂件⽰例如下:1 2 3 4 5 6 7 8#h2 database settingsjdbc.driver=org.h2.Driverjdbc.url=jdbc:h2:file:~/.h2/quickstart;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1 ername=sajdbc.password=#connection pool settingsjdbc.pool.maxIdle=5jdbc.pool.maxActive=402、初始化数据库(1)、在Maven中初始化数据库可以创建⼀个Profile,专门⽤于初始化数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
立即寻址:
①读取指令 ②分析指令 ③执行指令
MOV AX, 1234
适用于对寄存器 或存储器赋值
代码段 地址 CS :IP 0100 1D24: 0101 1D24 : B83412 0102 1D24: M
. . .
指令缓冲寄存器
B83412 3412
B8 34 12
. . .
代码段
AX AH AL
1D26:000D 3355
BUF2 DW 5533H
· CODE
;变量BUF2为字类型
;代码的开始 ;程序开始 ;BL←12H ;AX←5533H ;返回DOS
地 址
机器码
· STARTUP MOV BL,BUF1 MOV AX,BUF2 · EXIT
1D24:0010 8A1E0C00 1D24:0014 Al 0D00
机器码 BB0E00 BF1100 8A4104
BUF2 DB 11H,22H,33H, 44H,55H,66H · CODE · STARTUP MOV BX,OFFSET BUF1 ;BX←000EH MOV DI,11H ;DI←0011H MOV AL,[BX+DI十4] ;AL←66H · EXIT END
6
二.寄存器寻址 操作数在寄存器中,操作数可以是8位、16位 或32位通用寄存器、16位段寄存器。 例2.2
· MODEL TINY · 586 · CODE 地 址 机器码 · STARTUP lD24:0100 8BC3 MOV AX,BX lD24:0102 8ACA MOV CL,DL lD24:0104 668BF7 MOV ESI,EDI · EXIT END ; 选择单个段模式 ; 586实方式 ; 代码段开始 ; 程序开始 ; AX←BX ; CL←DL ; ESI←EDI
33 00 44 00
. . .
数据段
AX
AH
AL
22
下列指令是等价的: MOV AX,[BP十DI]; MOV AX,[BP][DI]; 基址变址寻址适用于数组或表格存取, 将数组或表格首地址,放在基址寄存器中, 而将数组或表格中的数据的相对位移,放在变址 寄存器中, 灵活地实现数组或表格中数据的存取。
END
;文件结束
11
直接寻址:
①读取指令
MOV AX, BUF2
M
②分析指令
③执行指令 指令缓冲寄存器 0D 00 A10D00
CS
IP
1D24 0014
代码段 地址 : 0015 1D24: A10D00 1D24: 0016 数据段地址 DS : EA 1D26 : 000D
. . .
A1 0D 0 00 0
7
三.存储器寻址方式 操作数在存储器中,指令以某种方式给出操 作数在存储器的地址。 操作数地址可以在指令里面直接给出,也可 以放在寄存器中间接给出。 存放地址的寄存器,可以是规定的16位或32 位通用寄存器。
8
1.16位指令模式下的存储器寻址方式 80x86实模式为16位指令模式。 当用寄存器间接给出操作数地址时,可使 用的寄存器为BX,BP,SI,DI。
24
例2.8
相对基址变址寻址
· MODEL SMALL · DATA BUF1 DB 10HDUP(?)
地 址 操作数 1D25:000E 000000000000 000000000000 00000000 1D25:001E 112233445566
地 址 1D24:0010 1D24:0013 1D24:0016
. .
数据段
BL
18
寻址寄存器为BX,BP,称相对基址寻址; 寻址寄存器为SI,DI,称相对变址寻址。 参与寻址的寄存器名要加方括号[ ],偏移 量可以不加方括号,下列两条指令是等价的:
MOV AX,[BX十5]
MOV AX,5[BX]
寄存器相对寻址适用于???
实现对结构或记录等数据类型进行的操作。
25
相对基址变址寻址:
①读取指令 ②分析指令 ③执行指令
指令缓冲寄存
MOV AL, [BX+DI+4]
CS IP
1D24 0016
代码段 地址 :
M
. . .
8A 41 04
. . .
DS
1D25
8A4104
代码段
04
BX
DI
000E
0011 + 0023 :
55 66
. . .
数据段
AL
27
2.1.2 程序地址寻址方式
. . .
代码段
12 33 55
. . .
数据段
等效于指令 MOV AX, [000DH]
AX AH AL
12
(2)寄存器间接寻址。
操作数在存储器中,地址寄存器BX,BP,SI,DI 存放操作数的有效地址。 例2.4 · MODEL SMALL
地 址 操作数 1D26:000E 1155 1D26:0010 2233 地 址 1D24:0010
2
2.1
80x86寻址方式
通常指令分为操作码和操作数两部分。
数据寻址方式--表示指令中操作数所在的 方法。
程序地址寻址方式--表示指令转移地址所 在的方法。 堆栈地址寻址--堆栈段用于暂存数据,并 且为程序保存返回地址。 堆栈的存取方式不同于一般数据段,堆栈 采用先进后出的存取方式。
3
2 .1 .1
1
第二章
本章要求:
80x86寻址方式和指令系统
1.掌握数据、程序地址、堆栈地址寻址的概 念及其各种寻址方法。 2.了解80x86指令的二进制编码格式和源程序 中的书写格式。 3.掌握80x86指令系统,注意从指令的功能、 寻址方式、对标志位有无影响、效率等方面进行 分析和掌握。 4.结合下一章内容,对寻址方式和常用指令 熟练应用。
13
寄存器间接寻址:
①读取指令 ②分析指令 ③执行指令 指令缓冲寄存 DS DI 1D26 0010
MOV BX, [DI]
M
. . .
CS
IP
1D24 0018
代码段 地址 :
8B1D 1D24 : 0019 1D 数据段 地址
. . .
8B
代码段
11 55 22 33
. . .
数据段
: 1D26 : 0011
BX,SI或DI,默认DS之内容为段基址; BP,默认SS之内容为段基址。 段超越前缀(CS:ES:DS:SS:FS:GS:), 操作数可以放在指定段。 如:ES:[BX]
9
16位指令模式寻址结构由4部分组成: 段基址×10H+基址+变址+位移量
即:
BX 段基址×10H+ BP + DI SI + 16位补码 8位补码
16位偏移地址
20位物理地址 使用存储器的第一个1MB空间。
10
(1)直接寻址。操作数在存储器中,指令直接 包含操作数的有效地址。
例2.3
· MODEL SMALL 地 址 操作数 · DATA BUF1 DB 12H 1D26:000C 12 ;选择small内存模式 ;数据段开始 ;变量BUF1为字节类型
19
(4)基址变址寻址。操作数在存储器中, 操作数的有效地址为基址和变址之和,即有效 地址所在的段基址由基址寄存器BX,BP决定。
基址寄存器为BX时,缺省段寄存器为DS;
基址寄存器为BP时,缺省段寄存器为SS。 也可以使用段超越前缀,指定段寄存器。
20
例2.7 基址变址寻址
· MODEL SMALL 地 址 操作数 · DATA 1D25:000C 11002200 BUF DW 0011H,0022H,0033H, 33004400 0044H,0055H,0066H 55006600
数据寻址方式
一.立即寻址 操作数(又称立即数)包含在指令中,作为 指令的一部分,存放在代码段中。
操作数存放形式为:低字节在前、高字节 在后。即: 数据低位存放在地址低位存储单元, 数据高位存放在地址高位存储单元。 例: MOV AX,1234H ;AX←1234H
4
例 2.1 立即寻址示例
· MODEL TINY · 586 · CODE CS :EA 机器码 · STARTUP 1D24 : 0100 B83412 MOV AX,1234H 1D24 : 0103 66BB00000000 MOV EBX,0 1D24 : 0109 B155 MOV CL,55H · EXIT END ; 选择单个段模式 ; 586实方式 ; 代码段开始 ; 程序开始 ; AX←1234H ; EBX←0 ; CL←55H ; 返回DOS ; 文件结束
1D24:0013 1D24:0015 1D24:0018
· DATA BUF1 DB 11H,55H BUF2 DW 3322H · CODE 机器码 · STARTUP BE0E00 MOV SI,OFFSET BUF1 ;变量BUF1的 有效地址送SI 8A04 MOV AL,[SI] ;AL←11H BF1000 MOV DI,OFFSET BUF2 ;变量BUF2的 有效地址送DI 8B1D MOV BX,[DI] ;BX←3322H · EXIT END
21
基址变址寻址:
①读取指令 ②分析指令 ③执行指令 DS 指令缓冲寄存 BX SI 1D25 000C 0006
MOV AX, [BX+SI]
M
. . .
CS IP
1D24
0016
代码段 地址 :
8B00 1D24 : 0017
8B 00
. . .
代码段
+ 数据段 0012 地址 : 1D25: 0013