微机实验思考题.

上传人:我** 文档编号:115385902 上传时间:2019-11-13 格式:DOC 页数:18 大小:917.50KB
返回 下载 相关 举报
微机实验思考题._第1页
第1页 / 共18页
微机实验思考题._第2页
第2页 / 共18页
微机实验思考题._第3页
第3页 / 共18页
微机实验思考题._第4页
第4页 / 共18页
微机实验思考题._第5页
第5页 / 共18页
点击查看更多>>
资源描述

《微机实验思考题.》由会员分享,可在线阅读,更多相关《微机实验思考题.(18页珍藏版)》请在金锄头文库上搜索。

1、实验一 数据传送1、子程序Move中为什么比较SI、DI?源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。第一章 源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。2、编写一个程序,将DS段中的数据传送到实验仪B4区的61C256中。说明:B4区的61C256在I/O设备区,使用、读写。实验二 数制转换实验1. 实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么?最大65535(FFFF),最小为0.存储器只

2、能存16位,即FFFF。2. 将一个十六位二进制数转换为ASCII码十进制数时,如何确定Di的值?Di:表示十进制数09将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1D4,并将它们转换为ASCII码。该位除以10取商,加30H。即加30H为对应的 ASCII码。3. 在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次?取出存入四位十六进制数的下一位。腾出空间。4. 自编ASCII码转换十六进制、二进制转换BCD码的程序,并调试运行。ASCII码转换十六进制SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSCODESEGMEN

3、TASSUME CS:CODESTART:MOV CX,0004HMOV DI,3500HMOV DX,DIA1:MOV AX,DXAND AX,00FFHCMP AL,40HJB A2SUB AL,07HA2:SUB AL,30HMOV DI+0DH,ALDEC DIPUSH CXMOV CL,08HSHR DX,CLPOP CXLOOP A1MOV AX,4C00HINT 21HCODEENDS实验三 运算类编程实验1. 求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H;2. 多字节加法程序设计,参考原程序,编写个两个

