循环结构程序设计(汇编语言)

2018-11-21 15:11

汇编语言 实验报告

实验名称: 姓 名: 学 号: 班 级:

循环结构程序设计

一、实验内容

1. 用多种循环方法实现1+2+3+…+20的程序(至少二种方法);

2. 编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入;(选做) 3、 编写一个汇编语言程序,要求将BX寄存器内的小写字母用大写字母显示出来。

4、ADDR单元是存放数据的内存单元,要求将该内存单元中的字依次用十六进制数显示出来。

二、实验目的

1. 掌握循环程序的结构。

2. 掌握循环程序的设计、编写及调试方法。

3. 掌握循环程序设计的基本方法。主要掌握几种基本的循环程序设计技巧,如计数法程序设计、当循环、直到循环等程序设计技术。

三、实验结果

1、将内存中的数据块中(BUFF为起始地址)奇数和偶数分别存入以ADDR1和ADDR2开始的存储块中,并分别统计其中的奇、偶数,将统计结果存放在RESULT开始的两个字存储单元中。

实验代码:(1.ASM 1.OBJ 1.EXE) data segment

buff dw 6,35,99,17,80,69,50,33 addr1 dw 8 dup(?) addr2 dw 8 dup(?) result dw 0,0

data ends code segment

assume cs:code,ds:data

start:

mov ax,data mov ds,ax mov cx,8d

mov si,0 mov di,0 mov bx,0 mov dx,0

L1:

test buff[si],0001h je L2 mov ax,buff[si] mov addr2[bx],ax add si,2 add bx,2 inc dl dec cx jmp L1

L2:

mov ax,buff[si] mov addr1[di],ax add di,2 add si,2 inc dh dec cx jmp L1 mov si,0

mov byte ptr result[si],dh add si,2

mov byte ptr result[si],dl

code ends

end start

运行结果如下:

2、不利用乘法指令实现乘法的程序 代码如下:(2.ASM 2.OBJ 2.EXE) data segment

x dw 30d y dw 10d

data ends code segment

assume cs:code,ds:data start:

push ds sub ax,ax push ax mov ax,data mov ds,ax

mov cx,x mov bx,y mov ax,0

L1:

add ax,bx loop L1

mov dx,ax mov ah,2 int 21h

code ends

end start

运行结果如下:

3、用多种循环方法实现1+2+3+…+20的程序(至少二种方法) 代码1:(31.ASM 31.OBJ 31.EXE) DATA SEGMENT X DW 0D Y DW 20D DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

PUSH DS SUB AX,AX PUSH AX

MOV AX,DATA MOV DS,AX MOV BX,X MOV CX,Y MOV AX,0 L1:

INC BX ADD AX,BX LOOP L1 MOV DX,AX MOV AH,2 INT 21H CODE ENDS END START 运行结果1如下:(结果存于DX寄存器中)


循环结构程序设计(汇编语言).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:天然气销售协议

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: