武汉理工大学汇编语言程序设计 课内实验

本文档详细介绍了武汉理工大学汇编语言课程的实验内容,包括熟悉开发环境、顺序程序设计、循环程序设计和子程序设计。每个实验部分包含实验目的、主要内容和步骤,涉及数据传送、算术运算、逻辑运算、移位指令、循环处理和子程序调用等基础知识,旨在帮助学生掌握汇编语言的编程与调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


主要开发环境

DOSBox 0.74-3


以下是本篇文章正文内容,下面案例可供参考

实验一:熟悉汇编程序设计开发调试环境

实验目的

了解汇编语言上机调试的过程;
了解Debug程序在调试程序中的作用;
掌握使用Debug命令调试程序的基本方法;
掌握动态调试程序Debug;
了解各寄存器的功能及内存单元,理解机器寻址方式;
了解基础汇编指令的含义与用法

实验主要内容和步骤

以下给出了几段汇编程序,请在Debug环境中,分别对每段程序使用-a指令进行输入,用-t指令单步运行,并注意观察每条指令的执行结果。
1、 数据传送指令
代码段一:
MOV SP, 00B0 ;SP=?
MOV AX, 8057
MOV BX, 0F79
PUSH AX ;SP=? [SS:SP]=? [SS:(SP+1)]=?
PUSH BX ;SP=? [SS:SP]=? [SS:(SP+1)]=?
PUSH AX ;AX=?

代码段二:
MOV DX, 4652
ADD DX, F0F0
MOV BX, 1000
MOV WORD PTR [BX], A988
ADD WORD PTR [BX], 97F6 ;[1000H]=? [1001H]=?

2、 算术指令
代码段一:
MOV BX, 9548
MOV CX, 28A7
SUB BX, CX ;(BX)=? (CX)=? CF=? ZF=? OF=? SF=?

代码段二:
MOV BX, 6780
NEG BX

代码段三:(无符号数相乘)
MOV AL, B4
MOV BL, 11
MUL BL ;(AX)=? CF=? OF=?

代码段四:(有符号数相乘)
MOV AL, B4
MOV BL, 11
IMUL BL ;(AX)=? CF=? OF=?

代码段五:(无符号数相除)
MOV AX, 400
MOV BL, B4
DIV BL ;(AL)=? (AH)=?

代码段六:(有符号数相除)
MOV AX, 400
MOV BL, B4
IDIV BL ;(AL)=? (AH)=?

代码段七:(DAA指令,完成十进制数28+68=96)
MOV AL, 28
ADD AL, 68 ;(AL)=?
DAA ;(AL)=?

3、 逻辑运算指令
代码段一:下列汇编代码段将寄存器AL内容的0,2,4,6位清零,其余位保持不变,将寄存器BL高4位置1,低4位保持不变,请观察执行结果
MOV AL, 48
AND AL, AA ;(AL)=?
MOV BL, 39
OR BL, F0 ;(BL)=?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值