- 11
- 0
- 约4.33千字
- 约 11页
- 2016-12-27 发布于湖北
- 举报
微机原理实验报告
实验目的
熟悉pentium微处理器指令系统和寻址方式
掌握汇编语言程序的编程与调试方法
实验内容
结合作业第二题熟悉pentium微处理器实模式下算术与逻辑运算指 令的功能,用debug逐条观察各个指令执行前后的相关寄存器的标志 位的变化。
masm6.11的使用和汇编语言程序的调试
下列程序的功能是求一组十进制无符号数(2位数)的最大值,读懂该程序。(见附录)
用masm6.11汇编上述程序
用debug跟踪,调试上述程序
用u命令列出反汇编程序,与源程序清单比较
跟踪到语句12,检查语句执行后ds寄存器的变化
语句12执行后,发命令d ds:0,检查显示的内容是否与程序数据段定义的单元内容一致。
继续跟踪程序,检查程序执行过程中ax,dx等寄存器的变化
将程序的功能改为求最小数
如果block单元存的数据是压缩bcd码,修改上述程序。
实验报告要求
画出实验内容2中程序的框图
将实验内容2程序的block单元存放的数据改为压缩bcd码,列出修改后的程序清单。
实验内容3的程序说明和程序清单
实验数据及结果
求最大数的程序框图
2. 将程序中的存储数改为压缩BCD码
data segment para
block db 52h,14h,56h,85h,34h
db 63h,38h,70h,18h,69h
count equ $-offset block
max db 1 dup(?)
data ends
cseg segment
assume cs:cseg,ds:data
start proc far
mov ax, data
mov ds, ax
mov si, offset block
mov bx, offset max
mov cx, count
mov dl, [si]
inc si
dec cx
mov ah, 0
mov dh, 0
comp: lodsb
cmp dx, ax
jg next
mov dl, al
next: loop comp
mov [bx], dl
print: mov bx, offset max
mov dl, [bx]
mov cl, 4
shr dl, cl
add dl, 30h
mov ah, 2
int 21h
mov dl, [bx]
and dl, 0fh
add dl, 30h
mov ah, 2
int 21h
mov ah, 4ch
int 21h
ret
start endp
cseg ends
end start
3. 计算二位无符号数的平方
data segment ;数据段
string db Input a number $
errstr db 0dh,0ah,Error! Please input two digit!,0dh,0ah,$
resstr db 0dh,0ah,The square is $
data ends
;********************************************************
code segment ;代码段
assume cs:code,ds:data
start:
main proc far
push ds ;数据段寄存器初始化
sub
您可能关注的文档
最近下载
- IPC CC-830B CHINESE-2002 涂覆材料验收标准.pdf
- 锅炉、压力容器制造质量手册 —符合TSG07-2019《许可规则》(二篇方案).pdf VIP
- 6篇2025年度民主生活会对照剖析材料(五个带头).docx VIP
- 区县城市生命线安全运行监测系统建设方案.ppt VIP
- 健康养生产业商业计划书.pptx
- 2025年新版《煤矿安全规程》考试题库及答案.docx VIP
- 家禽屠宰场建设可行性方案.pptx VIP
- 隔离开关安装施工方案.docx VIP
- 1、科拓停车场系统--工程人员手册.ppt VIP
- 初中数学教学中跨学科项目式学习的实践探索课题报告教学研究课题报告.docx
原创力文档

文档评论(0)