微机课后作业 10

上传人:wm****3 文档编号:42440512 上传时间:2018-06-02 格式:DOC 页数:7 大小:44.50KB
返回 下载 相关 举报
微机课后作业 10_第1页
第1页 / 共7页
微机课后作业 10_第2页
第2页 / 共7页
微机课后作业 10_第3页
第3页 / 共7页
微机课后作业 10_第4页
第4页 / 共7页
微机课后作业 10_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《微机课后作业 10》由会员分享,可在线阅读,更多相关《微机课后作业 10(7页珍藏版)》请在金锄头文库上搜索。

1、4.9 现有符号定义语句如下:现有符号定义语句如下:BUF DB 3, 23, 44, 2, 90BUF2 DW 23, 78LENG EQU BUF2-BUF则则 LENG 表示什么意思,值是多少?如果表示什么意思,值是多少?如果 BUF 用用 DW 定义,定义,LENG 值又是多少?值又是多少?答:答:字节的长度,10, 如果 BUF 用 DW 定义,LENG 值是 74.11 设设 BX=1103H,则执行下列指令后,则执行下列指令后 AX 和和 CX 各为多少?若各为多少?若BX=03H,则结果又如何?,则结果又如何?MOV AX, BX AND 0FFH MOV CX, BX EQ

2、1103H答答 1)BX=1103HMOV AX,BX AND 0FFH AX=0003HMOV CX,BX EQ 1103 CX=0FFFFH2)BX=03HMOV AX,BX AND 0FFH AX=0003HMOV CX,BX EQ 1103H CX=0000H4.12 编写编程段计算下面表达式的值(各变量均为字节变量):编写编程段计算下面表达式的值(各变量均为字节变量):Z=(XY)10+W)4答答 MOV AL,XSUB AL,YCBW MOV BL,10DIV BLADD AL,WMOV BL,4MUL AL,BLMOV Z,AX4.14 下面程序段是实现从键盘输入下面程序段是实现

3、从键盘输入 10 个一位十进数后累加。最后累个一位十进数后累加。最后累加和以非压缩加和以非压缩 BCD 码形式存放在码形式存放在 AH(高位)和(高位)和 AL(低位)中。(低位)中。试把程序段中所空缺的指令填上。试把程序段中所空缺的指令填上。XOR BX, BXMOV CX,10LOP: MOV AH, 01H; 键盘字符输入INT 21HAND AL,0FHMOV DL, ALMOV AX, BXAAAMOV BX, AXLOOP LOPHLT4.17 设设 A,B 是长度为是长度为 20 的字节数组,用串操作指令编写程序实现的字节数组,用串操作指令编写程序实现A,B 两组数据的相互交换,

4、试完善本程序。两组数据的相互交换,试完善本程序。DATA SEGMENTA DB“ABCDEFGHIJKLMNOPQR”ORG 14HB DB1,2,3,4,5,6,7,8,9,0AH,0BHDATA ENDSLEA SI,ALEA DI,BMOV CX,10LOP1:MOV AX,SIXCHC AX,DIMOV SI,AXADD DI,2ADD SI,2LOOP LOP1HLT4.18 将内存中某数据块的正数和负数分开,并分别将这些正数和负将内存中某数据块的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数送同一数据段的两个缓冲区中,并在屏幕上显

5、示正数和负数的个数。数。答 DATA SEGMENTBUF DB ;原数据串N = $BUFPLUS DB N DUP(?);存放正数NEGT DB N DUP(?) ;存放负数DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,BUFLEA DI,PLUSLEA BX,NEGTMOV CX,NLOP:MOV AL,SIINCSICMP AL,0JA POSMOV BX,ALINC BXJMP AGAINPOS:MOV DI,ALINC DIAGAIN:LOOP LOPSUB BX,OFFSET

6、 NEGTMOVDX,BXOR DL,0MOV AH,2INT 21HSUB DI,OFFSET PLUSMOV DX,DIOR DL,0MOV AH,2INT 21HMOV AH,4CHINT 21H4.20 有子程序定义如下:有子程序定义如下:SUB1 PROCTEST AL, 80HJE PLUSTEST BL, 80HJNE EXIT0JMP CHANGEPLUS: TEST BL, 80HJE EXIT0CHANGE:XCHG AL, BLEXIT: RETSUB1 ENDP(1)子程序是的功能是什么?子程序是的功能是什么?答答:当 AL0 且 BL0 时,执行 EXIT0当 AL0

7、 且 BL0 时,执行 CHANGE由以上组合归纳可得,当 AL,BL 中的数符号相同时它们各自保持不变,当 AL,BL 中的数异号时交换 AL,BL 中的数据。(2)如调用子程序前如调用子程序前 AL=88H,BL=97H,那么返回主程序时,那么返回主程序时,AL和和 BL 各等于多少?各等于多少?答答由子程序功能可知当 AL=88H,BL=97H 时,AL 最高位为1,BL 最高位为 1,均为负数,因此,它们将保持不变。即执行完成后 AL=88H,BL=97H4.21 DOS 中断调用起什么作用?中断调用起什么作用?DOS 中断调用和中断调用和 BIOS 中断调用使中断调用使用上有什么区别

8、?用上有什么区别?答:答:DOS 是 PC 机上最重要的操作系统,它和 BIOS 一样包括有近百个设备管理、目录管理和文件管理程序,是一个功能齐全、使用方便的中断例行程序的集合。使用 DOS 操作比使用相应功能的BIOS 操作更简易,而且对硬件的依赖性更少些。4.24 从从 FIRST 开始存放着开始存放着 100 个字符的字符串,结束符为个字符的字符串,结束符为“$” 。编。编写程序统计该字符串中字母写程序统计该字符串中字母“B”的个数。的个数。MOV AX,DATA;给数据段赋值MOV DS,AXLEA SI,STR1;字符串首地址MOV BL,0;存放统计个数的寄存器赋初值LOOP1:MOV CL,SI;取数据INC SICMP CL,$;看是否是结尾JE EXIT ;是,退出CMP CL,A ;不是结尾,比较是否是AJNE NEXT ;不是A比较下一个INC BL ;是,统计数加 1NEXT: JMP LOOP1EXIT: MOV NUMBER,BL;将统计数送往存储区MOV AH,4CHINT 21HCODE ENDSEND START

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

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