四川大学电子信息学院微机原理与接口技术何小海严华版习题解答-第4章PPT课件.ppt_第1页
四川大学电子信息学院微机原理与接口技术何小海严华版习题解答-第4章PPT课件.ppt_第2页
四川大学电子信息学院微机原理与接口技术何小海严华版习题解答-第4章PPT课件.ppt_第3页
四川大学电子信息学院微机原理与接口技术何小海严华版习题解答-第4章PPT课件.ppt_第4页
四川大学电子信息学院微机原理与接口技术何小海严华版习题解答-第4章PPT课件.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与接口技术,第4章 习题解答,第1题,假设程序中的数据定义如下: PARTNO DW ? PNAME DB 16 DUP (?) COUNT DD ? PLENTH EQU $-PARTNO 则PLENTH= , 它的意义是 。 答案 PLENTH=22 意义:PARTNO、PNAME、COUNT三个变量所占的空间大小或字节数,No.01,第2题,假设有下面的数据定义: BUFFER DB ? STRING DW 20 DUP (?) TABLE DB ABCD 则下列指令单独执行后,有关寄存器的内容是多少? 答案 MOV AX, TYPE BUFFER AX= 1 MOV AX, T

2、YPE STRING AX= 2 MOV AX, LENGTH STRING AX= 20 MOV AX, LENGTH TABLE AX= 1 MOV AX, SIZE STRING AX= 40,No.02,第3题,计算下列程序分别执行后AX寄存器的内容。,No.03,(1)MOVAX,0 MOVBX,2345H TESTBX,1000H JZNEXT INCAX NEXT:HLT,AX = 0,第3题,(2)MOV AX,0 XOR BX,BX AGAIN:INC BX ADD AX,BX CMP BX,10 JB AGAIN HLT,AX = ( 0+1) + 2 ) + 3 ) .

3、+ 10 ) = 55,No.03,第3题,(3)TABLE DB 10,20,30,40,50 INDEX DW 2 LEA BX,TABLE ADD BX, INDEX MOV AX, BX HLT,AX = 281EH,No.03,第3题,(4)MOV AX,0 MOV BX,0ABCDH MOV CX,16 AGAIN: SHL BX,1 JNC NEXT INC AX NEXT: LOOP AGAIN HLT,AX = 10,No.03,第3题,(5)MOV AL,0FFH CBW INC AX INC AX XCHG AH,AL SHR AH,1 RCR AL,1 HLT,AX =

4、 0080H,No.03,第4题,若在自1000H单元开始有一个1000个字节的数据块,要把它传送到自1200H开始的存储区中去,用以下三中方法,分别编制程序: (1)不用串操作指令。 (2)用单个传送的串操作数据传送指令。 (3)用带重复前缀的串操作数据传送指令。,No.04,第4题,No.04,Y,循环结束?,修改地址指针,SI源数据块末地址 DI目的数据块末地址 CX循环次数,修改CX,ALDS:SI,ES:DIAL,结束,N,again,第4题,DATASEGMENT ORG 1000H N1DB 1000 dup(?) N2EQU 1200H+10001 CONEQU1000 DAT

5、AENDS STACK SEGMENT STACKSTACK DW100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA, ES:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX,No.04,第4题,MOV ES,AX LEA SI, N1+10001 MOV DI, N2 MOV CX,CON L1:MOV AL,SI MOV DI,AL DEC SI DEC DI LOOP L1 MOV AH,4CH INT 21H CODE ENDS ENDSTART,No.04,STD MOVSB LOOP

6、L1,STD REP MOVSB,第5题,自100H单元开始,有100个无符号数(字节),编写程序计算这100个数的和,并把和存放在1971H和1972H单元,且高位存放在1972H单元。,No.05,第5题,No.05,定义数据段,初始化DS,获取数据地址SI,0AX,100CX,AXSIAX,SI+1SI,AXSUM,循环结束,N,Y,结束,第5题,STACK SEGMENT STACK STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT ORG 100H NUM DB 100 DUP(?) ORG 1971H SUM DW ? DATA ENDS COD

7、E SEGMENT ASSUME CS:SEGMENT,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX,No.05,第5题,LEA SI,NUM MOV CX,100 XOR AX,AX L1:ADD AL,SI ADC AH,00H INC SI LOOP L1 MOV SUM,AX MOV AH,4CH INT 21H CODE ENDS END START,No.05,第6题,编写程序,计算下列函数值。 X+5 当X300,No.06,第6题,No.06,第6题,No.06,DATASEGMENT XDW -5 YDW ? DATAENDS S

8、TACK SEGMENT STACK STACK DW 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX, DATA MOV DS, AX MOV AX,X CMP AX, 0 JS L1 ;X300 转L2,第6题,No.06,SHL AX,1 SHL AX,1 ;X4 JMP STOP L2:SHL AX,1 SHL AX,1 SBB AX,10 ;4X10 JMP STOP L1: ADD AX, 5 ;X5 STOP : MOV Y,AX MOV AH, 4CH INT

9、21H CODEENDS END START,第7题,已知A、B、C三个变量,编程完成如下处理:(1)若三个数均为0,则设置变量D为1;(2)若三个数均不为零,则求这三个数的算术和,并存放在变量E中。,No.07,第7题,No.07,A=0?,取AAX,BBX,CCX,B=0?,C=0?,B != 0?,C != 0?,Y,Y,Y,N,N,Y,1D,结束,A+B+CE,开始,one,N,N,done,N,Y,第7题,No.07,DATA SEGMENT A DW ? B DW ? C DW ? D DW ? E DW ? DATA ENDS CODE SEGMENT ASSUME CS:COD

