微机原理习题课_第1页
微机原理习题课_第2页
微机原理习题课_第3页
微机原理习题课_第4页
微机原理习题课_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院微机原理与应用微机原理与应用第第4习题习题微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院4.1 汇编语言程序及其开发方法汇编语言程序及其开发方法(理解理解)4.2 汇编语言源程序的结构汇编语言源程序的结构(重点重点)4.3 汇编语言常用伪指令汇编语言常用伪指令(重点重点)4.4 常数、变量及标号常数、变量及标号(重点重点)4.5 表达式和运算符表达式和运算符(重点重点)4.7 基本结构程序设计基本结构程序设计(重点、难点重点、难点)4.8 数据的输入和输出(数据的输入和输出(DOS功能调用)功能调用) (理解理解)4

2、.9 高级汇编语言技术高级汇编语言技术(了解了解)微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院习题习题4-1、4-2、4-3、4-4、4-7、4-8 、4-9、4-11 4-1 已知已知如下如下8086/8088 CPU汇编汇编定义定义: VAR1 DB 4 VAR2 DB 10 CNST1 EQU 12 试指出下列指令的错误原因试指出下列指令的错误原因: (1)MOV CNST1 , CX (2)MOV VAR1 , AX (3)CMP VAR1 , VAR2 (4)CNST1 EQU 24 答答: (1) 目的操作数不能是立即数目的操作数不能是立即数; (2) VAR1单

3、元定义为字节类型单元定义为字节类型,而而AX为字为字; (3) 8086/8088中两个内存单元不能直接比较中两个内存单元不能直接比较; (4) 同一符号名不允许用同一符号名不允许用EQU重复定义重复定义. 微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院4-2 某人定义了如下某人定义了如下8086/8088 CPU汇编汇编数据段数据段: DATA SEGMENT AT 1000H ORG 100H VAL1 DB 11H VAL2 DW 22H , 33H VAL3 DB 5 DUP (44H) DATA ENDS 试指明该数据段中偏移地址从试指明该数据段中偏移地址从100H到

4、到109H的各存贮单元的内容的各存贮单元的内容。答:答:(100H)= 11H (101H)= 22H (102H)= 00H (103H)= 33H (104H)= 00H(105H)= 44H (106H)= 44H (107H)= 44H (108H)= 44H (109H)= 44H 微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院4-3 对于下面的对于下面的8086/8088 CPU汇编汇编数据数据定义,写出其后定义,写出其后的各条指令的执行结果。的各条指令的执行结果。DATA SEGMENT ORG 0100H AAAA DW 0A244H BBBB DB 33H,6

5、6H,92H,29H CCCC EQU WORD PTR BBBB DDDD DB ABCD EEEE EQU $-DDDD DATA ENDS (1) MOV AX , AAAA AL=( ) (2) MOV BX , CCCC BH=( ) (3) MOV DX , OFFSET DDDD DL=( ) (4) MOV CL , EEEE CL=( ) 44H 66H 06H 04H 微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院4-4 编写编写8086/8088 CPU汇编汇编程序程序,将内存从将内存从50000H到到5FFFFH的每个单元均写入数的每个单元均写入数55H

6、,并再逐个单元读出比较并再逐个单元读出比较,看写入的与读出的是否一致看写入的与读出的是否一致。若全对若全对,则将则将AL置置0;只要有只要有错错,则将则将AL置置0FFH。参考程序段如下:参考程序段如下: DATA SEGMENT AT 5000H ORG 0000HVARR DB 10000H DUP (55H)DATA ENDS STACK SEGMENT STACK STACK DB 100H DUP( ?)STACK ENDSCODE SEGMENT ASSUME CS:CODE , DS:DATA , SS:STACK START : MOV AX , DATA MOV DS , A

7、X ;初始化段地址初始化段地址微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院 MOV SI , OFFSET VARR;偏移地址送偏移地址送SI MOV CX , 0FFFFH ;设置循环次数设置循环次数LOOP1: CMP BYTE PTR SI , 55H ;比较比较 JNZ LOOPERR ;内存中数据不是内存中数据不是55H跳转跳转 INC SI ;偏移地址加偏移地址加1,指向下一个内存单元,指向下一个内存单元 LOOP LOOP1 ;CX-1不为不为0跳转,比较下一个跳转,比较下一个 INC SI;指向最后一个单元地址指向最后一个单元地址 CMP BYTE PTR S

