本文为《汇编语言程序设计》配套实践。点击链接…进课程主页。
1. 实验目的
- 理解程序在CS和IP寄存器的控制下运行的过程
- 学会由汇编语言源程序到可执行文件的生成过程,学会用Debug运行程序
- 学会在程序中操作栈的方法
- 学会用loop指令编制循环程序解决简单问题
- 学会用bx和loop指令配合访问连贯的内存空间
2. 实验内容
任务1-编制第一个汇编程序
(1)将下面的程序保存为p1.asm,将其生成可执行文件p1.exe。
assume cs:code
code segment
mov ax,0123H
add ax,ax
mov ax,4c00h
int 21h
codesg ends
end
(2)在Debug中单步执行这个程序
在实验报告中,截图说明编辑、编译、连接、运行的各个步骤。
提示:(1)以上程序中有一处错误,请按错误程序输入,体验一下语法错误的相关提示;(2)可参考视频“0402 由源程序到程序运行”和“0403 用Debug跟踪程序的执行”
任务2-栈的操作
先编程序:
(1)将10000H~1000FH这段空间当作栈,初始状态栈是空的(据此设置SS、SP);
(2)设置AX=001AH,BX=001BH;
(3)利用栈,交换AX和BX中的数据。
然后再编译、连接、运行程序。
提示:可参考视频“0402 由源程序到程序运行”和“0403 用Debug跟踪程序的执行”
任务3-循环程序设计(1)
编程序计算2^10,将最后结果保存在dx中
任务4-循环程序设计(2)
编程序,用loop指令计算从1到100的所有整数相加的和,运算结果请保存到寄存器DX中。
任务5-用[bx]和loop联合访问连续的内存单元
编程序,向内存0:200H到0:23FH依次传送数据0~63(3FH),即0:200H中为0,0:201中为1,……依此类推
提示:请参考教材中用[bx]和loop联合访问连续的内存单元