10、E,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,A MOV BX,B MOV CX,C,第7题,No.07,CMP AX, 0 JNZ one CMP BX, 0 JNZ done CMP CX, 0 JNZ done MOV D, 1 JMP done one:CMP BX, 0 JZ done CMP CX, 0 JZ done ADD AX, BX ADD AX, CX MOV E, AX,第7题,No.07,done:MOV AH, 4CH INT 21H CODE ENDS END START,第9题,在0200H单元和020AH单元开始,

11、分别存放两个各为10个字节的未组合BCD数(地址最低出存放最低字节)。 编写程序计算两个未组合BCD数的和,且把和存放在0214H单元开始的存储单元中。,No.09,第9题,No.09,初始化数据指针SI,DI,BX 初始化循环次数CX,开始,CF清0,取SIAL,AL+DI+CFAL,调整AAA,ALBX,修正指针SI,DI,BX,循环结束?,结束,N,Y,CF=1?,保存进位,N,again,done,第9题,No.09,DATA SEGMENT ORG 200H SRCDB 0,1,2,3,4,5,6,7,8,9 DSTDB 5,6,7,8,9,4,3,2,1,5 SUMDB 11 DU

12、P(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEASI, SRC LEADI, DST LEABX, SUM MOV CX, 10 XORAX, AX,第9题,No.09,again:MOV AL,SI ADC AL, DI AAA MOV BX, AL INC SI INC DI INC BX LOOP again JNC done MOV BYTE PTR BX,1 done:MOV AH,4CH INT 21H CODE ENDS END START,第10题,若自STRI

13、NG单元开始有1000个数(字节),试针对下面情况编程将它们中的最小值、最大值找出来,并分别存放在5000H和5001H字节单元中。 (1)这1000个数为无符号数。 (2)这1000个数为带符号数。,No.10,第10题,No.10,DATA SEGMENT STRING DB 1000 DUP (?) ORG 5000H MIN DB ? MAX DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOVCX, 1000 LEASI, STRING MOVAH, SI;AH保存临时最

14、大值 MOV AL, AH;AL保存临时最小值 DECCX,第10题,No.10,INCSI again:CMP AH, SI JAEnext1 MOVAH, SI next1:CMPAL, SI JBEnext2 MOV AL, SI next2:INCSI LOOP again MOVMIN, AL MOV MAX, AH MOV AH,4CH INT 21H CODE ENDS END START,JLE,JGE,第11题,No.11,已知数组A包含10个互不相等的整数,数组B包含15个互不相等的整数,写一程序,将既在A中出现又在B中出现的偶数存放在数组C中。,第11题,No.11,初始

15、化数据指针SI, BX 初始化循环次数CX,取ALSI,lop1,AL为偶数?,N,初始化循环次数DX 初始化数据指针DI,AL= DI?,修改指针DI和循环次数DX,DX=0?,保存结果 修正指针BX,修改SI,CX,循环结束?,结束,N,N,Y,Y,Y,Y,N,next2,lop2,next1,第11题,No.11,DATA SEGMENT A DB 10 DUP(?) B DB 15 DUP(?) C DB 10 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOVCX,

16、 10 LEASI, A LEABX,C lop1:MOV AL, SI TESTAL,01H JNZnext2,第11题,No.11,MOVDX, 15 LEADI, B lop2:CMPAL, DI JZnext1 INCDI DECDX JNZlop2 JMPnext2 next1:MOVBX, AL INCBX next2:INCSI LOOPlop1 MOVAH, 4CH INT21H CODE ENDS END START,第13题,统计STRING字符串中数字字符(09)的个数,并将数字字符放入BUFFER区内(开始单元存放字符个数)。,No.13,第13题,No.13,初始化数

17、据指针SI, DI 初始化循环次数CX,个数BL,取ALSI,again,AL 0?,N,保存数字字符并修正DI BLBL+1,循环结束?,N,Y,Y,Y,N,AL 9?,修正SI、CX,结束,next,保存结果,第13题,No.13,DATA SEGMENT STRING DB 100 DUP(?) BUFFER DB 101 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOVCX, 100 LEASI, STRING LEADI, BUFFER INCDI MOVBL,

18、0 again:MOVAL, SI,第13题,No.13,CMPAL, 0 JBnext CMPAL, 9 JAnext INCBL MOVDI, AL INCDI next:INCSI LOOPagain MOVBUFFER, BL MOVAH, 4CH INT21H CODE ENDS END START,第19题,若自STRING开始有一个字符串(以$ 作为字符串的结束标志)。 请编程查找此字符串中有多少个,并将个数存放在NUMBER字单元中,且把每一个字符所存放的偏移地址放到自POINTER开始的连续存储字单元中。,No.19,第19题,No.19,初始化数据指针SI, DI 初始化个数NUMBER,取ALSI,again,AL =$?,N,保存偏移地址并修正DI NUMBERNUMBER+1,N,Y,Y,AL =#?,修正SI,结束,next,done,第19题,No.19,DATA SEGMENT STRING DB FAER#DFFD#MDF2, $ POINTER DW 100 DUP(?) NUMBER DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEASI, STRING LEADI, POINTER MOVNUMBER, 0 again:MOV

温馨提示

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

评论

0/150

提交评论