微机原理作业答案

发布 2022-07-05 05:42:28 阅读 1586

程序题作业答案:

一、写指令:

1.将di寄存器的内容减1dec di或 sub di , 1

2.用一条指令使程序从中断服务程序返回 iret

3.从80h端口读入数据送入alin al, 80h

4.将3000h及3001h两单元内容与ax寄存器内容相减,并将其差送回原单元。

sub [3000h], ax

5.用指令实现ax寄存器内容不变,但使进位标志cf置0

and ax, ax

6.将2050h端口的内容读入cl

mov dx, 2050h

in al, dx

mov cl, al

7.把bx内容压入堆栈 push bx

8.用一条逻辑指令使dx寄存器的高3位为1,其余位不变。

or dx, e000h

或 mov bx, e000h

or dx, bx

9.把ah内容取反not ah

10.将al的内容乘以3mov cl,3

mul cl

二、写程序。

1. 将dx,ax两寄存器中的数与bx,cx两寄存器中存放的数相加,并将和送入。

2050h开始的存储区中。

add ax, cx

adc dx, bx

mov [2050h], ax

mov [2052h], dx

2.将80h端口的内容取反后在输出到原端口。

in al, 80h

out 80h, al

3.将bx寄存器的内容与cx的内容相乘,并将乘积送回bx,cx两寄存器中。

mov ax, bx

mul cx

mov bx, dx

mov cx, ax

4.编程将2000h单元开始存放的3个字节的数据送至2030h单元开始的存储区中

mov ax, [2000h]

mov [2030h], ax

mov al, [2002h]

mov [2032h], al

三、分析程序。

1.行下列程序后,ax的内容是什么?完成了什么功能?

mov ax, 5678h

not ax

inc ax

答:(ax)=a988h 此程序完成了将(ax)求补的工作。

2. 执行下列程序后,dx寄存器的内容是什么?此段程序具有什么功能?

mov dx, 0f0fh

mov bx, 4322h

push dx

push bx

pop dx

pop bx

答:(dx)=4322h (bx)=0f0fh 实现了(dx)与(bx)互换。

3. 分析下列程序的功能,并对各条指令进行注释。

lea si, strng1建立原指针。

lea di, strng2建立目的指针。

mov cx,20送串的字节个数。

cld传送过程为增址形式。

rep movs strng2, strng1 ;进行字节串传送。

将strng1为首地址存放的20个字节数传送到以strng2为首地址的存储空间。

4. 执行下列程序后,ax的内容是多少?程序功能是什么?

mov ax, 0085h

mov cl, 3

shl ax, cl

add ax, ax

答:(ax)=0850h

此程序完成了ax的内容乘16

微机原理作业答案

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

微机原理作业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...