- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 微机原理与接口技术
实验一 汇编语言编译过程
汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。4、掌握在EMU8086环境下汇编程序的编写、汇编和调试方法。
二、实验原理
1、汇编语言的优点
汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的保持了机器语言的优点,具有直接和简捷的特点;可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等;目标代码简短,占用内存少,执行速度快,是高效的程序设计语言;经常与高级语言配合使用,应用十分广泛。应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:
编写的代码非常难懂,不好维护;
很容易产生bug,难于调试;
只能针对特定的体系结构和处理器进行优化;
开发效率很低,时间长且单调。MS DOS操作系统为程序设计者提供了可以直接调用的软中断处理程序,每一个中断处理程序完成一个特定的功能操作。依据编程需要选择适当的处理程序,编程者不需再重新编写程序,而是使用INT n软中断指令。每执行一种不同类型码n的软中断指令,就执行一个中断处理程序,其主要功能如下。磁盘的读/写控制。内存管理、文件操作和目录管理。基本输入/输出(对键盘、打印机和显示器等)控制,另外还有日期、时间管理等。9号功能调用(屏幕显示字符串)
格式: MOV DX, 字符串的偏移地址 ?????? MOV AH, 09H?????? INT 21H
??? 功能:在屏幕上显示字符串。
??? 在使用9号功能调用时,应当注意以下问题。
待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。
应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器。
stack segment stack stack
dw 32 dup(?)
stack ends
data segment
BUFB DB 9AH,0AFH
BUFW DW 1234H,5678H
OBUF DB 9 DUP (?)
data ends
code segment
main proc far
assume ss:stack, cs:code, ds:data
start: push ds
sub ax, ax
mov ax, data
mov ds, ax
MOV CX, 8
MOV BX, 0
MOV AL, BUFB
AGAIN: MOV AH,0
SHL AX, 1
ADD AH, 30H
MOV OBUF[BX], AH
INC BX
LOOP AGAIN
MOV OBUF[BX], $
MOV DX, OFFSET OBUF
MOV AH, 9
INT 21H
ret
main endp
code ends
end start
六、实验注意事项或实验现象分析
汇编程序中所有字符及符号均为半角英文字符(注释除外)。
记录编译过程中错误并分析原因。
如将语句 MOV OBUF[BX],’$’去掉,输出结果是什么,试分析其原因。
将源程序中9AH改为-1,输出结果是什么,试分析其原因
如将MOV CX, 8 语句中的8改为4,输出结果又是什么。
将指令MOV AL, BUFB中的BUFB改为BUFB+4,输出结果是什么,试分析其原因
七、思考题
本程序中9号功能调用输出数据如何获得。
若要输出BUFW数据区中第二个元素的高字节,程序中哪些地方需要修 改,如何修改?
绘制本程序流程图。
实验二 DEBUG调试(或EMU8086调试)
1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿的行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家格蕾丝·莫雷·赫伯,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器
文档评论(0)