《第3章第5次习题课.ppt》由会员分享,可在线阅读,更多相关《第3章第5次习题课.ppt(19页珍藏版)》请在三一办公上搜索。
1、济南大学控制学院,1,2014年3月10日,习题课!本课主要内容,一、课堂同时编程1题二、10道例题三、讲解教材出现的程序例题四、简述章节后的习题,要求(通过这些程序的练习):1、掌握常用的指令2、初步建立用汇编进行编程的理念,济南大学控制学院,2,2014年3月10日,回顾指令系统,上次课的内容3.4.6 控制传送指令(掌握)3.4.7 串指令(了解)3.4.8 标志控制操作(理解)3.4.7 段寄存器(理解)3.4.10 杂项指令(理解),济南大学控制学院,3,2014年3月10日,小明大学毕业后在济南找一份工作,年薪5万,目前济南市房价8000元/平方米,如果他把年薪积蓄一半用于买房,想
2、与亲人AA制合买一套80平方米的房子,计算需要的年数。试用8086汇编语言编写程序(硬件自己定义),把年数放到数据区:2000H:1000H单元中。,济南大学控制学院,4,2014年3月10日,掌握和熟练运用汇编语言的方法:,1、多阅读例题2、自己编写和调试一些程序,济南大学控制学院,5,2014年3月10日,统计一个班90分以上的成绩,MOV BX,#MOV CX,25 MOV DL,00K00:CMP BX,90 JB Z0801 INC DLZ0801:INC BX LOOP K000,济南大学控制学院,6,2014年3月10日,一、作业反映问题:,指令错误:1、MOV AL,100H2
3、、MUL 103、MOV 2000H,3000H4、MOV AX,BX5、INC BX;?6、SHL AL,27、PUSH CS8、MOV AL,#30H 9、MOV AL,A 10、OUT BX,AL,济南大学控制学院,7,2014年3月10日,二、讲10道例题:,1、在下列程序运行后,分析各寄存器的结果 MOVAL,20H;AL=20HMOVBX,2000H;BX=2000HMOVBX,AL;2000H=20HMOVCX,3000H;CX=3000HMOVSI,4000H;SI=4000HMOVSI,AL;4000H=20H XCHGBX,SI;BX=4000H,SI=2000HXCHGC
4、X,BX;CX=4000H,BX=3000HMOVAH,CX;AH=20HMOVDX,1000H;DX=1000HMOVBX,DH;3000H=10H HLTAX=2020H,BX=3000H,CX=4000H,SI=2000H,DX=1000H,济南大学控制学院,8,2014年3月10日,2、将十进制数37和48相加,结果以组合BCD码的形式方在AL中。MOVAL,00110111B;AL=37BCD MOVBL,01001000B;BL=48BCD ADDAL,BL;AL=7FH DAA;AL=10000101B=85BCD HLT(01111111+0110(6)=10000101),在
5、计算机存储器为多少?,济南大学控制学院,9,2014年3月10日,3、将0400H单元中的数,前4位置零,后4位保持不变。解:MOVAL,400HANDAL,0FHMOV400H,AL4、将BX中的数,对高位字节求反,低位字节保持不变.解:XORBX,0FF00H5、检测BX中第13位(D13),为0时,把AL置0,为1时,把AL置1.解:XORAL,AL ANDBX,0010 0000 0000 0000BJZADR0INCALADR0:HLT,用TEST也可以,济南大学控制学院,10,2014年3月10日,6、使AL中的数的第0、1位取反。XOR AL,03H 7、将两个非组合BCD数(高
6、位存BL,低位存于AL中),转换成一个组合的BCD数,存于AL中。MOV CL,4SHL BL,CLOR AL,BLHLT,济南大学控制学院,11,2014年3月10日,8、从2000H单元开始的区域,存放10字节数,找出最大的数,存入2000H单元。解:用BX作数组的指针,AL存大数。MOV BX,2000H MOV AL,BX MOV CX,9;ADR1:INC BX CMP AL,BX;两数比较 JAE ADR2;大于等于转 MOV AL,BX;大数存ALADR2:LOOP ADR1;LOOP ADR1相当于 DEC CX JNZ ADR1 两条指令 MOV BX,2000H MOV B
7、X,AL HET,济南大学控制学院,12,2014年3月10日,9、有两个4字节无符号数放在2000H、2001H、2002H、2003H(设为:84321122H)和3000H、3001H、3002H、3003H(设为:7F002233H)单元中,低位在前,高位在后,将两个数相加,结果放2000H开始的单元中。MOV SI,2000H;SI2000H MOV AX,SI;AX2001H2000H=1122H MOV DI,3000H;DI3000H ADD AX,DI;AX+DI+1DI=1122H+3001H3000H;=1122H+2233H=3355H,CF=0 MOV SI,AX;2
8、001H2000H 3355H MOV AX,SI+2;AX 2003H2002H=8432H ADC AX,DI+2;AX AX+DI+3DI+2+CF;=8432H+3003H3002H+1;=8432H+7F00H+1=0332H,CF=1 MOV SI+2,AX;2003H2002H 0332H,济南大学控制学院,13,2014年3月10日,10、TABLE DB 30H,31H,32H,33H,34H,35H DB 36H,37H,38H,39H MOV BX,OFFSET TABLE MOV AL,5 XLAT;ALBX+AL执行后AL=?实现什么功能?答:XLAT指令的功能是将A
9、L中的内容转换为起始地址为BX,偏移地址在AL中的内存单元的内容。这样如果AL等于0,就转换为30H,AL等于5,就转换为35H,这正是0和5的ASCII码。所以该程序段的功能是实现十进制数到ASCII码的转换。,济南大学控制学院,14,2014年3月10日,三、教材例题,P64:带符号的数找大小P69:如何使用TEST 指令P71 由ASCII码转换为BCD码(要判断奇偶数)P72 由BCD码转换成ASCII码P82、83、84串指令运用,济南大学控制学院,15,2014年3月10日,P86,P29 习题P42 习题2.16,P3.1P3.5,济南大学控制学院,16,2014年3月10日,设:BX=1000H,BP=2000H,SI=3000H DI=4000H,DS=1000H,SS=2000H,3.13.23.33.4 3.5 4.5,济南大学控制学院,17,2014年3月10日,四、课后习题,3.63.73.83.93.103.113.123.13,济南大学控制学院,18,2014年3月10日,3.14 采样寄存器间接寻址方式时,BX,BP,SI,DI分别针对什么情况来使用?这四 个寄存器组合间接寻址时,地址是怎样计算的?请举例说明。,3.15,3.17,济南大学控制学院,19,2014年3月10日,作业:,把所有的习题浏览一遍!,
链接地址:https://www.31ppt.com/p-4875928.html