第二章p46
51011 0100b
1100 0111b
1 0111 1011b 相加结果为:0111 1011b
cf=1 zf=0 sf=0 of=1 af=0 pf=1
作为带符号数,有意义的标志位:zf、sf、of、pf
作为无符号数,有意义的标志位:zf、sf、cf、pf
注:作为带符号数,关注结果是否溢出,看of;作为无符号数,关注结果是否进位,看cf。
7、物理地址(20位)=10h*段地址+偏移地址。
1)15500h2)ff458h3)3a700h
8、在每个逻辑存储段,最大容量为216=64kb,偏移地址空间:0000h~ffffh;在段内,每个存储单位的段地址是相同的。
1)1200h
起始地址:12000h 结束地址:21fffh
2)3f05h
起始地址:3f050h 结束地址:4f04fh
3)0ffeh
起始地址:0ffe0h 结束地址:1ffdfh
11、ss:sp=2000:0300h,栈顶以上的空间为空白区。
堆栈段的起始地址为ss:0000h,结束地址为ss:sp-1
堆栈段的物理地址范围为:20000~202ffh
当执行两条push指令后,sp=sp-4,ss:sp=2000:02fch
再执行一条push指令后,sp=sp-2,ss:sp=2000:02fah
第三章p109
3、源操作数的寻址方式及物理地址:
1)直接寻址 pa=ds*10h+ea=10100h
2)直接寻址 pa=ds*10h+val=10030h
3)寄存器间接寻址 pa= ds*10h+bx=10100h
4)寄存器间接寻址 pa= es*10h+bx=20100h
5)寄存器间接寻址 pa= ds*10h+si=100a0h
6)相对寄存器寻址 pa= ds*10h+bx+10h=10110h
7)寄存器间接寻址 pa= ss*10h+bp=35200h
8)相对基址加变址寻址 pa= ss*10h+bp+si+val=352d0h
9)相对基址加变址寻址 pa= ds*10h+bx+di+val=10154h
8)基址加变址寻址 pa= ss*10h+bp+di=35224h
5、每条指令执行后的结果:
al=[a]=‘24h dx=[c]=1234h dl=24h,al=34h
bx=0002hcx=’up’=5550h bx=000eh
si=459ah,ds=1200h di=459ah,es=1200h
1)两个操作数的宽度不一致2)立即数不能作为目的操作数;
3)立即数不能直接传送给段寄存器; (4)两个操作数不能同时为存储单位;
5)指令不能对ip进行操作6)指令不能对ip进行操作;
7)源操作数的寻址方式不对,只能基址加变址寻址,不能基址加基址寻址;
9)源操作数的寻址方式不对,只能基址加变址寻址,不能变址加变址寻址;
10)offset操作符只能对存储单位取偏移地址,不能对立即数进行操作;
11)由于偏移地址为16位,目的操作数宽度不够;
12)xchg指令不能对立即数操作;
13)in指令从端口输入数据只能存入累加器al/ax;
14)端口地址为16位地址,只能通过dx间接寻址。
push前sp=0100h,push ax后sp=sp-2=00feh
push bx后sp=sp-2=00fch
pop bx后sp=sp+2=00feh
pop ax后sp=sp+2=0010h
1)ah=04h (2)bl=36h (3)ax=0daf7h
4)cx=0fff4h (5)dh=18h (6)cx=0004h
7)dx=0186h (8)al=04h (9)bh=0f0h
10)ax=4a10h
11)当cf=0时bx=1e6ch,当cf=1时bx=1e6dh;
12)dx=4186h
关于指令执行对cf的影响,请查阅附录a。
1)loop next 循环体执行4次。
ax=05h bx=2+2+3+4+5=10h cx=0 dx=00h
2)loope next 循环体执行1次。
ax=02h bx=2+2=04h cx=3 dx=01h
3)loopne next 循环体执行2次。
ax=03h bx=2+2+3=07h cx=2 dx=00h
第四章p153
code segment
assume cs:code
start: mov al,00
mov cx,0100h
lp: mov dl,al
mov ah,2
int 21h
loop lp
mov ah,4ch
int 21h
code ends
end start
data segnent
table db 40h,79h,24h,30h,19h,12h,02h,78h,00h,18h ;共阳极数码段段码表。
buf db ‘please input a number(0~9)’,0dh,0ah,’$
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,offset buf;显示字符串。
mov ah,9
int 21h
mov ah,1;等待键盘输入。
int 21h
and al,0fh;ascii码转换数值。
mov bx,offset table;查表转换段码。
xlatmov dl,al
mov ah,4ch
int 21h
code ends
end start
code segment
assume cs:code
start: cmp bl,60
jb lp1
cmp bl,85
jae lp2
mov dl,’p’
jmp dislay
lp1:mov dl,’f’
jmp dislay
lp2: mov dl,’g’
display:mov ah,2
int 21h
mov ah,4ch
int 21h
code ends
end start
第五章p194
15、需要8块ram芯片,必须将地址线a0~a10直接连到每个存储器芯片上,并用地址线a11~a19作为地址译码器的输入,需要译码器产生4个片选信号。
第六章p230
2、i/o端口:在i/o接口电路中的存放数据的寄存器,对输入数据缓冲,对输出数据锁存。
在一般的接口电路中可以设置端口:控制端口、状态端口、数据端口。
对i/o端口编址的方法有:存储器映射端口编址、独立端口编址,在8086/8088cpu中采用独立端口编址方法。
3、三种传送方式:
cpu控制的传送(包括无条件传送和查询式传送)、中断控制的传送、dma传送。
mov al,10001010b
out 86h,al
mov al,10010000b
out 83h,al
lp: in al,80h
out 81h,al
call delay_20s
jmp lp
第八章。p257 例题.1)中断优先级次序。
单片机部分习题可以思考做下:
第一章p第二章p
第三章p89 10
微机原理习题答案
微型计算机原理及应用习题集。专业班级学号姓名。目录。第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 写出下列原码机器数的真值 若分...