第一次作业。
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...