首页 微机原理作业

微机原理作业

举报
开通vip

微机原理作业第一次作业: 1.请写出-37的原码、反码和补码。请写出计算过程。 2. 8086 CPU 由哪两大部分组成?请分别叙述它们的功能。 3.若DS=6000H,SS=5000H,ES=4000H,SI=0100H,BX=0300H,BP=0400H,D=1200H,数据段中变量名NUM的偏移地址为0050H,试指出下列源操作数的寻址方式和物理地址是多少? (1)MOV AX,[64H]    (2)MOV AX,[BP] (3)MOV AL,[DI] ...

微机原理作业
第一次作业: 1.请写出-37的原码、反码和补码。请写出计算过程。 2. 8086 CPU 由哪两大部分组成?请分别叙述它们的功能。 3.若DS=6000H,SS=5000H,ES=4000H,SI=0100H,BX=0300H,BP=0400H,D=1200H,数据段中变量名NUM的偏移地址为0050H,试指出下列源操作数的寻址方式和物理地址是多少? (1)MOV AX,[64H]    (2)MOV AX,[BP] (3)MOV AL,[DI] (4)MOV AL,[BX+1110H] (5)MOV AX,NUM[BX][DI] 1.答:[-37] 原码 = 10100101 B [-37] 反码 = 11011010 B [-37] 补码 = 11011011 B 2.答:由指令部件EU和总线接口部件BIU组成。 EU功能:EU只负责执行指令。其中的算术逻辑单元(ALU)完成16位或8位的二进制运算,运算结果可通过内部总线送到通用寄存器组或BIU的内部寄存器中等待写入存储器。16位暂存器用来暂存参加运算的操作数。经ALU运算后的结果特征送入标志寄存器FR中保存;EU中的控制器负责从BIU的指令队列中取指令,并对指令进行译码,根据指令要求向EU内部各部件发出控制命令以完成各条指令的功能。 BIU功能:总线接口单元BIU负责与存储器或I/O端口打交道,正常情况下,BIU通过地址加法器形成指令所在存储器中的物理地址后,启动存储器,从给定地址的存储器中取出指令代码送指令队列中等待执行,一旦指令队列中空出2个字节,BIU将自动进人读指令操作以填满指令队列。只要收到EU送来的操作数地址,BIU将立即形成操作数的物理地址,完成读/写操作数或运算结果的功能。 3.答:(1)MOV AX,[64H]  答:寻址方式为直接寻址;PA=60064H  (2)MOV AX,[BP] 答:寻址方式为寄存器间接寻址;PA=50400H (3)MOV AL,[DI] 答:寻址方式为寄存器间接寻址;PA=61200H (4)MOV AL,[BX+1110H] 答:寻址方式为寄存器相对寻址;PA=61410H (5)MOV AX,NUM[BX][DI] 答:寻址方式为相对基址变址寻址;PA=61505H 第二次作业: 1.指出以下指令中,哪些指令是非法的,并说明为什么(8086系统)。 (1) PUSH 1234H (2) MOV CS,AX (3) IN AX, 300 (4) MOV AX,[DX+12] (5) MOV BX,[BX] (6) MOV DS,1000H (7) XCHG AL,AL (8) MOV AL,100H (9) MOV DX,AL (10)LEA BL,[BX+5] 2.假设AX=1234H,BX=5678H,SP=1000H,指出执行下面的程序段后,各相关寄存器及堆栈段中的内容。 PUSH AX ;AX=?,BX=?,SP=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? PUSH BX ;AX=?,BX=?,SP=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? POP AX ;AX=?,BX=?,SP=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? 1.解:(1)非法,8086系统不允许PUSH指令的操作数为立即数; (2)非法,MOV指令中CS不能作为目的操作数; (3)非法,端口号大于0FFH; (4)非法,DX不能出现在中括号[]内; (5)合法; (6)非法,不能把立即数赋给段寄存器; (7)合法; (8)非法,源操作数大于0FFH,不能赋给8位寄存器AL; (9)非法,源操作数是8位寄存器,目的操作数却是16位寄存器,不匹配; (10)非法,LEA指令得到的是16位偏移量,但目的操作数是8位寄存器; 2.解:AX=1234H,BX=5678H,SP=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H AX=1234H,BX=5678H,SP=0FFCH,栈顶字节[SP]=78H,栈顶第二字节[SP+1]=56H AX=5678H,BX=5678H,SP=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H 第三次作业: 1. 编写一段程序,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串不同于NEWS字符串,则执行NEW_LESS,否则顺序执行。 2.在8086系统下,编写实现如下功能的程序段: (1)从地址为80H的端口中读入一个字节; (2)如果该字节最高位为“1”,则将字节0FFH送到地址为81H的端口中,并退出程序; (3)如果该字节最高位为“0”,则转向第(1)步,继续循环扫描。 1.答:设字符串OLDS位于数据段,字符串NEWS位于扩展段,程序段如下: LEA SI,OLDS ;取源串首址送SI LEA DI,NEWS ;取目的串首址送DI CLD ;增址比较 MOV CX,5 ;串长度为5 REPE CMPSB ;相等重复串比较 JNE NEW_LESS ;不相等转移 HLT ;暂停 2.解: 参考程序段: AGAIN: IN AL, 80H TEST AL, 80H JZ AGAIN MOV AL, 0FFH OUT 81H, AL 第四次作业: 1.试叙述汇编语言源程序的上机过程。 答:分四步进行 ① 编辑、②汇编、③ 连接 ④ 调试。 编辑:用编辑程序(例如EDIT.COM)建立扩展名为.ASM的汇编语言源程序文件。 汇编:用汇编程序(例如MASM.EXE)将汇编语言源程序文件汇编成目标程序文件,其扩展名为.OBJ。如果在汇编过程中出现语法错误,根据错误信息提示(如错误位置、错误类型、错误说明),用编辑软件重新调入源程序文件进行修改,直至没有出现语法错误,再进行连接程序。 连接:用连接程序(例如LINK.EXE)把目标程序文件转化成可执行文件,其扩展名为.EXE。 调试:用调试程(例如 DEBUG.EXE)序对可执行文件进行调试,直到无错误为止。 此时的可执行文件在DOS命令下直接执行。 2.试编程实现将键盘输入的小写字母用大写字母显示出来。 (或改成:试编写程序,在当前屏幕显示“hello,tongling college!”,且光标换行。) 答:程序设计如下: CLRF MACRO ;宏汇编命令,定义宏 MOV DL,0DH MOV AH,02H INT 21H ;回车,使光标回到起始位置 MOV DL,0AH MOV AH,02H INT 21H ;光标换行 ENDM ;宏定义结束 DATA SEGMENT STRING DB 50,?,50 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,STRING MOV AH,0AH INT 21H CLRF ;宏指令 MOV BL,STRING+1 MOV BH,0 LEA SI,STRING+2 ADD BX,SI MOV BYTE PTR[BX],‘$’ NEXT:MOV DL,[SI] CMP DL,‘a’ JB NEXT1 CMP DL,‘z’ JA NEXT1 SUB DL,20H MOV [SI],DL NEXT1:INC SI DEC BL JNZ NEXT LEA DX,STRING+2 MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END START
本文档为【微机原理作业】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_776866
暂无简介~
格式:doc
大小:35KB
软件:Word
页数:4
分类:工学
上传时间:2011-12-19
浏览量:54