北京科技大学微机原理第三四章作业答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理第三、四章作业
1. 设当前(SS)=0C000H, (SP)=2000H, (AX)=2355X, (BX)=2122H, (CX)=8788H,则当前栈顶的物理地址是 0E000H ?若连续执行PUSH AX, PUSH BX, POP CX这3条指令后,堆栈内容发生变化? (SP)-2,AX存入堆栈;再是(SP)-2,BX存入堆栈;最后取栈顶的2122H存到CX中(SP)+2 。AX, BX, CX中的内容是什么?(AX)=2355H;(BX)=2122H;(CX)=8788H;
2. 假设(SS)=20A0H, (SP)=0032H, 将(CS)=0A5BH, (IP)=0012H, (AX)=0FF42H, (SI)=537AH, (BL)=5CH 依次压入堆栈保存。要求:(1) 画出堆栈数据存放示意图;(2) 写出入栈完毕后SS和SP的值。
堆栈数据存放示意图:
其中(BL)=5CH入栈时错误,可改为( BX)=005CH入栈,(SS)=20A0H;(SP)=0028H
3. 指出下列指令的错误原因。
(1) MOV AL, SI;源操作数和目的操作数长度不一致
(2) MOV [1001H], [1000H];存储器不可传送给存储器
(3) MOV DS, 2000H ;立即数不可传送给段寄存器
(4) MOV CS, AX;CS不能作为目的操作数
(5) PUSH 5000H;入栈的源操作数不能使立即数
(6) POP DL;出栈的应该是字操作数
(7) IN AX, 1234H;1234H必须放在DX中才行
(8) XCHG BX, 0F000H;XCHG的源操作数不能是立即数,可以是寄存器操作数和存储器操作数
4. 用一条指令将BX清零,请写出三种方法。
(1)MOV BX,00H; (2)SUB BX,BX; (3)AND BX,00H; (4)XOR BX,BX
5. 分析下列指令序列完成什么功能。
MOV CL, 4;将4附给CL
SHL DX, CL;将DX数据算数左移4位
MOV BL, AH;将AH的值附给BL
SHL AX, CL;将AX的值算术左移4位
SHR BL, CL;将BL的值算术右移4位
OR DL, BL;将DL和BL的值进行“或”运算
6. 10个8位带符号数保存在数据段首地址为NUMBERS区域里,设计一段完整的汇编语言源程序,求这10个带符号数中的最小值,并将其存入变量MIN中。要求画出程序框图,10个带符号数可自行定义。