微机原理学习笔记_第1页
微机原理学习笔记_第2页
微机原理学习笔记_第3页
微机原理学习笔记_第4页
微机原理学习笔记_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、学习好资料欢迎下载DS: DATA CS: CODESTARTMOVDONE:MOVCODEDATAMOVDS, AXMOVBX,OFFSET NUMMOVAL, BXCMPAL, BX+1JNCDONEXCHGAL, BX+1MOVBX, ALRES ALMOVAH, 4CHINT21HENDSTARTAX,ENDS2、例:编写计算下面函数值的程序:1、例:在NUM和NUM+1单元分别放有一个8位无符号数,编程序将其中较大的数存入NUM单元中,而将较小的数存入NUM+1单元中,同时将较大的数存入另一结果单元RES中DATASEGMENTNUMDB 45HRESDB?DATAENDSCODES

2、EGMENTASSUME,78HX0X0X=0XDB-10YDB?DATA ENDSCODE3EGMENTASSUMEDS: DATA CSCODESTART MOVAX, DATAMOVDS, AXCMPX, 0;与 0进行比较JGEA1;XAO转 A1MOVY, -1;X 0 转 A2MOVY, 0;X=0 时,0tYJMPEXITA2:MOVY, 1;X0, 1t y且皆为字节变量。DATA SEGMENTEXITMOVAH, 4CH-1设输入数据为X、输出数据Y,INT 21HCODEENDSENDSTART3、例:设数据段中 NUM1、NUM2两个字节单元存有无符号整数,编制程序完成

3、:如果两个都是偶数,则分别加1后送DATA! DATA2字节单元;如果两个都是奇数,则分别减1后送DATAl DATA2字节单元;如果两个数中一个是奇数,一个是偶数,则把奇数送DATA1字节单元、偶数送 DATA2字节单元。分析:对于一个二进制数,如果其最低位为0,那么该数必定是偶数,否则是奇数。7 ,”WEXTIY 刑AL与AH内客交快ALAL+1AII-AII+IAL-AI I AH- AH IENDODATA SEGMENTNUM1DB 45HNUM2 DB 0AEHDATA1DBDATAQBDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATABEGI

4、NMOVAX, DATAMOVAL,NUM1MOVAH,NUM2TESTAL,01H;测试NUM1单元内容的奇偶JNENEXT!;AL是奇数时转至 NEXT1TESTAH,01H;测试NUM2单元内容的奇偶,此时 AL是偶数JNENEXT2AH是奇数转至NEXT2INCAL;两个都是偶数INCAHJMPENDONEXT2XCHGAL,AHNUM1是偶数,NUM2是奇数JMPENDONEXTlTESTAH,01HJZENDO;AH是偶数DECALDEC AHENDO:MOVDATA1,AL;存放结果MOVDS, AXMOVDATA2,AHMOVAH, 4CH;返回DOSINT21HCODE EN

5、DSENDBEGIN6个数,编程序将这六个数相加,假设结果不超过一个字节,并且4、例:在NUM开始的字节单元中放有 将结果存入NUM开始的第七个存储单元中首地址 NUM-*BX个議lCX4取第一-EXJ-AK- CX-1CX谪整指针-BX+1亠EX写下一个字节的敎+a*n 一 AB 4in完T码孑 CX-1 f OtP?纸果送SUM羊元.AL thxJ :结束)DSEGSEGMENTNUMDB 03H,07H,11H,02H,30H,19HDSEGENDSCSEGSEGMENTASSUME CS CSEGDS: DSEGSTART: MOV AX,DSEGMOV DS, AXMOV BX, O

6、FFSET NUMMOV CX 6MOV AL,BXDEC CXSk ip:INC BXADD AL,BXLOOP SKIPINC BXMOV BX, ALMOV AH,4CHINT 21HCSEG ENDSEND START5、例:试编一个程序将字单元 BUF中所含1的个数存入COUNT单元中。4结集DATA SEGMENTBUF DW 0011110010101011BCOUNT DBDATA ENDSC0DE3EGMENTASSUME DS: DATACS: CODE SS: STACKSTART MOV AX,DATAMOVDS, AXLEA AX,BUFLopa:MOVBX,AXAN

