存储器读写实验
实验一 存储器读写实验
一、实验目的
1. 熟悉静态 RAM 的使用方法,掌握 8088 微机系统扩展 RAM 的方法; 2. 掌握静态 RAM 读写数据编程方法。 二、实验内容
对指定地址区间的 RAM(4000H~43FFH)先进行写数据 55AAH,然后将其内容读出 再写到 5000H~53FFH 中。 三、实验接线图(系统中已连接好) 四、实验步骤
1. 在 PC 机和实验系统联机状态下,编辑源程序。
2. 从存储器窗口检查和记录 4000H~43FFH 中的内容和 5000~53FFH 中的内容。 3. 对源程序进行编译和装载,生成可执行文件。
4. 对可执行文件进行调试,调试方法有:单步,宏单步,自动单步,自动宏单步,注意这些方法之间的区别。 5. 连续运行实验程序。
6. 从存储器窗口检查和记录 4000H~43FFH 中的内容和 5000~53FFH 中的内容,比较程序运行前、后存储器内容的变化情况。 五、实验程序清单
CODE SEGMENT ASSUME CS:CODE
PA EQU 0FF20H PB EQU 0FF21H PC EQU 0FF22H ORG 1850h
;RAM.ASM
;字位口 ;字形口 ;键入口
START: JMP START0
BUF DB ?,?,?,?,?,?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: MOV AX,0H
MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200H RAMW1: MOV DS:[BX],AX ADD BX,0002H LOOP RAMW1 MOV AX,4000H MOV SI,AX MOV AX,5000H
MOV DI,AX MOV CX,0400H CLD REP MOVSB call buf1 mov cx,0ffh con1: push cx
call disp pop cx loop con1
call buf2 con2: call disp jmp con2
DISP: MOV AL,0FFH MOV DX,PA OUT DX,AL
MOV CL,0DFH MOV BX,OFFSET BUF DIS1: MOV AL,[BX] MOV AH,00H
PUSH BX
MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX]
POP BX MOV DX,PB OUT DX,AL
;写数据段地址 ;内存首址 ;要写入的字 ;数据长度 ;写数据
;下一个单元 ;循环写 ;首址
;SI置源首址 ;DI置目首址 ;数据长度 ;增址 ;串传送
;写”62256-” ;显示 ;写”--good” ;显示 ;显示子程序 ,5ms
;20H ;显示子程序 ,5ms
MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX
DIS2: MOV CX,00A0H
LOOP $ POP CX
CMP CL,0FEH
JZ LX1 INC BX
ROR CL,1 JMP DIS1 LX1: MOV AL,0FFH
MOV DX,PB OUT DX,AL RET
BUF1: MOV BUF,06H MOV BUF+1,02H MOV BUF+2,02H MOV BUF+3,05H MOV BUF+4,06H MOV BUF+5,17H RET
BUF2: MOV BUF,17H MOV BUF+1,17H MOV BUF+2,09H MOV BUF+3,00H MOV BUF+4,00H MOV BUF+5,0dH RET CODE ENDS END START
六、实验总结
这个自己实现!!!
;01H
;SHR CL,1
;写”62256-”;写”--good”