- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 PAGE \* Arabic 10 页第 PAGE \* Arabic 10 页第 PAGE \* Arabic 10 页
实验一:熟悉8086CPU内部结构
一、实验要求
利用emu8086软件模拟8086CPU。编写程序在emu8086上运行,观察8086个寄存器的值。
二、实验目的
1、熟悉emu8086软件
2、掌握8086汇编指令
3、熟悉8086内部结构
4、熟悉8086CPU存储器结构
三、实验内容
1.安装emu8086软件,运行该软件,仔细阅读文档《emu8086中文指南》相关部分。
2.熟悉emu8086工作界面。
3.在emu8086编辑窗口中,编写一断汇编语言程序,试编写一程序计算以下表达式的值。w=(v-(x*y+z- 5))/x。设x、y、z、v的值存放在字节变量X、Y、Z、V中,结果存放在字变量W之中。
(1)执行“assembler”窗口下“compile and load in the emulator”(或者直接按F5)。运行 “Run” 按钮。查看“vars”中的运行结果。
(2)单步执行程序,观察指令在内存中执行时的CS:IP变化情况。
(2)观察AX、BX、CX 、DX、CS、IP、SS、SP、BP、SI、DI、DS、ES、各个寄存器的值。
(3)查看内存,ALU和flag变化情况。
4.认真填写实验报告。
附录:参考代码
data segment
X DB 3
Y DB 3
Z DB 2
V DB 11
W DW 2 DUP(?)
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax, data
mov ds, ax
mov es, ax
MOV Al,X
MUL Y
MOV CX,AX
MOV Al,Z
ADD CX,AX
SUB CX,5
MOV Al,V
SUB AX,CX
DIV X
MOV W,AX
MOV AH,4CH
INT 21H
ends
end start
实验二 8086系统软中断
一. 实验目的:
了解INT? 21H各功能模块的作用及用法
二. 实验要求:
1. 掌握系统软中断的调用方法
2 了解dos功能调用所完成的功能
3 掌握如何根据题目要求利用系统调用完成所需的功能
4 掌握系统调用的方法, 包括入口参数设置,功能号设置,系统调用和出口参数获得
三 实验原理
DOS功能调用与BIOS功能都通过软件中断调用。在中断调用前需要把功能号装入AH寄存器,把子功能号装入AL寄存器,除此之外,还需要在CPU的寄存器中提供专门的调用参数。一般来说,调用DOS或BIOS功能时,有以下几个步骤:
(1)将调用参数装入指定的寄存器。
(2)如需功能调用号,把它装入AH。
(3)如需子功能调用号,把它装入AL。
(4)按中断号调用DOS或BIOS。
(5)检查返回参数是否正确。
四. 实验内容:
1. Int 21h
AH
功能
调用参数
返回参数
1H
从键盘输入一个字符并回显在屏幕上
?
AL=字符
2H
在显示器上显示一个字符
DL=字符
0AH
键盘输入到缓冲区
DS:DX=缓冲区首址
(DS:DX)=缓冲区最大字符数
(DS:DX+1)=实际输入的字符数
09H
显示字符串
DS:DX=串地址
字符串以‘$’结尾
AL=字符
4CH
带返回码终止,返回到DOS
AL=返回码
?
分别按照以下要求编写程序
(1)输入单个字符(AH=01H)
格式: mov ah,01h
int 21h
出口参数:al-输入字符的ASCII码
要求:从键盘上输入数字,并判断是否是字符 ’Y’
(2)输出单个字符(AH=02H)
格式: mov ah,02h
int 21h
入口参数:dl-输出字符的ASCII码
要求:实现输出3+5的和8
注:字符转ASCII码加30h...
(3)编写代码,完成输入一个字符,并显示 字符8
(4)输入字符串(AH=0AH)
格式: mov ah,0Ah
int 21h
入口参数:
ds:dx-缓冲区首地址
(ds:dx)=设计的最大字符数
出口参数:
(ds:dx+1)=实际输入的字符数
要求:输入一个字符串(最多20个字符)
(5)输出字符串(AH=09H)
格式: mov ah,09h
int 21h
入口参数:
· ds:dx-字符串首地址
· 字符串必须用$作为结束符
例:输出
您可能关注的文档
最近下载
- 《第二单元 生物的多样性》试卷及答案_初中生物七年级上册_冀少版_2024-2025学年.docx VIP
- 大学生期末个人学业总结.pptx
- 鞘注甲氨蝶呤阿糖胞苷引起患者截瘫的不良事 件调查.ppt VIP
- 大数据安全与隐私保护 习题答案 第1-9章 石瑞生.docx
- 瑞得全站仪RTS-822RM系列说明书.pdf VIP
- 鹦鹉可行性研究报告.docx VIP
- 鹦鹉人工驯养可行性报告.pptx VIP
- 5.2.2工业分布及发展--第二课时.ppt VIP
- 鞘注甲氨蝶呤阿糖胞苷引起患者截瘫的不良事件调查.ppt VIP
- 2022年河北省特种设备作业安全管理人员考试题库汇总(含真题和典型题).pdf VIP
原创力文档


文档评论(0)