7、DBX, BXJZEXIT ;(BX)=0,SHLAX, 1JNCLOPAMOVCL,0INCCL结束循环JMPLOPAEXIT:MOV COUNT, CLMOV AH, 4CHINT 21HCODEENDSEND START6、例:数据段中从 A单元开始存放 列N个16位无符号数组,编制程序使数组中的数按照从大到小的次序排DATASEGMENT初始化数据IDW 7 ,5 ,8 ,9 ,4, 3EQU ($-A) /2DATAENDSCODESEGMENTAssumecs:code;ds:dataSTART:0P1:Mov ds,axMOVCX, NDECCXMOVDI, CXLEABX, A

8、MOVAX, BXCMPAX, BX+2JGECONTINUEXCHGAX, BX+2MOVBX, AXmov ax,dataOP2:BX, 2CONTINUE:ADDLOOPOP2MOVCX, DILOOPOP1CODEENDSENDSTART实验:在存储器中有8个字节存有十六进制数字,现要求编写一段程序,实现将每个数字变换成 ASCII码,并存在这8个字节后面的存储器中。参考程序如下:DSEG SEGMENTA1DB 15H,24H,62H,4FH,0A7H, 29H, 73H,3BHB1=$-A1B2=B1*2A2DB B2 DUPDSEG ENDSCODE SEGMNETASSUMEC

9、S: CODE DS: DSEGAX, DSEGMAIN :MOVDS,AXLEAS, A1LEADI, A2MOVCXB1MOV BL,2MOVAL,SIMOVBH,ALPUSHCXMOVCL,4ROR AL,CLMOVpop exDIGIT:CHANG AND AL, 0FHADDAL,30hCMPAL,39HJLECONVADDAL,07HCONV: MOV DI,ALMOV AL,BHDEC BLJNZ CHANGINC SILOOP DIGITMOV AH,4CHINT 21HCODE ENDSEND MAINSTACK SEGMENT STACK DB 200 DUP(DSTACK

10、 ENDS DATA SEGMENTN Dwe RESUILT DW ?DATA ENDS CODE SEGMENTASSUME CS:CODE,SS:STACK,0S:DATASTART: MOV AX.DATAMOV DS,AX MOV AX5TACK MOV SS,AX MOV AXpN CALL MULT MOV RESULT,AX MOV AH,4CH INT21Hjsrtlt proc P rSHAX DEC AX CMTAXJ ,INE NEXT NXT:POP BXaiULBW RKTNEXT: CALJR d CODEENDSOOSfflj* 2 ;加仃匡讣母丿H =* 9

11、-:;- JVjfJEz tMinJ =个U:* OA-弓JH总 L/.J ; J t3纠内 7ND SrvRTRTLTTENDP-J;于牡T丄44产孑疔小G土 不边|让上叙45曲输入 门勺T耳甘1址血计询.入 m餐了 I ; Y1-存储容量=存储单元数X存储单元的位数=2m X N (DRAM为22M X N )M :芯片的地址线根数N:芯片的数据线根数 随机存储器(地址扩展)MEMWMEMR6116 1#RjV/Dq-DAo-AiotAh5IT16ISAidAn 12 A】只读存储器MEMFL%-gA|jlOMAwAltAllAw A -13DoD 了oO16116 2#csCSEAn-A

12、ioYYi74LS1382764 1#Gza叶627&4 2#VddE An Al 2rjq-rD,74.S1JK全译码方式1 #: FOOOO H-FIFFFH2#: FZOOOH-FJFFFH(必考题原题) 思考题: 被称为部分译码。 路若干,要求在在对存储芯片进行译码寻址时,现有 EPROM芯片2732 (4K8088C PU上扩展容量为 16K高位地址线 A19、A18、A15 (不用的全为 0), 要求首地址为20000H。请回答: 如果只有部分高位地址参与,这种译码方法 8位),以及3-8译码器74LS138,各种门电8 EP RO M内存,要求采用部分译码,不使用 选取其中连续、

13、好用又不冲突的一组地址,1 )2 )3)4)2# 21000H21FFF& A# 23000H23FFFH2732的芯片地址线、数据线位数是多少?_组成16KX8需要2732芯片多少片?写出各芯片的地址范围。画出存储扩展图(要求画出地址线、数据线及控制线的连接)D地址线】2根数据线3根匸- 4 片1 3)1卅 20000H20PFFH以端口 A为例,在允许中断情况下,归结如下:当外设的选通信号 STB有效时,来自外设的数据装入 8255A输入缓冲器后,IBFA=1o在 INT&=1及IB吊=1且STB=1时,INTRk由0变1,端口 A向CPU发出中断请求信号。CPU响应中断,进入中断服务程序

