教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

计算机组成原理与汇编实验报告(2)

来源:网络收集 时间:2026-08-21
导读: 图2 错误输入的输出结果 六、程序代码 datarea segment bufdw 100 dup(?) count = 10 flag db 0 mess1 db 'Please input ten decimal integers and use the comma as separation:$' mess2 db 'error!$' mess3 db 'T

图2 错误输入的输出结果

六、程序代码

datarea segment bufdw 100 dup(?)

count = 10 flag db 0

mess1 db 'Please input ten decimal integers and use the comma as separation:$'

mess2 db 'error!$'

mess3 db 'The result is: $' datarea ends

;----------------------------------------

prognam segment assume cs:prognam,ds:datarea start:

push ds sub ax,ax push ax movax,datarea movds,ax

call input cmp ax,10000d je endall call bubblesort

call output endall: mov ah,4ch int 21h

;---------------------------------------- input proc

lea dx,mess1 mov ah,09 int 21h call crlf mov si,0 movcx,count

6

enter: call char_int dec cx

cmp dl,',' je store

cmp dl,13 je exit2 jne error

store: movbuf[si],bx add si,2 jmp enter error: call crlf

lea dx,mess2 mov ah,09 int 21h mov ax,10000d jmp exit3 exit2: movbuf[si],bx call crlf exit3: ret input endp

;----------------------------------------- bubblesortproc movcx,count

dec cx lg4: movdi,cx mov si,0

lg2: movax,buf[si] cmpax,buf[si+2] jle lg3

lg5: xchgax,buf[si+2] movbuf[si],ax

lg3: add si,2 loop lg2 movcx,di

loop lg4 ret bubblesortendp

;-------------------------------------- output proc

lea dx,mess3 mov ah,09 int 21h call crlf mov si,0 movdi,count

next1: movbx,buf[si] cmp bl,0 jge next4 mov dl,'-' mov ah,2 int 21h negbx

next4: call int_char mov dl,','

7

mov ah,02 int 21h

add si,2 dec di jnz next1

call crlf ret output endp

;--------------------------------------- char_intproc mov bx,0 mov flag,0 newchar: mov ah,1

int 21h movdl,al

cmp al,2dh jnz next2 mov flag,1 jmpnewchar

next2: sub al,30h jl next3 cmp al,9d jg next3 cbw

xchgax,bx

mov cx,10d mul cx xchgax,bx

add bx,ax jmpnewchar

next3: cmp flag,1 jne exit1 negbx

exit1: ret char_intendp

;----------------------------------- int_charproc

push bx push cx push si push di mov cx,1000d call dec_div mov cx,100d

call dec_div mov cx,10d

call dec_div mov cx,1d

call dec_div pop di pop si pop cx pop bx

8

ret int_charendp

;--------------------------------------- dec_divproc movax,bx

mov dx,0

div cx movbx,dx movdl,al

add dl,30h mov ah,02h int 21h ret dec_divendp

;---------------------------------- crlfproc

mov dl,0ah mov ah,02h int 21h mov dl,0dh mov ah,02h int 21h ret crlfendp

;------------------------------------

prognam ends

end start

9

总线基本实验

一、 实验目的

1、掌握静态存储随机存储器RAM的工作特性

2、掌握静态存储随机存储器RAM的读写方法 二、实验设备

74LS374(一片),74LS245(一片),74LS273(一片),静态存储器MEMORY 6116(一片),8位数据排线(一片),脉冲与门(两片),与非门(一片),单脉冲(三片),开关若干,灯泡若干。 三、实验原理

总线传输实验框图如图4.1所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。

总线传输实验框图

总线基本实验要求如下:根据挂在总线上的几个基本部件,设计一个简单的流程。 (1)输入设备将一个数输入R0 寄存器。 (2)输入设备将另一个数输入地址寄存器。

(3)将R0 寄存器中的数写入到当前地址的存储器中。 (4)将当前地址的存储器中的数用LED 数码管显示。 四、实验步骤

1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。搭建好的实验流程图如图4.3所示。 2. 初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源。

10

图4.2 总线基本实验流程图

3.实验的具体操作步骤如图4.2所示。

首先应关闭所有三态门(SW-B=1,CS=1,R0-B=1,LED-B=1),并将关联的信号置为:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。然后参照如下操作流程,先给数据开关置数,打开数据输出三态门,开关LDR0置1,并双击旁边的单脉冲,使产生一个上升沿将数据输入到R0 中;然后继续给数据开关置数,开关LDAR置1,并双击旁边的单脉冲,使产生一个上升沿将数据输入到AR 中;关闭数据开关三态门,打开R0 寄存器输出控制(开关LDR0和开关R0-B都置0),使存储器处于写状态(W/R=0、CS=0)将R0 中的数写到存储器中;关闭存储器片选,关闭R0 寄存器输出(开关R0-B置0),使存储器处于读状态(W/R=1、CS=0)。

图4.3 实验步骤图

11

…… 此处隐藏:1247字,全部文档内容请下载后查看。喜欢就下载吧 ……
计算机组成原理与汇编实验报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/614913.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)