标 志 名 溢出Overflow(是/否) 方向Direction(减量/增量) 中断Interrupt(允许/屏蔽) 符号Sign(负/正) 零Zero(是/否) 辅助进位Auxiliary Carry(是/否) 奇偶Parity(偶/奇) 进位Carry(是/否) 2)显示和修改某个指定寄存器内容,格式为:
-R 寄存器名 例如打入:-R AX 系统将响应如下:
AX FIF4 :
置 位 OV DN EI NG ZR AC PE CY 复 位 NV UP DI PL NZ NA PO NC 表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,打入修改
后内容,如:
-R BX BX 0369 :059F
则BX内容由0369改为059F
3)显示和修改标志位状态,命令格式为:
-RF
系统将给出响应,如 OV DN EI NG ZR AC PE CY-
这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如 OV DN EI NG ZR AC PE CY-PONZDINV
命名命令N,格式为:
(8)
-N 文件名
此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L或W命令把文件装入内
5
存进行调试或者存盘。 (9)
装入命令L,它有两种功能:
1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为: -L 地址 驱动器 扇区号 扇区数 2)装入指定文件,格式为: -L [地址]
此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。 在用L命令前,BX和CX中应包含所读文件的字节数。 (10)写命令W,有两种格式:
1)把数据写入磁盘的指定扇区: -W 地址 驱动器 扇区号 扇区数 2)把数据写入指定文件中: -W [地址]
此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。在
用W命令前,BX和CX中应包含要写入文件的字节数。 (11)退出DEBUG命令Q,该命令格式为
Q
它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存
盘,应在执行Q命令前先执行写命令W。 (二)程序的调试与运行
编写程序比较两个字符串string1和string2所含的字符是否相同。若相同显示’match’,否则,显示’no match’ 三.实验要求:
实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。 四.调试步骤
1.编辑源程序,建立一个以后缀为 .ASM的文件.
2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。
3.连接目标程序,产生可执行程序。
6
4.用DEBUG程序调试可执行程序,观察每次比较的结果。
datarea segment
string1 db 'move the cursor backward,' string2 db 'move the cursor forward.' ;
mess1 db 'match.','$' mess2 db 'no match!','$' datarea ends; prognam segment main proc far
assume cs:prognam,ds:datarea,es:datarea start: push ds sub ax,ax push ax
mov ax,datarea mov ds,ax mov es,ax lea si,string1 lea di,string2 cld
mov cx,25 repz cmpsb jz match lea dx,mess2 jmp short disp match:
lea dx,mess1 disp:
mov ah,09 int 21h ret
main endp prognam ends; end start
7
实验二 顺序与分支程序设计
一 、实验目的
1) 掌握顺序程序设计方法。
2) 掌握分支程序的结构及分支程序的设计,调试方法。 学习数据传送及算术和逻辑运算指令的用法。
3) 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。 二、实验内容
1) 有一字变量BUF1是以原码表示的有符号数,要求将其转换为反码和补码,分别存入BUF2和BUF3单元,并在屏幕上显示出来。
2)有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。相加若有进位不存入存储单元。
3) 在BUF和BUF+1、BUF+2单元分别放有一个无符号字节型数,编程序将其中最大数存入MAX单元,并在屏幕上显示。
4) 从键盘上接收两个一位十六进制数X和Y,然后再输入一个A-D之间的一个字符,按下列要求计算。
a) 当输入字符为A,则计算X+Y,并以十六进制形式显示出来 b) 当输入字符为B,则计算|X-Y|,并以十六进制形式显示出来 c) 当输入字符为C,则计算X*Y,并以十六进制形式显示出来 d) 当输入字符为D,则计算X/Y,并以十六进制形式显示出来 三、实验设备
PC机一台
四、实验准备
1) 分析题目,将程序中的原始数据和最终结果的存取方法确定好。 2) 画出流程图。 3) 写出源程序。
4) 对程序中的结果进行分析,并准备好汇编程序及汇编调试的过程。 五、实验步骤 1) 输入源程序。
2) 汇编、连接程序,生成 .EXE文件,执行文件,检查结果。 六、实验报告的要求
8
1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。 2) 说明程序中各部分所用的算法。 3)说明主要符号和所用到寄存器的功能。
4) 总结为什么在设计分支程序时必须解决三个问题:判断、转向和定标号。 5) 说明标志位CF、SF和OF的意义。 6) 上机调试过程中遇到的问题是如何解决的。 7) 对调试源程序的结果进行分析。
实验三 循环与子程序程序设计
一、实验目的
9