汇编语言循环设计.doc
文本预览下载声明
第二章 实验项目
2.1 循环程序设计
循环程序设计方法。
实验目的及要求
掌握while型循环程序设计方法。
掌握do-while型循环设计方法。
实验内容
ASSUME CS:CODESG
CODESG SEGMENT
START: MOV AX,0DFC1H
MOV BX,16
MOV CX,0
NEXT: SHL AX,1 ;逻辑左移
JC L1 ;cf=1
INC CH ;ch +1
JMP L2 ;跳转到l2
L1: INC CL ;cl+1
L2: DEC BX ; bx-1
JNZ NEXT ; zf=0 跳转 next
INT 21H
CODESG ENDS
END START
题目2.设内存中从STRING开始的字符串,以回车符结束,编写程序,统计该串的实际长度(不包含回车符),统计结果存入CL中。
DATA SEGMENT
pkey DB shiyanjiyilingsanban$,0dh
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX, data
MOV DS, AX
MOV BX,OFFSET pkey
MOV CL ,0
NEXT: MOV AL,[BX]
CMP AL,0dh ;比较指令
JZ EXIT ;zf=1 转移
INC CL ;cl+1
INC BX ;bx +1
JMP NEXT ;跳转到next
EXIT: MOV AX, 4C00H
INT 21H
CODE ENDS
END START
(四)实验报告
1.分析问题,画出程序流程图,写出程序源代码。
题目一对应的流程图是流程图(1),题目二的流程图是流程图(2)。
2.汇编,连接及调试时产生的错误,其原因及解决办法。
遇到的问题:标点符号以及助记符的错误。解决方法:查阅助记符的表示以及含义
3. 观察并记录程序运行过程中执行前2次转移指令时寄存器cs:ip的值。
否
否
是 是
否
s
流程图(2)
流程图(1)
开始
初始化 BX CX
将AX逻辑左移
Cf=1?
结束
开始
ZF=1
初始化开始
AX
AL与ODH比较
AX
AX ,4C00H
CL BX 加 1
CH=CH+1
zf=0?
结束
CH=CH+1
显示全部