实验四 循环分支程序设计 一&实验目的 1、熟悉汇编语言源程序的编辑、汇编、连接及调试过程。 2、掌握循环及分支程序的设计方法; 3、学会针对不同的问题,选用不同的循环分支结构设计方法; 二&实验环境 微型计算机一台 DOS 或 WINDOWS 操作系统,MASM 开发套件。 三&实验要求 1、使用正确的指令格式和程序结构编写实验内容要求的所有程序; 2、对编写或改写的程序进行汇编连接时,注意对错误信息的处理; 3、熟悉源程序汇编、连接的使用方法。 四&实验内容 1、使用程序1 掌握汇编语言程序上机过程 , 2、阅读程序2,理解程序功能并上机运行,使用 debug 检验结果。 3、编写一个程序,判别键盘上输入的字符;若是 1-9 字符或 A-Z ,则显示之;若为a-z字符,均显示“A-Z”;若是(其 ASCII 码为 1BH),则结束程序。 4、改写任务三中的程序: 输入小写字母 a 时,显示内容为 aA* 输入小写字母 a 时,显示内容为 a*** 输入小写字母 a 时,显示内容为 aa*** 五&实验步骤 1、用 EDIT 编辑软件,编写.ASM 源程序。 2、对其进行汇编及连接,产生.EXE 文件。 3、在 DOS 下运行.EXE 文件进行。 4、实验程序清单 1)程序1: stack segment dw 512 dup(?) stack ends data segment string db 'Hello, Everybody !','$' data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax mov dx,offset string mov ah,9 int 21h mov ax,4c00h int 21h code ends end start 2)程序 2 data segment x db 20h y dw ? data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov al,x mov bl,10 xor ah,ah shl ax,1 mov bx,ax mov cl,2 shl ax,cl add ax,bx mov y,ax mov ax,4c00h int 21h code ends end start 3) 程序 3: data segment message db 'This is a sample program of keyboard and disply' db 0dh,0ah,'Please strike the key!',0dh,0ah,'$' data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx ,offset message mov ah,9 int 21h again: mov ah,1 int 21h cmp al,1bh je ex it cmp al,61h jc nd cmp al,7ah ja nd and al,11011111b nd: mov...