- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用汇编语言实现算术计算和输出
上海电力学院实验报告
计算机硬件实验课程
题目: 算术的计算与输出
班级:
姓名:
学号:
实验室注意事项:
1)保持实验室清洁,不能随意乱扔垃圾
2)不能喧哗
3)爱护设备,不能随意乱动实验箱上各种拨码开关,否则会有危险
4)实验结束要求关闭电脑,整理好实验箱,切断电源
一、实验目的
1)运用汇编语言实现算术1+2,将结果按十进制数输出
2)修改程序实现6+9,将结果按十六进制数输出
3)将上述程序的结果按十进制数输出
二、微机原理软件实验一般步骤及注释
1)PC---〉开始---〉程序---〉附件---〉命令提示符
2)cd\ ;返回c盘根目录
3)cd dvcc ;进入c:/dvcc 目录下
4) edit abc.asm ;新建,并且进入编辑abc.asm文件
5)file---〉save ;文件默认保存在c:/dvcc 目录下
6)file---〉exit ;退出编辑状态,并自动返回命令提示符界面
7)masm abc.asm ;输入回车,编译文件,如果没有出错,就会自动生成abc.obj文件
8)link abc.obj ; 数个回车,链接,不出错则生成abc.exe
9)abc ;执行
10)debug abc.exe ;debug 调试,查看内部寄存器状态、段地址、偏移地址等情况,-t 单步执行;-u 反汇编;-q 退出debug状态,返回命令提示符
三、实验所需的文件
(1)masm.exe (2)link.exe
如果将c:\dvcc目录下的这两个文件拷贝到e盘,也可以做,进入目录为:e:\
命令方式为: e:回车。
四、实验设计与实现
1)运用汇编语言实现算术1+2,将结果按十进制数输出
解题思路:将1赋予寄存器ax,将2赋予寄存器bx中,运用add语句来实现,再将累加器内容加30h,将累加器内容输出。具体程序如下所示:
data segment
data ends
stack segment para stackstack
db 100 dup(?)
stack ends
code segment
main proc far
assume cs:code,ds:data,es:data,ss:stack
start: mov ax,0
mov ax,data
mov ds,ax
mov es,ax
mov ax,0001h
mov bx,0002h
add ax,bx
add al,30h
mov dl,al
mov ah,02h
int 21h
mov ax,4c00h
int 21h
code ends
end start
实验结果如下所示:
图1-1
2)编写程序实现6+9,将结果按十六进制数输出
解题思路:将6赋予寄存器ax,将9赋予寄存器bx中,运用add语句来实现,再将累加器的值再加37h,输出最终累加器里的值。具体程序如下所示:
data segment
data ends
stack segment para stackstack
db 100 dup(?)
stack ends
code segment
main proc far
assume cs:code,ds:data,es:data,ss:stack
start: mov ax,0
mov ax,data
mov ds,ax
mov es,ax
mov ax,0006h
mov bx,0009h
add ax,bx
add al,37h
mov dl,al
mov ah,02h
int 21h
mov ax,4c00h
int 21h
code ends
end start
实验结果如下图所示:
图1-2
3)将上述实现6+9的程序按十进制数输出
解题思路:将6赋予寄存器ax,将9赋予寄存器bx中,运用add语句来实现,将累加器中的内容除以十取余,实现将个位和十位分离。具体程序如下所示:
data segment
data ends
stack segment para stackstack
db 100 dup(?)
stack ends
code segment
main proc far
assume cs:code,ds:data,es:data,ss:sta
您可能关注的文档
- 沪科版八年级物理第九章《浮力》第3节《物体浮和沉》同步教学(26张).ppt
- 河南省普通高等学校专升本管理学试题和答案.doc
- 河南政法干警考试民法辅导:民法学练习试题和答案.doc
- 河南省学法用法考试复习题(科级和科以下公务员).doc
- 法学基础理论-标准测试题和答案3.doc
- 河南省土建工程量建筑说明和计算规则1.doc
- 河南理工大学机械设计试题和答案.doc
- 油库主要工艺和设备模拟设计.doc
- 油库设备管理和检查维护管理规定12.10.doc
- 法理学和宪法讲义.doc
- 2023年一级建造师机电工程考试真题及答案.pdf
- 2023年一级建造师公路实务考试真题(含答案).pdf
- 2.5.2+圆与圆的位置关系+课件-2024-2025学年高二上学期数学人教A版(2019)选择性必修第一册.pptx
- 1.4.1充分条件与必要条件课件-2024-2025学年高一上学期数学人教A版(2019)必修第一册.pptx
- 2.4.2+圆的一般方程+课件-2024-2025学年高二上学期数学人教A版(2019)选择性必修第一册.pptx
- 十堰市2020-2021年度高二下学期语文期中试卷B卷.doc
- 山东潍坊2020年中考数学模拟试卷-三(含答案).pdf
- 小学语文现代文阅读微题型训练:”如何解答一个怎样的人?“题型方法含详解.docx
- 计算力专训25-一元一次方程的实际应用—日历类问题(解析版).doc
- 江阴市江阴二中人教版初中英语八年级上册Starter-Unit-10经典习题(含解析).docx
文档评论(0)