08196059李爽通信一班.docx
《08196059李爽通信一班.docx》由会员分享,可在线阅读,更多相关《08196059李爽通信一班.docx(21页珍藏版)》请在冰点文库上搜索。
![08196059李爽通信一班.docx](https://file1.bingdoc.com/fileroot1/2023-5/20/4e6ea79f-55aa-4b63-b552-928c793e7d0b/4e6ea79f-55aa-4b63-b552-928c793e7d0b1.gif)
08196059李爽通信一班
实验三内存器使用
实验日期:
2010-12-7指导教师:
刘波星期:
二节次:
56实验课时:
二
姓名:
李爽学号:
08196059专业、班级:
通信工程一班得分:
1、实验目的
1、掌握变量的定义方法。
2、掌握内存的块操作方法。
3、掌握存储器的初始化
4、熟悉存储器的使用手段
2、实验内容
1、变量及其定义
2、和存储器操作有关的中断指令
3、实验步骤
1、采用EXE模板,调试下列程序,观察内存变化,观察结果与教材中图4.3比较。
并截图
(源程序见教材P138-P139,有改动)
DSEGSEGMENT
TABLE1DW12
DW34
DATA1DB5
TABLE2DW67,89
DW1011
DATA2DB12
RATESDW1314
OTHRATDW1718
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
提示,在看数据段之前,查看数据段DS的内容,找到相应的内存区域,本题数据段第一个数据TABLE1的偏移地址为0000H
2、调试下列程序,观察内存变化,观察结果,并截图
(源程序见教材P138-P139,有改动)
DSEGSEGMENTAT55H
ZERODB0
ONEDWONE
TWODWTWO
FOURDWFOUR+5
SIXDWZERO-TWO
ATEDB5+6
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
提示,在看数据段之前,查看数据段DS的内容,找到相应的内存区域,本题数据段第一个数据TABLE1的偏移地址为0000H
3、调试下列程序,观察内存变化,观察结果,并截图
(源程序见教材P138-P139,有改动)
DSEGSEGMENTAT55H
STRING1DB'HELLO'
STRING2DB'AB'
STRING3DW'AB'
STRING4DB'ABCD'
STRING5DW'AB''CD'
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTARTT
提示,在看数据段之前,查看数据段DS的内容,找到相应的内存区域,本题数据段第一个数据TABLE1的偏移地址为0000H
4实验运行结果:
1、采用EXE模板,调试下列程序,观察内存变化,观察结果与教材中图4.3比较。
并截图
(源程序见教材P138-P139,有改动)
DSEGSEGMENT
TABLE1DW12
DW34
DATA1DB5
TABLE2DW67,89
DW1011
DATA2DB12
RATESDW1314
OTHRATDW1718
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
2、调试下列程序,观察内存变化,观察结果,并截图
DSEGSEGMENTAT55H
ZERODB0
ONEDWONE
TWODWTWO
FOURDWFOUR+5
SIXDWZERO-TWO
ATEDB5+6
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
3、调试下列程序,观察内存变化,观察结果,并截图
(源程序见教材P138-P139,有改动)
DSEGSEGMENTAT55H
STRING1DB'HELLO'
STRING2DB'AB'
STRING3DW'AB'
STRING4DB'ABCD'
STRING5DW'AB','CD'
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
5、思考题解答
1、完成教材P164,习题4.8,观察结果,并截图
DSEGSEGMENT
;数据段定义的内容见教材P164,习题4.8,请补充
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
DSEGSEGMENT
DB1DB12H,34H,0,56H
DW1DW78H,90H,0AB46H,1234H
DS3DB'ABCD'
BUFDB5DUP(0)
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAH,4CH
INT21H
CSEGENDS
ENDSTART
2、完成教材P164,习题4.12,要求A、B、C均定义为字节变量,无符号数。
观察结果,并截图。
DSEGSEGMENT
ADB1
BDB1
CDB71
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVAL,A
IMULB
MOVBX,AX
MOVAL,C
CBW
ADDAX,BX
SUBAX,70
IDIVA
HLT
CSEGENDS
ENDSTART
3、在变量BUFF中存放10个有符号字节数,编程实现如下功能:
统计此数据区中正数、负数和零的个数,并分别将统计结果保存在字节变量PLUS、MINS和ZERO中。
DSEGSEGMENT
BUFDB3,-2,5,6,8,-8,0,9,1,7
PLUSDB0
ZERODB0
MINSDB0
DSEGENDS
CSEGSEGMENT'CODE'
ASSUMECS:
CSEG,DS:
DSEG
START:
MOVAX,DSEG
MOVDS,AX
MOVCX,10
MOVDI,OFFSETBUF
LOOP1:
MOVAL,BYTEPTR[DI]
INCDI
DECCX
MOVBX,AX
TESTAL,80H
JZZHENGSHU
INCMINS
JCXZFIN
JMPLOOP1
ZHENGSHU:
TESTAL,11111111B
JZLING
INCPLUS
JCXZFIN
JMPLOOP1
LING:
INCZERO
JCXZFIN
JMPLOOP1
FIN:
HLT