微机原理随堂习题答案

发布 2022-09-04 23:00:28 阅读 8901

一、填空题(每空1分,共23分)

1. [x]补=0076h,[y]补=0ff8ah,则[x+y]补= 0000 h,[x-y]补= 00ec h

2.计算(11010.1)2+(100100.1001)bcd+(16.8)16=( 73.9 )10

3.(ds)=0f800h,(di)=180ah,(cx)=0105h,(0f980a)=0064h则指令执行sar [di],cl后,(0f980a)=_0003___h,cf=__0__

4. org 1000h(开始让首地址偏移到1000h)

x db 12h

y dw x

z dd y

ds)=3800h, (bx)=1000h, (si)=0002h

求下列指令执行完后指定寄存器的内容。

mov ax, [1000h] ;ax)= 0012 h

mov ax, [bx]; ax)= 0012 h

mov ax, [bx+si]; ax)= 0110 h

mov ax, [y+1]; ax)= 0110 h

lea dx, x; (dx)= 1000 h

lds si,y; (si)= 1000 h (ds)= 1001 h

5. (bx)=1000h,(ds)=2000h,(21000h)=3000h,(23000h)=4000h,则 xchg bx,[bx] 执行完后。

bx)= 3000 h ((bx))=4000 h(一个字的内容)

21000h)= 1000 h(一个字的内容)

6. (sp)=1000h,(ss)=3000h,(31000h)=2000h,(ds)=4000h,(bx)=1200h,则 pop [bx] 指令执行完后(sp)

1002 h (bx)= 1200 h (41200h)= 2000 h(一个字的内容)

7. 用指令sub对两个无符号8位二进制数进行减法运算后,结果为0fdh,且标志位cf=1,of=1,此结果的十进制数应为 4093

8. (ax)=8002h,(bx)=0001h,则,指令mul bx执行后,ax)= 8002 h;指令imul bx执行后,(ax)= 8002(0fffe) h

9. (ax)=4f08h,(cf)=0,(cl)=4,则 rcr ax,cl指令执行完(ax)= 04f0 h,(cf)= 1

二、判断题(若正确则在括号里打“√”否则打“×”24分)

1.两数相加,结果有偶数个“1”,则pf=1

2.在加减运算中,of=1就表示结果有错。

[1234h],1234h

[si]指令合法。

ax,es 指令不合法。

bl,axal,3f0h

12h,al

cscs,ax

[bx],[di

cs三、分析下面的程序段回答指定的问题(30分)

1.若已知(sp)=2000h,(ax)=1234h,(bx)=5678h

执行指令 push ax

push bx

pop ax

pop bx

执行后,(sp)= 2000h ,(ax)= 5678h ,(bx)= 1234h 。

2. begin:in al,20h

test al,80h

jz lmov ah,0ffh

jmp stop

l:mov ah,0

stop:hlt

问: al的最高位为0情况下,本段程序的执行结果(ah)=0。

3.code segment

assume cs:code

start:mov bl,1

again:mov al,bl

inc bl

mul bl

cmp al,100

jna again

mov ah,4ch

int 21h

code ends

end start

问:执行完程序后(ax)= 4c6eh 。

4.计算以下两个二进制数的加法,并写出运算后的6个状态标志位的值。

5.设堆栈指针sp的初始值为3000h,(ax) =1224h,bx) =5215h,试问:

1) 执行指令push ax后,(sp) =2ffeh;

2) 再执行push bx及pop ax指令后,(sp) =2ffeh、(ax) =5215h、(bx) =5215h。

四.改错题(标出题中错误的地方,并填写出正确内容。共13分)

1. 使buf单元的内容高二位都为“0”,低六位不动。(5分)

mov si,offset buf

mov al,[si]

add al,0c0h

mov [si],al

mov ah,4ch

int 21h

改正:( and al,3fh

2.在buf开始的101个单元中,关键字存放在buf单元,查找关键字。并送存buf+1单元中。(5分)

mov si,offset buf

mov al,[si]

mov bl,64h

inc si

n1: cmp al,[si]

jnc n2

inc si

loop n1

n2: mov al,[si]

mov si,offset buf

inc si

mov [si],al

ret改正:( mov cl,64h

je n2五、程序题(10分)

1.试编写程序段,使0500h开始的256个单元清零。

微机原理习题答案

微型计算机原理及应用习题集。专业班级学号姓名。目录。第1章概述 3 第2章微处理器及其结构 5 第3章8086 8088cpu指令系统 10 第4章汇编语言程序设计 18 第5章存储器系统 30 第6章输入输出与中断技术 34 第7章微型计算机的接 术 42 第1章概述。一 填空题。1 运算器和控制...

微机原理习题答案

1.什么叫做微处理器的并行操作方式?为什么说8086cpu具有并行操作的功能?在什么情况下8086的执行单元eu才需要等待总线接口单元biu提取指令?2.如果带符号数ffh和01h相加,会产生溢出吗?3.某个数包含有5个1,它具有什么奇偶性?4.某个数为全0,它的零标志为0吗?5.用什么指令设置哪个...

微机原理习题答案

微型计算机原理及应用。习题集。一 填空题。1 运算器和控制器集成在一块芯片上,被称作cpu。2 总线按其功能可分数据总线 地址总线和控制总线三种不同类型的总线。3 迄今为止电子计算机所共同遵循的工作原理是程序存储和程序控制的工作原理。这种原理又称为冯 诺依曼型原理。4 写出下列原码机器数的真值 若分...