4、64位数的减法程序,结果保存到具体内存单元,调试并记录。实验四 分支程序设计实验1、将源数据首址改为3100H,目的数据地址改为310A,再加以验证(注意单步调试);2、将源数据首址改为310AH,目的数据地址改为3100,再加以验证(注意单步调试)。实验六 排序程序设计实验1、注意两个循环是如何循环的,如果想减少判断次数,比如说几次交换后就不再有数据交换了,如何修改程序来减少程序执行时间;2、编一程序把3000H-3009H中内容按从大到小排列;如果是有符号数怎么改写程序。思考题2. 编一程序把3000H-3009H的内容从大到小排列SSTACKSEGMENT STACKDW 64 DUP(

5、?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV CX, 000AHMOV SI, 300AHMOV BL, 0FFHA1:CMP BL, 0FFHJNZ A4MOV BL, 00HDEC CXJZ A4PUSH SIPUSH CXA2:DEC SIMOV AL, SIDEC SICMP AL, SIJB A3XCHG AL, SIMOV SI+01H, ALMOV BL, 0FFHA3:INC SILOOP A2POP CXPOP SIJMP A1A4: MOV AX,4C00HINT 21H;程序终止CODEENDSEND START思考题3.若

6、是有符号数,该怎么处理(需要增加比较数字正负的环节)SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV CX, 000AHMOV SI, 300AHMOV BL, 0FFHA1:CMP BL, 0FFHJNZ A7MOV BL, 00HDEC CXJZ A7PUSH SIPUSH CXA2:DEC SIMOV AL, SIDEC SIMOV AH, 80HCMP AL, AHJB A3CMP SI , AHJB A5CMP AL, SIJB A6JMP A5A3: CMP SI , AH JB

7、A4 JMP A6A4: CMP AL,SI JB A5 JMP A6A5: XCHG AL,SI MOV SI+01H,AL MOV BL,0FFHA6: INC SI LOOP A2POP CXPOP SIJMP A1A7: MOV AX,4C00HINT 21H;程序终止CODEENDSEND STARTEND START硬件一 静态存储器扩展实验(接线只有一种)5. 改变实验程序,按非规则字写存储器,观察实验结果。规则字是低位地址为奇数,否者是非规则字,非规则字读取需要两个周期,而规则字只需要一个周期在计算机中,一个字占两个字节。一个字在存储器中按字节存储,若高地址为偶数,低地址为奇数

8、,则为规则字。相反,若高地址为奇数,低地址为偶数,则为非规则字。6. 改变实验程序,按字节方式写存储器,观察实验现象。字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节7. 将实验程序改为死循环程序,分别按规则字与非规则字的方式写存储器。5. 改变实验程序,按非规则字写存储器,观察实验结果。SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTSTARTPROC FAR ;远过程名ASSUME CS:CODE;分配代码段csMOV AX, 8000H;

9、 存储器扩展空间MOV DS, AX ;数据段ds地址AA0:MOV SI, 0001H; 首地址 8000:0001si是偏移地址,01非规则字MOV CX, 0010H ;cx计数寄存器10h十六进制=16十进制MOV AX, 0000H ;ax是累加器从0开始AA1:MOV SI, AXINC AX ;+1INC SI ;+1INC SI ;+1 一个字si要+2LOOP AA1 ;cx不等于0则循环MOV AX,4C00HINT 21H;程序终止STARTENDPCODEENDSEND START6. 改变实验程序,按字节方式写存储器,观察实验现象。SSTACKSEGMENT STAC

10、KDW 32 DUP(?)SSTACKENDSCODESEGMENTSTARTPROC FARASSUME CS:CODE MOV AX, 8000H; 存储器扩展空间段地址MOV DS, AXAA0:MOV SI, 0000H; 数据首地址cx计数16MOV CX, 0010HMOV AX, 0000HAA1:MOV SI, AXINC AXINC SI ;SI只加1一个字节LOOP AA1MOV AX,4C00HINT 21H;程序终止STARTENDPCODEENDSEND START7. 将实验程序改为死循环程序,分别按规则字与非规则字的方式写存储器。(1)规则字方式SSTACKSEG

11、MENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTSTARTPROC FARASSUME CS:CODE MOV AX, 8000H; 存储器扩展空间段地址MOV DS, AXAA0:MOV SI, 0000H; 数据首地址(偶地址开始)MOV CX, 0010HMOV AX, 0000HAA1:MOV SI, AXINC AXINC SIINC SI LOOP AA1MOV AX,4C00H JMPAA0;跳转到AA0开始执行INT 21H;程序终止STARTENDPCODEENDSEND START(2)非规则字方式SSTACKSEGMENT STACK

12、DW 32 DUP(?)SSTACKENDSCODESEGMENTSTARTPROC FARASSUME CS:CODE MOV AX, 8000H; 存储器扩展空间段地址MOV DS, AXAA0:MOV SI, 0001H; 数据首地址(奇地址开始)MOV CX, 0010HMOV AX, 0000HAA1:MOV SI, AXINC AXINC SIINC SI LOOP AA1MOV AX,4C00H JMPAA0;跳转到AA0开始执行INT 21H;程序终止STARTENDPCODEENDSEND START硬件二 8259中断控制实验1.在中断中完成BCD码转换为二进制数。 将四个

13、二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,每次中断完成一个二位十进制数的BCD码转换。 实验步骤:将四个二位十进制数的BCD码存入3500H3507H中,即:先键入E3500,然后输入01 02 03 04 05 06 07 08.运行程序,按一次单次脉冲开关KK1,查看3510内容,应为0ch。再按一次单次脉冲开关KK1,查看3511内容,应为22。继续发中断,依次查看3512,3513内容。在中断中完成BCD码转换为二进制数。.MODELTINYIO8259_0EQU0260H ;EUQ等值赋值语句0260H?端口地址 ?IO82

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号