微机原理与接口技术复习.ppt
微机接口技术复习,1.二进制数、十六进制数和十进制数间的相互转换 2.无符号数、原码和补码3.ASCII码与BCD码 4.8086/8088 的寄存器5.存储器中数据的存放数据段中的数据在存储器中的存储图 6.存储器的逻辑地址和物理地址7.堆栈 习题 111 1720,第1章 基础知识,1.符号指令的寻址方式 存储器寻址中的存储器地址可以用地址表达式给出。地址表达式的一般形式是:变量基址寄存器+变址寄存器+常量2.符号指令 传送指令、算术运算指令、逻辑指令、移位指令、转移指令、循环控制指令等。3.系统功能调用4.宏汇编源程序的格式,第2章 汇编语言与汇编程序,2.8 AX中有一负数,欲求其绝对值。若该数为补码,则用指令;若该数为原码,则用指令。,NEG AX,AND AX,7FFFH,2.10 一数据段定义为:DATA SEGMENT S1 DB 0,1,2,3,4,5S2 DB 12345COUNT EQU$S1NB DB 3 DUP(2)NW DW 120,256PW DW 1DATA ENDS,(1)画出该数据段中数据的存储形式 数据的存储形式如下图所示。,(2)在下表中填写各变量的偏移地址和各变量的值。,各变量的偏移地址和各变量的值如下表:,镜子程序、数制转换程序,第3章 程序设计,3-3写出执行下列程序段的中间结果和结果,1.MOV AX,0809H MUL AH;AX=AAM;AX=,0048H,0702H,2.MOV AX,0809H MOV DL,5 AAD;AX=DIV DL;AX=MOV DL,AH AAM;AX=DL=,0059H,0411H,0107H,04H,3.MOV AX,0809H ADD AL,AH MOV AH,0;AX=AAA;AX=,0011H,0107H,4.MOV AX,0809H MOV DL,10 XCHG AH,DL MUL AH;AX=AAM;AX=ADD AL,DL;AX=,005AH,0900H,0908H,实验3 2.编写将字变量SW中的4位十六进制数以十六制数形式送显示器显示的源程序。,3-17 从键盘输入一字符串(字符数1),然后在下一行以相反的次序显示出来(采用DOS 9号和10号系统功能调用)。解:建立2个指针指向输入的字符串,一个指向串首,另一个指向串尾。将2指针指向的字符交换,字符交换的操作要进行到字符串首指针的值大于等于字符串尾指针的值为止,即可将字符串的次序颠倒。编写的程序如下:,;10号功能调用键入一串字符MOV SI,OFFSET BUT+2;SI指向串首MOV BX,SI;BX指向串尾+1ADD BL,BUF+1;串首地址加上键入字符个数ADC BH,0MOV BYTE PTR BX,$;串尾后送串结束符DEC BX;BX指向串尾 AG:MOV AL,BX;字符交换XCHG AL,SIMOV BX,ALDEC BX;调整指针INC SICMP SI,BX;两指针比较JC AGAINMOV BUF+1,0AH;换行送串首1单元;9号功能调用从BUF+1换行开始输出,第5章 半导体存储器,存储器通过地址总线、数据总线和控制总线,实现与CPU的连接。不同类型的存储器芯片,与处理机的连接方式是不同的;同一类型的存储器芯片,与不同字长的微处理器的连接方式也不相同。要掌握常用的静态RAM和可擦除可编程ROM与微型计算机的三总线的连接方法。1.存储器的组成结构及引线功能2.地址译码与地址分配3.存储器与CPU的连接,例题5.1 例题 用2K8的存储芯片组成容量为8K8存储器,若用译码法连接,共需多少片存储芯片?共需多少根地址线?其中几根地址线作字选线?几根地址线作片选线?试用74LS138画出译码电路,并标出其输出线的选址范围。,8K8/2K8=4,即共需要4片存储器芯片8K=8192=213,所以组成8K的存储器共需要13根地址线2K=2048=211 即11根作字选线,选择存储器芯片片内的单元1311=2 即2根作片选线,选择4片存储器芯片 芯片的11根地址线为A10A0,余下的高位地址线是A12和A11,所以译码电路对A12和A11进行译码,译码电路及译码输出线的选址范围如下图所示。,第6章 输入输出和接口技术,IO端口地址的译码方法数字通道接口及其应用,6.6 设计8个理想开关的输入接口电路,编写控制程序将8个理想开关输入的8位无符号二进制数以十进制数形式在显示器上显示出来。解:设计的接口电路如下图所示:,编制的程序如下:OBUF DB 4 DUP(0)MOV BX,OFFSET OBUF+3 MOV BYTE PTR BX,$MOV DX,380H;读入二进制数 IN AL,DX MOV CH,10;将10送CHAG:MOV AH,0;无符号数扩展 DIV CH ADD AH,30H;BCD数转换为ASCII码 DEC BX;调整指针 MOV BX,AH OR AL,AL;根据商设置ZF JNZ AG;商不为0,继续 MOV DX,BX MOV AH,9 INT 21H,6.10 设计接口电路和控制程序,用8个理想开关输入二进制数,8只发光二极管显示二进制数。设输入的二进制数为原码,输出的二进制数为补码。解:设计的接口电路如下图所示:,编制的控制程序如下:MOV DX,380H IN AL,DX;读入原码TEST AL,80H;判符号JZ NONEG;正数不求补 AND AL,7FH;负,求其绝对值NEG AL;对绝对值求补NONEG:OUT DX,AL,第8章 常用可编程接口芯片8255与PC微机的连接如下图所示:,方式选择控制字 如下:,8.5 用8255的A端口接8只理想开关输入二进制数,B端口和C端口各接8只发光二极管显示二进制数。写出读入开关设置的原码数据后送B端口(补码)和C端口(绝对值)的发光二极管显示的控制程序。解:编制的控制程序如下:MOV DX,383HMOV AL,90HOUT DX,ALMOV DX,380HIN AL,DX;从A口读入原码AND AL,AL;判原码的符号,JNS DN;为正去DNAND AL,7FH;为负,取其绝对值MOV DX,382HOUT DX,AL;绝对值从C口输出NEG AL;将负数的绝对值求补DEC DXOUT DX,AL;负数的补码从B口输出RETDN:INC DX;正数从B口和C口输出OUT DX,ALINC DXOUT DX,AL,8.7 试用一片8255设计3只七段显示器的接口,将键盘输入的3位十进制数在这3只七段显示器上显示出来。设计这一输出电路和控制程序。解:设端口地址为380H383H,接口电路图如下图所示:,编制的控制程序如下:IBF DB 4,0 4 DUP(0)SEGPTDB 3FH,6,5BH,4FH,66HDB 6DH,7DH,7,7FH,6FHMOV DX,OFFSET IBFMOV AH,10INT 21HMOV DX,383HMOV AL,80HOUT DX,ALMOV SI,2,AGAIN:MOV BL,IBFSIAND BX,000FHMOV AL,SEGPTBXDEC DXOUT DX,ALINC SICMP SI,5JC AGAIN,