微机原理实验答案

发布 2022-09-04 22:28:28 阅读 1785

1. 题目:编程将(ax)=2387、(bx)=192fh、(cx)=9256中的无符号数按由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。

code segment

assume cs:code

start:

mov ax,2387

mov bx,192fh

mov cx,9256

cmp ax,bx

jae next1

xchg ax,bx

next1:

cmp ax,cx

jae next2

xchg ax,cx

next2:

cmp bx,cx

jae next3

xchg bx,cx

next3:

mov ah,4ch

int 21h

code ends

end start

2. 题目:编程将(bx)=8600h、(cx)=3489h、(dx)=9235按有符号数由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。

code segment

assume cs:code

start:

mov bx,8600h

mov cx,3489h

mov dx,9235

cmp bx,cx

jge next1

xchg bx,cx

next1:

cmp bx,dx

jge next2

xchg bx,dx

next2:

cmp cx,dx

jge next3

xchg cx,dx

next3:

mov ah,4ch

int 21h

code ends

end start

3. 题目:在数据段中定义如下数据:32,34,89h,,编程将以上数据按有符号数进行排序,并将程序和结果记录下来。

data segment

num db 32,34,89h

data ends

code segment

assume cs:code,ds:dat

start:

mov ax,data

mov ds,ax ;初始化ds

lea bx,num ;取有效地址到bx,以便访问要排序的数。

mov al,[bx]

cmp al,[bx+1]

jge next1 ;若第一个数大则跳转,否则将第一个与第二个数交换。

xchg al,[bx+1]

mov [bx],al

next1:

cmp al,[bx+2]

jge next2;若第一个数大则跳转,否则将第一个与第三个数交换。

xchg al,[bx+2]

mov [bx],al

next2:

mov al,[bx+1];将第二个和第三个数比较。

cmp al,[bx+2]

jge next3;若第二个数大则跳转,否则将第二个与第三个数交换。

xchg al,[bx+2]

mov [bx+1],al

next3:

mov ah,4ch

int 21h

code ends

end start

4. 题目:在数据段中定义如下数据:99,25,86,编程将以上数据按无符号数进行排序,上机调试出程序,并将程序和结果记录下来。

data segment

num db 99h,25h,86h

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

lea bx,num

mov al,[bx]

cmp al,[bx+1]

jae next1

xchg al,[bx+1]

mov [bx],al

next1:cmp al,[bx+2]

jae next2

xchg al,[bx+2]

mov[bx],al

next2:mov al,[bx+1]

cmp al,[bx+2]

jae next3

xchg al,[bx+2]

mov [bx+1],al

next3: mov ah,4ch

int 21h

code ends

end start

5. 题目:(al)=86h,(ah)=34h,(bl)=78h,编程将以上数据按有符号数进行排序,上机调试出程序,并将程序和结果记录下来。

code segment

assume cs:code

start: mov al,86h

mov ah,34h

mov bl,78h

cmp al,ah

jae next1

xchg al,ah

next1: cmp al,bl

jae next2

xchg al,bl

next2: cmp ah,bl

jae next3

xchg ah,bl

next3: mov ah,4ch

int 21h

code ends

end start

6. 题目:中断向量为:1234:5678h,编程将此中断向量写入类型0所在的中断向量表,上机调试出程序,并将程序和结果记录下来。(直接用mov 指令写入即可)

code segment

assume cs:code,ds:code

start:xor ax,ax

mov ds,ax

mov bx,0

mov cl,2

shl bx,cl

mov word ptr[bx],5678h

mov word ptr[bx+2],1234h

mov ah,4ch

int 21h

code ends

end start

7. 题目:中断向量为:3456:6678h,编程将此中断向量写入类型60h所在的中断向量表,上机调试出程序,并将程序和结果记录下来。(直接用mov 指令写入即可)

code segment

assume cs:code,ds:code

start:

xor ax,ax

mov ds,ax ;初始化ds,中断向量表在0段。

mov bx,60h

mov cl,2

shl bx,cl ;让中断类型化左移两位,以便实现乘以4作为中断向量地址。

mov word ptr [bx],5678h

mov word ptr [bx+2],1234h

mov ah,4ch

int 21h

code ends

end start

8. 题目:中断向量为:编程将中断向量类型60h所对应的中断向量从中断向量表中取出来分别放在es和di中,上机调试出程序,并将程序和结果记录下来。(直接用mov 指令即可)

code segment

assume cs:code,ds:code

start:

xor ax,ax

mov ds,ax ;初始化ds,中断向量表在0段。

mov bx,60h

mov cl,2

shl bx,cl ;让中断类型化左移两位,以便实现乘以4作为中断向量地址。

mov di,word ptr [bx]

mov es,word ptr [bx+2]

mov ah,4ch

int 21h

code ends

end start

9. 题目:中断向量为:编程将中断向量类型21h所对应的中断向量从中断向量表中取出来分别放在si和bp中,上机调试出程序,并将程序和结果记录下来。(直接用mov 指令即可)

code segment

assume cs:code,ds:code

start:xor ax,ax

mov ds,ax

mov bx,21h

mov cl,2

shl bx,cl

mov si, word ptr[bx]

mov bp,word ptr[bx+2]

mov ah,4ch

int 21h

code ends

end start

10. 题目:中断向量为:编程将中断向量类型45h所对应的中断向量从中断向量表中取出来分别放在di和bp中,上机调试出程序,并将程序和结果记录下来。(直接用mov 指令即可)

code segment

assume cs:code,ds:code

start:xor ax,ax

mov ds,ax

mov bx,45h

mov cl,2

shl bx,cl

mov di, word ptr[bx]

mov bp,word ptr[bx+2]

mov ah,4ch

int 21h

code ends

end start

11. 题目:利用实验箱中的8255并口芯片实现1个发光二极管的闪烁。

io8255a equ 288h

io8255b equ 28bh

io8255c equ 28ah

code segment

assume cs:code

start: mov dx,28bh

mov al,80h

out dx,al

mov cx,5

disp: mov al,03h

out dx,al

push cx

mov cx,10h

delay: loop delay

pop cx

mov al,02h

out dx,al

loop disp

mov ah,4ch

int 21h

code ends

end start

12. 题目:在交通灯实验中请使用8255的c口按位置1/置0 的功能实现如下现象: 南北路口的绿灯、东西路口的红灯同时亮30秒左右。

io8255a equ 288h

io8255b equ 28bh

io8255c equ 28ah

code segment

assume cs:code

start: mov dx,28bh

mov al,80h

out dx,al

disp: mov al,0bh

out dx,al

微机原理实验讲义答案

微机原理与接 术部分实验讲义答案。1 从键盘输入两个一位十进制数,计算这两个数之和,并将其结果在屏幕上显示出来。答 datasegment infor1 db please input the first data 10 infor2dboah,0dh,pleaseinputtheseconddat...

微机原理实验

一 实验目的。通过本节课的实验,让学生理解和掌握循环程序运行和设计原理,理解构成循环程序的指令功能,特别是对转移指令 循环计数的深入理解,并掌握一些常用循环程序设计的算法。二 实验内容。实验内容一 bios显示中断调用 int 10h 调用步骤 第一步 置入口参数。第二步 功能号 0至15 送ah ...

微机原理实验

学生实验报告。学院 软件与通信工程学院 课程名称 微机原理与接 术 专业班级 电信141班。姓名。学号。学生实验报告 1 一 实验综述。1 实验目的及要求。1 实验目的 1 加深对锁存器和缓冲器的基本原理的了解 2 掌握i o口编程的基本方法 3 掌握基本i o口的扩展方法及编程方法。2 实验要求。...