微机原理作业答案

发布 2022-09-04 20:27:28 阅读 4659

第一次作业。

2.完成下列补码运算,并根据结果设置标志sf、zf、cf和of,指出运算结果是否溢出。

1)00101101b+10011100b

45)补。 (-100)补。

-55)补。

sf=1 zf=0 cf=0 of=0 无溢出。

2)01011101b-10111010b

93)补。(-70)补。

-93)补。

sf=1 zf=0 cf=1 of=d7add d 6add=10=1 溢出。

3)876ah-0f32bh

876ah 0f32bh

943fh-30870)补。

(-3285)补。

-27585)补。

sf=1 zf=0 cf=1 of=d15add d 14add=11=0 无溢出。

4)1000 0000b+1111 1111b

-128)补。

(-1)补。

127)补。

sf=0 zf=0 cf=1 of=d7add d 6add=10=1 溢出。

存储器采用分段存储的优点?

1) 便于程序员或用户编程。只要使用和面对16位寄存器的逻辑地址,无需理会和面对20位物理地址。

2) 利于提高程序运行速度。程序运行时,段寄存器的值很少改变(除少数段间转移、调用或跨段外),多数情况只涉及16位的(地址)偏移量或偏移地址,程序往往在1m物理空间的某一小区域范围内运行,指令长度又比较短(只涉及16位地址),故程序运行速度快。

3) 适于程序浮动装配(可重新定位)。若程序本身不涉及物理地址(即:只与偏移地址有关),这样程序就相对独立,可在1m物理空间内自由浮动(任意安排);若需要将若干程序装配在一起成为一个整体时,操作系统根据当时内存情况改变相关段寄存器的值就可以简单实现。

第2次作业。

如何把ds:2000h单元的字ds:3000h单元的字互换?

mov bx,2000h

mov ax,[bx]

xchg ax,[3000h]

mov [2000h],ax

或写成。mov ax,[2000h]

xchg ax,[3000h]

mov [2000h],ax

第3次作业p107

2.分别说明下列指令的源操作数和目的操作数各采用什么寻址方式,并写出指令中存储器操作数的物理地址的计算公式。

1)mov ax,2408h

目的操作数:寄存器寻址。

源操作数:立即数寻址。

2)mov bx,[si]

目的操作数:寄存器寻址。

源操作数:寄存器间接寻址。

存储器操作数的物理地址:ds×16+si

3)mov [bp+100h],ax

目的操作数:基址寻址(也可写成寄存器相对寻址)

源操作数:寄存器寻址。

存储器操作数的物理地址:ss×16+bp+100h

4)mov [bx+di],’

目的操作数:基址加变址寻址。

源操作数:立即数寻址。

存储器操作数的物理地址:ds×16+bx+di

5)mov dx,es:[bx+si]

目的操作数:寄存器寻址。

源操作数:基址加变址寻址。

存储器操作数的物理地址:es×16+bx+si

3.写出能完成下述操作的指令。

1)将立即数1234h送至ds寄存器。

mov ax,1234h

mov ds,ax

2)将存储单元3000h的内容送至4000h单元。

mov ax,[3000h]

mov [4000h],ax

3)将累加器ax与寄存器cx中的内容对调。

xchg ax,cx

4.编程:将数据段中以bx为偏移地址的连续4单元的内容颠倒过来。

mov al,[bx]

xchg [bx+3],al

mov [bx],al

mov al,[bx+1]

xchg [bx+2],al

mov [bx+1],al

作业:将7000h:0010与7000h:0020h中的连续四个单元内容相加存放到7000h:0030h单元中。

clcmov ax,7000h

mov ds,ax

mov ax,[0010h]

add ax,[0020h]

mov [0030h],ax

mov ax,[0012h]

adc ax,[0022h]

mov [0032h],ax

或写成。mov ax,7000h

mov ds,ax

mov si,0010h

mov ax,[si]

mov di,0020h

add ax,[di]

mov bx,0030h

mov [bx],ax

mov ax,[si+2]

adc ax,[di+2]

mov [bx+2],ax

8.使用一条逻辑运算指令实现下列要求:

1)使al高4位不变,低4位为0。

and al,0f0h

2)使al最高位置1,后7位不变。

or al,80h

3)使al中的bit3、bit4变反,其余位不变。

xor al,18h

4)测试判断cl中的bit2、bit5、bit7是否都为1。

此小题题目有点儿问题,需要两条指令才能实现。

and cl,10100100b

cmp cl,10100100b

第4次作业p194

3.三种数据传送方式:

1) 程序控制方式:1.无条件传送方式 2.查询传送方式(原理略)

2) 中断传送方式(原理略)

3) 直接存储器存取(dma)方式(原理略)

第5次作业p257

1. 三个数据端口:a口、b口、c口。

3个端口与外设的数据接口都是8位,它们结构上的区别:

端口a包含1个8位的数据输入锁存器,1个8位的数据输出锁存器;

端口b包含1个8位的数据输入缓冲器,1个8位的数据输出锁存器;

端口c包含1个8位的数据输入缓冲器,1个8位的数据输出锁存器;

此外,c口可以分两部分(高、低4位)使用,常用来配合a口和b口工作。

3.方式选择控制字:1001x10x

这里,x表示可以是0,也可以是1,习惯写成1

所以,控制字为:10010100b=94h

初始化程序:

mov al,94h

out 83h,al

微机原理作业答案

程序题作业答案 一 写指令 1 将di寄存器的内容减1dec di或 sub di 1 2 用一条指令使程序从中断服务程序返回 iret 3 从80h端口读入数据送入alin al,80h 4 将3000h及3001h两单元内容与ax寄存器内容相减,并将其差送回原单元。sub 3000h ax 5 ...

微机原理作业4答案

微机原理与系统设计 作业4 1 在变量var1中保存六个字变量 4512h,4512,1,100 3,10h,65530 2 在变量var2中保存字符串 byte word word 3 在缓冲区buf1中留出100个字节的存储空间 4 在缓冲区buf2中,保存5个字节的55h,再保存10个字节的2...

微机原理作业与答案

8086第三章作业。3 11在实模式下,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址。1 1000h 10000h 1ffffh 2 1234h 12340h 2233fh 3 e000h e0000h effffh 4 ab00h ab000h bafffh 3 12对于下列cs i...