微机原理试题

发布 2024-04-16 19:05:10 阅读 6908

实验二汇编语言逻辑控制。

实验说明:在进行实验之前,熟悉掌握汇编程序的逻辑控制的指令和方法,这涉及到顺序、分支(选择)和循环,基本的指令包括无条件跳转和条件跳转指令、循环loop及其变种指令等,这些都是程序设计的基本技术。

第一部分:常用操作指令i

一.算术运算类指令及顺序程序设计。

1、实验目的:了解和掌握加、减在程序设计中的用法和应注意的问题,以及顺序程序设计的方法。

2、实验内容:

1)在debug系统状态下,分别编制、调试并记录以下加、减程序段的每一条指令的运**况:注意实验的结果和手工计算的结果相比较,看看是否一致。

加法。mov ax,2389 ┃

mov bx,0cedf ┃

add ax,bx ┃

减法。mov ax,2389 ┃

mov bx,0cedf ┃

sub ax,bx ┃

高低位分别加法。

mov ax,2389 ┃

mov bx,0cedf ┃

add ah,bh ┃

add al,bl ┃

带进位的加法。

mov ax,2389 ┃

mov bx,0cedf ┃

add ah,bh ┃

adc al,bl ┃

实验中使用到了debug的汇编a和单步跟踪t命令,注意相关寄存器和标志位的变化。

二.逻辑及移位类指令与顺序程序设计。

1、实验目的:了解和掌握逻辑指令、移位指令的功能和作用,以及此类指令的使用方法。

2、实验内容:具体了解和掌握逻辑指令、移位指令在使用时应注意的问题。

(1)在debug系统状态下,分别编制、调试并记录以下逻辑指令程序段的每一条指令的运**况:注意实验的结果和手工计算的结果相比较,看看是否一致。理解and、or、xor的作用。

mov al,41 ┃

or al,20 ┃

mov al,66 ┃

and al,0df ┃

mov ax,5678 ┃

xor ax,ax ┃

mov ax,0ff00 ┃

not ax ┃

mov ax,1234 ┃

test ax,1 ┃

test ax,10 ┃

test ax,80 ┃

test指令的作用是。

2)在debug系统状态下,分别编制、调试并记录以下移位指令程序段的每一条指令的运**况:

mov ax,420 ┃

shl ax,1 ┃

mov ax,240 ┃

mov cl,4 ┃

shl ax,cl ┃

mov ax,8000 ┃

mov cl,4 ┃

shr ax,cl ┃

mov ax,8000 ┃

mov cl,4 ┃

sar ax,cl ┃

mov ax,8086 ┃

mov cl,4 ┃

rol ax,cl ┃

mov ax,8086 ┃

mov cl,4 ┃

ror ax,cl ┃

clcmov ax,8086 ┃

mov cl,4 ┃

rcl ax,cl ┃

stcmov ax,8086 ┃

mov cl,4 ┃

rcr ax,cl ┃

rol与rcl、ror与rcr的区别在于rol和ror是将寄存器中的内容直接进行移位,而rcl和rcr是将寄存器中的内容与___中的内容一起进行移位,因此参加移位的数据比原来的数据位数。

第二部分:分支与循环控制。

一.转移类指令与分支型程序设计。

1、实验目的:了解和掌握比较指令、无条件/有条件转移类指令的功能、作用和方法。学会分支型程序设计的方法。学习汇编语言输出输入语句的设计。

2、实验要求:具体了解和掌握比较指令、无条件/有条件转移类指令的使用和在使用时应注意的问题,学习分支型程序设计的一般方法。

1)用字符搜索法确定字符串长度:

用a命令在100h开始的内存处键入下列程序:

jmp start

db 'this is the program to measure'

db 'the length of a string!$'

start: mov bx,102

mov al,24

xor cl,cl

lop: cmp al,[bx]

jz exit

inc bx

inc cl

jmp lop

exit: int 3

用g命令运行此程序,并检查cl的统计长度是否与你自己统计的实际长度是否一样?

2)16进制数化ascii码的一般方法(显示内存内容)

用a命令在100h处键入下列程序:

mov si,0

mov bl,10

lop: movdl,[si]

mov cl,4

shr dl,cl

cmp dl,0a

jc j1

add dl,7

j1: add dl,30

mov ah,2

int 21

mov dl,[si]

and dl,0f

cmp dl,0a

jc j2

add dl,7

j2: add dl,30

mov ah,2

int 21

mov dl,20

mov ah,2

int 21

inc si

dec bl

jnz lop

int 20

1、在直接运行,应在屏幕上显示出内存从0000h开始的16个字节的内容,若有错误,用debug检查之。

2、自编程序:修改上面程序,使除以16进制数形式显示内存内容外,还能在其右边显示该16进制码所对应的ascii字符,07-0d的控制字符用'.'代替。

3)综合程序(选做)

测量一字符串长度,并用16进制数显示之

程序: jmp start

db 'this is a program to measure the length of a string。'

db 0d,0a

db 'the length of the string is: $

start: mov ah,9

mov dx,102

int 21

mov bx,101

mov al,'$

mov dh,ff

lop: inc bx

inc dh

cmp al,[bx]

jnz lop

mov ch,2

mov cl,4

lop1: rol dh,cl

mov dl,dh

and dl,0f

add dl,30

cmp dl,3a

jc j add dl,7

j: mov ah,2

int 21

dec ch

jnz lop1

int 20

键入此程序,直接运行之,若未出现预期结果,用debug检查有否错误?

二、循环控制类指令与循环程序设计。

1、实验目的:了解和掌握循环控制类指令的功能、作用和方法。学会循环程序设计的方法。学习汇编语言输出输入语句的设计。

2、实验要求:具体了解和掌握循环控制类指令的使用和在使用时应注意的问题,学习循环程序设计的一般方法。

1)求累加和程序:

程序: movbx,1000

movcx,10

subax,ax

lop: add al,[bx]

adcah,0

incbx

j: loop lop

int 3

步骤: 1)用a命令将程序键入到100h开始的内存中,在键入时记下标号lop和j的实际地址,在键入loop指令时lop用实际地址值代替。

7)用e命令在内存地址1000h处键入16个数字

8)用命令g=100 j(j用实际地址代替),使程序运行并停在断点j上,检查ax,bx的值是否符合你的预计值。

微机原理试题

中南大学考试试卷。2012 2013学年上学期时间110分钟 2013年1月10日。微型计算机原理与接 术课程48学时3学分考试形式 闭卷 专业年级 自动化 电气09级总分100分,占总评成绩70 注 此页不作答题纸,请将答案写在答题纸上。一 填空题 本题20分,每空1分 cpu对i o端口采用单独...

微机原理试题

微机原理考试试题纸 a卷 课程名称微机原理与接 术专业班级。题号一二三四五六七 十总分题分。备注 学生不得在试题纸上答题 含填空题 选择题等客观题 一 选择题 每题2分,共20分 微处理器的存储器寻址空间为 a 64kb b 1mb c 4gb d 64tb 2 串行接口8251a有 端口地址。a ...

微机原理试题

微机试题。一 选择题 每小题1分,共10分 1.8086执行程序时,对存储器进行访问时,物理地址可由 组合产生。a cs和ip b ss和ip c ds和ip d cs和bp 2 16位pc机中整数的有效范围是。a 32768 32767b 32767 32767 c 0 65535d 32768 ...