8、I , 55H ;比较比较最后一个单最后一个单元元 JNZ LOOPERR ;内存中数据不是内存中数据不是55H跳转跳转 MOV AL , 0 ;全对全对 ,0送送AL JMP LOOPOUT LOOPERR: MOV AL , 0FFH;不正确,;不正确,0FFH送送AL LOOPOUT: MOV AH , 4CH INT 21H;返回返回DOSCODE ENDS END START微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院4-7 试写一试写一8086/8088 CPU汇编汇编子程序子程序,完成对一个完成对一个8位无符位无符号数乘号数乘6的操作的操作。要求要求:(:(1)

9、只能用传送只能用传送、加法及移位指令加法及移位指令;(;(2)入口参数入口参数(即即8位无符号数位无符号数)放于放于AL中中,出口参数出口参数(即即乘乘6后的结果后的结果)放于放于AX中。中。参考程序段如下:参考程序段如下: MULTI6 PROC NEAR PUSH BX MOV AH, 0 SHL AX, 1;乘乘2 MOV BX, AX SHL AX, 1;乘乘4 ADD AX, BX ;乘乘6 POP BX RET MULTI6 ENDP MULTI6 PROC NEAR PUSH BX PUSH CX MOV CL, 2 MOV AH, 0 MOV BX, AX SHL AX , 2

10、;乘乘4 ADD AX, BX ;乘乘5 ADD AX, BX ;乘乘6 POP CX POP BX RET MULTI6 ENDP 微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院4-8 给定如下给定如下8086/8088 CPU汇编程序片段汇编程序片段:START: MOV AX , 2000H MOV SS , AX MOV SP , 000FH MOV AX , 1000H PUSH AX MOV BX , 5439H PUSH BX CALL SUBRTSTOP0: HLT 问问:(1)程序执行到标号为程序执行到标号为SUBRT处的指令时处的指令时,SP =? (2)执

11、行完标号为执行完标号为VAAX的的MOV指令后指令后,AX =? (3)执行到执行到标号为标号为STOP0处的指令时处的指令时:SP =? AX = ?BX = ?CF= ?SF= ?OF= ? SUBRT PROC NEAR PUSH BP MOV BP , SP VA A X: MOV AX , BP+4 ADD AX , 456AH MOV BP+4 , AX POP BP RET 4微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院START: MOV AX , 2000H MOV SS , AX MOV SP , 000FH MOV AX , 1000H PUSH AX

12、MOV BX , 5439H PUSH BX CALL SUBRTSTOP0: HLT;初始化堆栈段,初始化堆栈段,SS=2000H;SP=000FH;AX=1000H; AX入栈,入栈,SP=000DH;BX=5439H; BX入栈,入栈,SP=000BH; 近调用,近调用,IP入栈,入栈,SP=0009H;SP=0009H,AX=99A3H, BX=5439H ,CF=0,SF=1, OF=1微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院CALL SUBRTSTOP0: HLTSUBRT: PROC NEAR PUSH BP MOV BP , SPVA A X: MOV A

13、X , BP+4 ADD AX , 456AH MOV BP+4 , AX POP BP RET 4近调用,近调用,IP入栈,入栈,SP=0009H;SP=0009H,AX=99A3H, BX=5439H ,CF=0,SF=1,OF=1; 执行到此指令,执行到此指令,SP=0009H; 执行后,执行后,BP入栈,入栈,SP=0007H;BP=SP=0007H; BP+4=000BH, AX=5439H;AX=99A3H,CF=0,SF=1,OF=1;000BH=99A3H; 执行后,执行后,SP=0009H; 执行后,执行后,IP出栈,出栈,SP+2+4=000FH微机原理与应用微机原理与应用

14、 第第4习题习题 物电学院物电学院4-9 从从符号地址为符号地址为MARK开始的内存缓冲区中开始的内存缓冲区中,存有存有100个个学生的某门课的考试成绩学生的某门课的考试成绩。试找出成绩不低于试找出成绩不低于80分以及成分以及成绩低于绩低于60分的学生个数分的学生个数,同时求出最高的成绩分同时求出最高的成绩分数数及最低及最低的成绩分数的成绩分数,并将它们分别存于符号地址为并将它们分别存于符号地址为PST,FST,MAXMK及及MINMK的四个单元中的四个单元中。要求写出完整的数据要求写出完整的数据段及代码段段及代码段。解题思路:(解题思路:(1)采用比较的方法,判断需要统计的四个结采用比较的方

15、法,判断需要统计的四个结果。(果。(2)DH中临时存放不低于中临时存放不低于80分的学生个数,初始值分的学生个数,初始值为为0;DL中临时存放低于中临时存放低于60分的学生个数,初始值为分的学生个数,初始值为0; BH中临时存放最高分的值,初始值为中临时存放最高分的值,初始值为0; BL中临时存放最中临时存放最低分的值,初始值为低分的值,初始值为100。微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院DH中临时存放不低于中临时存放不低于80分的学生个数,初始值分的学生个数,初始值为为0;DL中临时存放低于中临时存放低于60分的学生个数,初始分的学生个数,初始值为值为0; BH中临

16、时存放最高分的值,初始值为中临时存放最高分的值,初始值为0; BL中临时存放最低分的值,初始值为中临时存放最低分的值,初始值为100。微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院参考程序段如下:参考程序段如下: DATA SEGMENTMARK DB X1, X2, X3 X100 ;100个学生成绩个学生成绩PST DB(?) ;存放不低于存放不低于80分学生个数分学生个数FST DB(?) ;存放低于存放低于60分学生个数分学生个数MAXMK DB(?) ;存放最高分数存放最高分数MINMK DB(?) ;存放最低分数存放最低分数DATA ENDS STACK SEGME

17、NT STACK STACK DB 100H DUP( ?)STACK ENDSCODE SEGMENT ASSUME CS:CODE , DS:DATA , SS:STACK START : MOV AX , DATA MOV DS , AX MOV SI , OFFSET MARK MOV CX , 100微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院参考程序段如下:参考程序段如下: MOV DX, 0 ;DH不低于不低于80分人数,分人数,DL低于低于60分人数分人数 MOV BX,100 ;BH最高分,最高分,BL最低分最低分AGAIN:MOV AL,SI CMP AL

18、,80 JC LOWM ;低于低于80分跳转分跳转 INC DH ;不低于不低于80分,分,DH中的人数加中的人数加1 LOWM:CMP AL,60 JNC MAXM ;高于等于高于等于60分跳转分跳转 INC DL ;低于低于60分,分,DL中的人数加中的人数加1 MAXM:CMP AL,BH JC MINM ;小于小于BH中的最大值,跳转中的最大值,跳转 MOV BH,AL ;AL中的值大,更新中的值大,更新BH中的最大值中的最大值MINM: CMP AL,BL JC NEXT ;大于大于BL中的最小值,跳转中的最小值,跳转 MOV BL,AL ; AL中的值小,更新中的值小,更新BL中的

19、最小值中的最小值微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院参考程序段如下:参考程序段如下: NEXT: INC SI ;地址单元加地址单元加1,指向下一个分数的偏移地址,指向下一个分数的偏移地址 LOOP AGAIN ;CX不等于不等于1,循环,比较下一个分数,循环,比较下一个分数 MOV PST,DH ;存不低于存不低于80分人数的统计结果分人数的统计结果 MOV FST,DL ;存低于存低于60分人数的统计结果分人数的统计结果 MOV MAXMK,BH ;存最高分数存最高分数 MOV MINMK,BL ;存最低分数存最低分数 MOV AX,4C00H INT 21H ;返回返回DOSCODE ENDS END START微机原理与应用微机原理与应用 第第4习题习题 物电学院物电学院4-11.试编程序完成两个一位十进制数的加法功能试编程序完成两个一位十进制数的加法功能.具体步骤与具体步骤与要求如下要求如下:(1) 利用利用DOS 1号功能调用号功能调用,顺序从键盘输入被加数顺序从键盘输入被加数,+运算符及加数运算符及加数;(2) 完成相加功能完成相加功能;(3) 将相加的结果用将相加的结果用DOS 9号功能调用在屏幕上显示出来号功能调用在屏幕上显示出来.例如例如:输入输入8+6后后,屏幕上应显屏幕上应显示相加结果示相加结果14.

温馨提示

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

评论

0/150

提交评论