14、,通过执行IN指令对端口 A进行读操作,将端口 A中的数据读入CPU并由RD的下降沿使INTR,=0,撤销中断请求,由 RD的上升沿使IBFA=0,接着8255A的A 口又可以接收外设送来的新数据。以端口 A为例,在允许中断情况下,归纳如下: CPU向端口 A写入数据,OBrA=1, ACKA也为1o在此种条件下之下,INTFA端输出由低变高,端口 A向CPU发出中断请求信号。 CPU响应端口 A的中断请求,执行 OUT指令将数据写入端口 Ao在写信号的下降沿作用下,INTR信号变成低电平,上升沿ACKA=0o使OBF=0,表明CPU已经把数据送至指定端口,外设可以把数据输出。外设取走数据后,

15、发出应答信号在ACKA有效信号结束后,一方面使 OBfA=1,又一方面使INTRA输出端由低变高,端口 A再次向CPU发出中断请求,要求输出新的数据,从而又开始一次新的数据输出过程。土飙控制B组控制控制口底1:输入1:输出捋制DU if位h 输入ti:输出B 口方式选择h AAft It Zf式1输出丄口方式选择 001方式001:方式1IX :方式2控制GLI高4位1:編入山输出控制主口別立1:辅入0:向下生长型:进栈时 SP指针递减,出栈时SP指针递增。80888088的堆栈属于向下生长型堆栈操作的单位是字,进栈和出栈只对字量鞫理地址-MOV操作两个燥作迪的类塑不一致两牛陳作St都足存储署

16、 K寄存器的操作有一归限制LEA有效地址传送指令该指令将指令中给出的源操作数的有效地址传送到目的操作数Mov bx, offset num =lea bx,numNEG求补指令指令格式:NEG OPR执行操作:(OPR) J 0FFFFHOPR)+1指令格式:CMP DST SRC执行操作:(DST - (SRC),结果不送入目的地址,置标志位。MUL无符号数乘法指令指令格式:MULSRC执行操作:字节操作数AX-ALX(SRC。字操作数DX AX- AXX (SRC。对标志位的影响:OF、CFIMUL有符号数乘法指令指令格式:IMUL SRC执行操作:字节操作数 AX-ALX (SRC)字操作数 DX, AX- AXX ( SRC对标志位的影响:OF、CFMOV AL, 0B4H;AL=B4HMOV BL, 11H;BL=11HIMUL BL;AX=0FAF4H把负数变成正数求出结果取补码AI=10110100- 11001100(原)取正 为 4c4c*11=50c即结果为-50c=1000010100001100-求补 1111101011110100FAF4DIV无符号数除法指令指令格式:DIV SRC执行操作:字节操作:(AX)/SRC 商( 8 位)T AL余数(8位)T AH字操作:(D

温馨提示

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

评论

0/150

提交评论