精华内容
下载资源
问答
  • 汇编语言程序设计实验报告二分支循环程序实验 实验目的 掌握分支程序循环程序的设计方法 熟悉DEBUG程序的使用方法 掌握汇编语言程序的编辑汇编连接以及调试过程 实验内容 编写一程序将内存中某一区域的数据传送到另...
  • 1、掌握程序设计中的3种基本结构(顺序结构、选择程序、循环程序)。 2、熟练使用汇编语言的指令:数据传送类指令、数据运算类指令、逻辑判断类指令转移指令、循环指令等。 3、初步了解系统功能调用的使用方法,...

    实验目的

    1、掌握程序设计中的3种基本结构(顺序结构、选择程序、循环程序)。

    2、熟练使用汇编语言的指令:数据传送类指令、数据运算类指令、逻辑判断类指令与转移指令、循环指令等。

    3、初步了解系统功能调用的使用方法,尝试使用01H号功能调用进行字符输入的方法及使用02H号功能调用进行字符输出(显示)的方法。

    实验内容

    1. 计算1+2+3+…+10,将结果显示在屏幕上。
    2. 利用01H号功能调用输入10个一位数字,并将其由ASCII码转换为二进制数,依此保存到变量BUF的10个字节中,变量BUF的形式为BUF  DB  10  DUP(?)。编程求出这10个数中的最大数和最小数,将最大数存入MAX单元、最小数存入MIN单元,并将其在屏幕上显示出来。
    3. 对于第2题,怎样修改程序可以同时实现将10个数字的累加功能。(选作)
    4. 对于第2题,若要求输入的是两位数,又该怎么办?(选作)

    设计思想

    1、先将1-10循环求和,为了将结果显示在屏幕上,需要讲计算后保存在ax中的结果以十进制形式输出,可以将结果的两位数分别存于低位和高位中,即除以10取整和余   AL是商,AH是余数,后加上30h。

    2、使用SI寄存器,用于在存储器中寻址。利用循环输入10个数字,将10个数比较,大的放在AL,小的放在BL。利用01H号功能,输出。

    3、结合第1题和第2题。

    4、修改输入。

    程序代码

    1

    code segment
    	main proc far
    	assume cs:code
    start:
    	push ds
    	sub ax,ax
    	push ax
    	mov bx,0ah
    	mov cx, 0ah
    sum1:
    	add ax,bx
    	dec bx
    	loop sum1
    printit:
    	mov bl,10
    	div bl
    	add al,30h
    	mov ch,ah
    	mov dl,al
    	mov ah,2
    	int 21h
    	add ch,30h
    	mov dl,ch
    	mov ah,2
    	int 21h
    	ret
    	main endp
    	code ends
    end
    

    2

    data segment         ;数据段定义开始
        buf db 10 dup(?)      ;数据定义及其存储空间
        max db ?
        min db ?
        Str1 db 0DH,0AH,'Please input: ','$'  	 ;定义Str1的内容
        Str2 db 0DH,0AH,'MAX:','$'      	 ;定义Str2的内容
        Str3 db 0DH,0AH,'MIN:','$'        	 ;定义Str3的内容
    data ends    ;数据段定义结束  
    
    Stack segment stack   ;堆栈段定义开始
        db 10 dup(?)
    stack ends      ;堆栈段定义结束
    
    code segment    ;代码段定义开始
    main proc far     
        assume cs:code,ds:data,ss:stack
    start:    					
        push ds       
        sub ax,ax
        push ax
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov cx,10
        mov si,0      ;寄存器,用于寻址
        mov bx,0
    lop1:				
        lea dx,Str1  
        mov ah,09
        int 21h
        mov ah,01h    ; 输入
        int 21h
        mov buf[si],al
        inc si
        loop lop1    ;返回循环1
        mov cx,9
        mov si,0
        mov al,buf[si]
        mov bl,al
    lop2:
        inc si   
        mov dl,buf[si]
        cmp dl,al
        jl compare1
        mov al,dl
    compare1:
        cmp bl,dl 		 ;比较,小的数放在bl
        jl compare2
        mov bl,dl
    compare2:
        loop lop2   
        mov max,al   
        mov min,bl 
        lea dx,Str2
        mov ah,09
        int 21h
        mov dl,max
        mov ah,02h                  
        int 21h       	;输出最大数
        lea dx,Str3
        mov ah,09
        int 21h
        mov dl,min
        mov ah,02h                  
        int 21h       	;输出最小数
        ret 
        main endp
        code ends    
    end start
    

    3

    data segment         ;数据段定义开始
        buf db 10 dup(?)      ;数据定义及其存储空间
        max db ?
        min db ?
        Str1 db 0DH,0AH,'Please input: ','$'  	 ;定义Str1的内容
        Str2 db 0DH,0AH,'MAX:','$'      	 ;定义Str2的内容
        Str3 db 0DH,0AH,'MIN:','$'        	 ;定义Str3的内容
        Str4 db 0DH,0AH,'SUM:','$'        	 ;定义Str4的内容
    data ends    ;数据段定义结束  
    
    Stack segment stack   ;堆栈段定义开始
        db 10 dup(?)
    stack ends      ;堆栈段定义结束
    
    code segment    ;代码段定义开始
    main proc far     
        assume cs:code,ds:data,ss:stack
    start:    					
        push ds       
        sub ax,ax
        push ax
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov cx,10
        mov si,0      ;寄存器,用于寻址
        mov bx,0
    lop1:				
        lea dx,Str1  
        mov ah,09
        int 21h
        mov ah,01h    ; 输入
        int 21h
        mov buf[si],al
        inc si
        loop lop1    ;返回循环1
        mov cx,9
        mov si,0
        mov al,buf[si]
        mov bl,al
    lop2:
        inc si   
        mov dl,buf[si]
        cmp dl,al
        jl compare1
        mov al,dl
    compare1:
        cmp bl,dl 		 ;比较,小的数放在bl
        jl compare2
        mov bl,dl
    compare2:
        loop lop2   
        mov max,al   
        mov min,bl 
        lea dx,Str2
        mov ah,09
        int 21h
        mov dl,max
        mov ah,02h                  
        int 21h       	;输出最大数
        lea dx,Str3
        mov ah,09
        int 21h
        mov dl,min
        mov ah,02h                  
        int 21h       	;输出最小数
        lea dx,Str4
        mov ah,09
        int 21h
        sub ax,ax
        mov bx,0
        mov cx,9
        mov si,0
    sum1:
        inc si   
        mov bl,buf[si]
        sub bl,30h
        add ax,bl
        loop sum1
    printit:
        mov bl,10
        div bl
        add al,30h
        mov ch,ah
        mov dl,al
        mov ah,2
        int 21h
        add ch,30h
        mov dl,ch
        mov ah,2
        int 21h
        ret
        main endp
        code ends    
    end start
    

    4

    data segment         ;数据段定义开始
        buf db 10 dup(?)      ;数据定义及其存储空间
        max db ?
        min db ?
        Str1 db 0DH,0AH,'Please input: ','$'  	 ;定义Str1的内容
        Str2 db 0DH,0AH,'MAX:','$'      	 ;定义Str2的内容
        Str3 db 0DH,0AH,'MIN:','$'        	 ;定义Str3的内容
    data ends    ;数据段定义结束  
    
    Stack segment stack   ;堆栈段定义开始
        db 10 dup(?)
    stack ends      ;堆栈段定义结束
    
    code segment    ;代码段定义开始
    main proc far     
        assume cs:code,ds:data,ss:stack
    start:    					
        push ds       
        sub ax,ax
        push ax
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov cx,10
        mov si,0      ;寄存器,用于寻址
        mov bx,0
    lop1:				
        lea dx,Str1  
        mov ah,09h
        int 21h
        mov ah,01h ; 输入1
        int 21h
        sub al,30h
        mov ah,0
        mov bl,10
        mul bl
        mov dl,al
        mov ah,01h ; 输入2
        int 21h
        sub al,30h
        mov ah,0
        add al,dl
        mov buf[si],al
        inc si
        loop lop1    ;返回循环1
        mov cx,9
        mov si,0
        mov al,buf[si]
        mov bl,al
    lop2:
        inc si   
        mov dl,buf[si]
        cmp dl,al
        jl compare1
        mov al,dl
    compare1:
        cmp bl,dl 		 ;比较,小的数放在bl
        jl compare2
        mov bl,dl
    compare2:
        loop lop2   
        mov max,al   
        mov min,bl 
    printmax:
        lea dx,Str2
        mov ah,09
        int 21h
        mov ax,0
        mov al,max
        mov bl,10
        div bl
        add al,30h
        mov ch,ah
        mov dl,al
        mov ah,2
        int 21h
        add ch,30h
        mov dl,ch
        mov ah,2
        int 21h
    printmin:
        lea dx,Str3
        mov ah,09
        int 21h
        mov ax,0
        mov al,min
        mov bl,10
        div bl
        add al,30h
        mov ch,ah
        mov dl,al
        mov ah,2
        int 21h
        add ch,30h
        mov dl,ch
        mov ah,2
        int 21h
        ret
        main endp
        code ends    
    end start
    

    结果分析

    1

    2

    3

    4

    参考文章

    https://blog.csdn.net/csj41352/article/details/79981434

    https://zhidao.baidu.com/question/562479802788685844.html

    https://wenku.baidu.com/view/af740cdc19e8b8f67d1cb92f.html

    展开全文
  • 汇编实验分支与循环程序设计

    千次阅读 2020-04-28 22:22:47
    1、掌握程序设计中的3种基本结构(顺序结构、选择程序、循环程序)。 2、熟练使用汇编语言的指令:数据传送类指令、数据运算类指令、逻辑判断类指令转移指令、循环指令等。 3、初步了解系统功能调用的使用方法,尝试...

    一、实验目的

    1、掌握程序设计中的3种基本结构(顺序结构、选择程序、循环程序)。
    2、熟练使用汇编语言的指令:数据传送类指令、数据运算类指令、逻辑判断类指令与转移指令、循环指令等。
    3、初步了解系统功能调用的使用方法,尝试使用01H号功能调用进行字符输入的方法及使用02H号功能调用进行字符输出(显示)的方法。

    二、实验环境与设备

    计算机一台,并且安装Windows操作系统和macro assembler 5.0以上版本的系统软件。

    三、预备知识

    1、掌握汇编语言程序的上机步骤
    2、掌握DEBUG的使用方法
    3、掌握汇编语言的指令:
    ( 1 )数据传送类指令。
    ( 2 )数据运算类指令。
    ( 3 )逻辑判断类指令。
    ( 4 )与转移指令。
    ( 5 )循环指令等。

    四、程序说明

    1.计算1+2+3+…+10,将结果显示在屏幕上。
    2.利用01H号功能调用输入10个一位数字,并将其由ASCII码转换为二进制数,依此保存到变量BUF的10个字节中,变量BUF的形式为BUF DB 10 DUP(?)。编程求出这10个数中的最大数和最小数,将最大数存入MAX单元、最小数存入MIN单元,并将其在屏幕上显示出来。
    3.对于第2题,怎样修改程序可以同时实现将10个数字的累加功能。(选作)
    4.对于第2题,若要求输入的是两位数,又该怎么办?(选作)

    五、程序代码

    程序一

    CODE SEGMENT
    MAIN PROC FAR
    	ASSUME CS:CODE
    START:
    		PUSH DS
    		XOR AX,AX
    		PUSH AX
    		MOV BX,10	;1-10
    		MOV CX,10	;循环次数
    NEXT:	ADD AX,BX	;累加
    		DEC BX		;数字递减
    		LOOP NEXT
    PRINT:	
    		MOV BL,10
    		DIV BL		;除以10
    		ADD AL,30H	;十六进制表示的ASCII码值
    		MOV CH,AH	
    		MOV DL,AL	;输出高位数
    		MOV AH,2
    		INT 21H
    		ADD CH,30H
    		MOV DL,CH	;输出低位数
    		MOV AH,2
    		INT 21H
    		RET
    MAIN ENDP
    CODE ENDS
    	END START
    
    

    程序二

    DATA SEGMENT
    	BUF DB 10 DUP(?)
    	MAX DB ?
    	MIN DB ?
    	Str1 DB 0DH,0AH,'Please input:','$'
    	Str2 DB 0DH,0AH,'MAX:','$'
    	Str3 DB 0DH,0AH,'MIN:','$'
    DATA ENDS
    CODE SEGMENT
    MAIN PROC FAR
    	ASSUME CS:CODE,DS:DATA
    START:
    		PUSH DS
    		XOR AX,AX
    		PUSH AX
    		MOV AX,DATA
    		MOV DS,AX
    		MOV CX,10		;十次输入
    		MOV BX,0
    		MOV SI,0
    INPUT:	
    		LEA DX,Str1		;输出提示
    		MOV AH,09
    		INT 21H
    		MOV AH,01H		;输入
    		INT 21H
    		SUB AL,30H
    		MOV BUF[SI],AL
    		INC SI			;位移+1
    		LOOP INPUT		;循环输入
    		MOV CX,9		;比较9次
    		MOV SI,0		;位移初始为0
    		MOV AL,BUF[SI]	;AL存放最大值
    		MOV BL,AL		;BL存放最小值
    NEXT:	INC SI
    		MOV DL,BUF[SI]
    		CMP DL,AL		
    		JL LESS			;小于当前最大值跳转
    		MOV AL,DL		;改变最大值
    		JMP MORE
    LESS:	CMP BL,DL
    		JL MORE			;大于当前最小值跳转
    		MOV BL,DL		;改变最小值
    MORE:	LOOP NEXT		;循环比较
    		MOV MAX,AL		;存储到对应单元
    		MOV MIN,BL
    		LEA DX,Str2
    		MOV AH,09
    		INT 21H
    		MOV DL,MAX		;输出最大值
    		ADD DL,30H
    		MOV AH,02H
    		INT 21H
    
    		LEA DX,Str3
    		MOV AH,09
    		INT 21H
    		MOV DL,MIN 		;输出最小值
    		ADD DL,30H
    		MOV AH,02H
    		INT 21H
    		RET
    MAIN ENDP
    CODE ENDS
    	END START
    
    

    程序三

    DATA SEGMENT
    	BUF DB 10 DUP(?)
    	MAX DB ?
    	MIN DB ?
    	SUM DB 0
    	Str1 DB 0DH,0AH,'Please input:','$'
    	Str2 DB 0DH,0AH,'MAX:','$'
    	Str3 DB 0DH,0AH,'MIN:','$'
    	Str4 DB 0DH,0AH,'SUM:','$'
    DATA ENDS
    CODE SEGMENT
    MAIN PROC FAR
    	ASSUME CS:CODE,DS:DATA
    START:
    		PUSH DS
    		XOR AX,AX
    		PUSH AX
    		MOV AX,DATA
    		MOV DS,AX
    		MOV CX,10		;十次输入
    		MOV BL,0
    		MOV SI,0
    INPUT:	
    		LEA DX,Str1		;输出提示
    		MOV AH,09
    		INT 21H
    		MOV AH,01H		;输入
    		INT 21H
    		SUB AL,30H
    		MOV BUF[SI],AL
    		INC SI			;位移+1
    		LOOP INPUT
    		MOV CX,9
    		MOV SI,0
    		MOV AL,BUF[SI]	;AL存放最大值
    		MOV BL,AL		;BL存放最小值
    NEXT:	INC SI
    		MOV DL,BUF[SI]
    		CMP DL,AL
    		JL LESS			;小于当前最大值跳转
    		MOV AL,DL		;改变最大值
    		JMP MORE
    LESS:	CMP BL,DL		
    		JL MORE			;大于当前最小值跳转
    		MOV BL,DL		;改变最小值
    MORE:	LOOP NEXT
    		MOV MAX,AL
    		MOV MIN,BL
    
    		MOV SI,0
    		MOV CX,10
    		MOV BL,0
    AA:		
    		ADD BL,BUF[SI]	;计算累加和
    		INC SI			;位移+1
    		LOOP AA
    
    		LEA DX,Str2
    		MOV AH,09
    		INT 21H
    		MOV DL,MAX		;输出最大值
    		ADD DL,30H
    		MOV AH,02H
    		INT 21H
    
    		LEA DX,Str3
    		MOV AH,09
    		INT 21H
    		MOV DL,MIN 		;输出最小值
    		ADD DL,30H
    		MOV AH,02H
    		INT 21H
    
    		LEA DX,Str4
    		MOV AH,09
    		INT 21H
    		MOV AL,BL 	
    		MOV AH,0		;AH置0,使用CBW也可
    		MOV BL,10
    		DIV BL		
    		ADD AL,30H	
    		MOV CH,AH
    		MOV DL,AL		;输出和
    		MOV AH,2
    		INT 21H
    		ADD CH,30H
    		MOV DL,CH
    		MOV AH,2
    		INT 21H
    		RET
    MAIN ENDP
    CODE ENDS
    	END START
    
    
    

    程序四

    DATA SEGMENT
    	BUF DB 10 DUP(?)
    	MAX DB ?
    	MIN DB ?
    	Str1 DB 0DH,0AH,'Please input:','$'
    	Str2 DB 0DH,0AH,'MAX:','$'
    	Str3 DB 0DH,0AH,'MIN:','$'
    DATA ENDS
    CODE SEGMENT
    MAIN PROC FAR
    	ASSUME CS:CODE,DS:DATA
    START:
    		PUSH DS
    		XOR AX,AX
    		PUSH AX
    		MOV AX,DATA
    		MOV DS,AX
    		MOV CX,10
    		MOV BX,0
    		MOV SI,0
    INPUT:	
    		LEA DX,Str1
    		MOV AH,09
    		INT 21H
    		MOV AH,01H		;输入
    		INT 21H
    		SUB AL,30H		;ASCII转换十六进制
    		MOV AH,0
    		MOV BL,10
    		MUL BL			;×10
    		MOV DL,AL
    		MOV AH,01H
    		INT 21H
    		SUB AL,30H
    		MOV AH,0
    		ADD AL,DL		;相加
    		MOV BUF[SI],AL
    		INC SI
    		LOOP INPUT		;循环输入
    		MOV CX,9
    		MOV SI,0
    		MOV AL,BUF[SI]	;AL存放最大值
    		MOV BL,AL		;BL存放最小值
    NEXT:	
    		INC SI
    		MOV DL,BUF[SI]
    		CMP DL,AL
    		JL LOOP1		;小于当前最大值跳转
    		MOV AL,DL		;改变最大值
    LOOP1:	
    		CMP BL,DL		
    		JL LOOP2		;大于当前最小值跳转
    		MOV BL,DL		;改变最小值
    LOOP2:
    		LOOP NEXT
    		MOV MAX,AL
    		MOV MIN,BL
    PRINTMAX:	
    		LEA DX,Str2
    		MOV AH,09
    		INT 21H
    		MOV AX,0
    		MOV AL,MAX		;输出最大值
    		MOV BL,10
    		DIV BL
    		ADD AL,30H		;转换为ASCII码
    		MOV DL,AL
    		MOV CH,AH
    		MOV AH,02H
    		INT 21H
    		ADD CH,30H
    		MOV DL,CH
    		MOV AH,02H
    		INT 21H
    PRINTMIN:
    		LEA DX,Str3
    		MOV AH,09
    		INT 21H
    		MOV AX,0
    		MOV AL,MIN 		;输出最小值
    		MOV BL,10
    		DIV BL
    		ADD AL,30H
    		MOV DL,AL
    		MOV CH,AH
    		MOV AH,02H
    		INT 21H
    		ADD CH,30H
    		MOV DL,CH
    		MOV AH,02H
    		INT 21H
    		RET
    MAIN ENDP
    CODE ENDS
    	END START
    
    

    六 、实验结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 1、实验三分支程序循环程序设计实验一、实验目的1. 掌握分支程序的结构。2. 掌握分支程序的设计、调试方法。3. 加深对循环结构的理解。4. 掌握循环结构程序设计的方法以及调试方法。二、实验设备PC 机一台, TD-...

    《微机原理实验之_分支程序、循环程序设计》由会员分享,可在线阅读,更多相关《微机原理实验之_分支程序、循环程序设计(6页珍藏版)》请在人人文库网上搜索。

    1、实验三分支程序、循环程序设计实验一、实验目的1. 掌握分支程序的结构。2. 掌握分支程序的设计、调试方法。3. 加深对循环结构的理解。4. 掌握循环结构程序设计的方法以及调试方法。二、实验设备PC 机一台, TD-PITE 实验装置一套。三、实验内容:设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图1 所示。图 3-1 源数据块与目的数据块在存储中的位置情况对于两个数据块分离的情况,如图3-1 ( a),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。 但是对于有重叠的情。

    2、况, 则要加以分析, 否则重叠部分会因“搬移”而遭到破坏,可有如下结论:当源数据块首地址目的块首地址时,从数据块末地址开始传送数据,如图当源数据块首地址目的块首地址时,从数据块首地址开始传送数据,如图参考流程:如图 3-2 所示。3-1 ( b)所示。3-1 ( c)所示。图 3-2程序流程图实验程序STACKSEGMENT STACKDW 64 DUP(?)STACKENDSCODESEGMENTASSUME CS:CODESTART:MOV CX, 0010HMOV SI, 3100HMOV DI, 3200HCMP SI, DIJA A2ADD SI, CXADD DI, CXDEC S。

    3、IDEC DIA1:MOV AL, SIMOV DI, ALDEC SIDEC DIDEC CXJNE A1JMP A3A2:MOV AL, SIMOV DI, ALINC SIINC DIDEC CXJNE A2A3:JMP A3CODEENDSEND START实验步骤1. 按流程 写 程序, 、 接无 后装入系 ;2.用 E 命令在以SI 起始地址的 元中填入16 个数;3. 运行程序,然后再停止运行;4.通 D命令 看 DI 起始地址的 元中的数据是否与SI 单元中数据相同;5.通 改 SI 、DI 的 , 察在三种不同的数据 情况下程序的运行情况,并 程序的功能。2. 算 S 123。

    4、3445 N(N1) ,直到 N(N 1) 大于 200 止。写 程序, 算上式的 果,参考流程 如 3-3 所示。图 3-3 程序流程 实验程序STACKSEGMENT STACKDW 64 DUP(?)STACKENDSCODESEGMENTASSUME CS:CODESTART:MOV DX,0001HMOV BL,02HA1:MOV AL,BLINC BLMUL BLADD DX,AX; 结果存于 DX中CMP AX,00C8H; 判断 N(N+1) 与 200 的大小JNA A1A2:JMP A2CODEENDSEND START实验步骤(1)编写实验程序,编译、链接无误后装入系统;。

    5、(2)运行程序,然后再停止程序运行;(3)运算结果存储在寄存器DX中,查看结果是否正确;(4)可以改变 N( N1)的条件来验证程序功能是否正确,但要注意,结果若大于FFFFH将产生数据溢出。2. 求某数据区内负数的个数设数据区的第一单元存放区内单元数据的个数, 从第二单元开始存放数据, 在区内最后一个单元存放结果。 为统计数据区内负数的个数, 需要逐个判断区内的每一个数据, 然后将所有数据中凡是符号位为 1 的数据的个数累加起来,即得到区内所包含负数的个数。实验程序流程图如图 3-4 所示。图 3-4 程序流程图实验程序STACKSEGMENT STACKDW 64 DUP(?)STACKE。

    6、NDSCODESEGMENTASSUME CS:CODESTART:MOV DI, 3000H; 数据区首地址MOV CL, DI; 取数据个数XOR CH, CHMOV BL, CHINC DI; 指向第一个数据A1:MOV AL, DITEST AL, 80H; 检查数据首位是否为 1JE A2INC BL; 负数个数加 1A2:INC DILOOP A1MOV DI, BL; 保存结果A3:JMP A3CODEENDSEND START实验步骤( 1)按实验流程编写实验程序;( 2)编译、链接无误后装入系统;( 3)键入 E3000,输入数据如下:3000 06 (数据个数)3001 123002 883003 823004 903005 223006 33(4)先运行程序,然后停止程序运行;(5)查看 3007 内存单元或寄存器BL 中的内容,结果应为03;(6)可以进行反复测试来验证程序的正确性。(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注。

    展开全文
  • 微机原理实验之_分支程序循环程序设计实验分支程序循环程序设计实验一、实验目的1、掌握分支程序的结构。2、掌握分支程序的设计、调试方法。3、加深对循环结构的理解。4、掌握循环结构程序设计的方法以及调试...

    微机原理实验之_分支程序循环程序设计

    实验三分支程序、循环程序设计实验

    一、实验目的

    1、掌握分支程序的结构。

    2、掌握分支程序的设计、调试方法。

    3、加深对循环结构的理解。

    4、掌握循环结构程序设计的方法以及调试方法。

    二、实验设备

    PC机一台,TD-PITE实验装置一套。

    三、实验内容:

    设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。源数据块与目的数据块在存储中可能有三种情况,如图1所示。

    图3-1 源数据块与目的数据块在存储中的位置情况

    对于两个数据块分离的情况,如图3-1(a),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。但就是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论:

    当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图3-1(b)所示。

    当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图3-1(c)所示。

    参考流程:如图3-2所示。

    展开全文
  • 分支循环和排序程序设计实验 码文不易,如果帮助到您,希望您可以帮我刷一下点击量,您无害,我有益谢谢 支持原创 。   欢迎大家阅读我的博客,如果有错误请指正,有问题请提问,我会尽我全力改正...
  • 1、掌握程序设计中的3种基本结构(顺序结构、选择程序、循环程序)。 2、熟练使用汇编语言的指令:数据传送类指令、数据运算类指令、逻辑判断类指令转移指令、循环指令等。 3、初步了解系统功能调用的使用方法,...
  • 实验七 分支与循环程序设计实验 自己写的实验报告,别完全抄袭哦
  • 深 圳 大 学 验 报 告 课程名称 微机原理技术 实验项目名称 分支循环程序设计实验 学院 信息工程学院 专业 电子信息工程 指导教师 代明军 报告人 吴晓欣 学号 2013800464 班级 电子 4 班 实验时间 2015 年 实验...
  • C语言程序设计实验报告选择与循环结构程序设计学 生 验 报 告学 院: 软件通信工程学院课程名称: C++程序设计专业班级: 通信121姓 名:学 号:学生实验报告(2)学生姓名学号0124036同组人实验项目选择与循环...
  • 1、掌握顺序和循环程序结构和设计方法; 2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。 二. 实验内容 1、X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编...
  • 分支与循环程序设计实验,报告 Compilation of reports 20XX 报 告 汇 编 报告文档借鉴学习 2 实验名称 分支与循环程序设计实验 指导教师 罗志祥 专业班级 光电 1406 姓名 段昳晖 学号 Uxx* _ 137* 一任务要求 1....
  • 实验循环结构程序设计 (解答 ) 1改错题 1下列程序的功能为求 1 100 之和和值为 5050 并输出请纠正程序中存在 错误使程序实现其功能程序以文件名 sy4_1.c 存盘 #include <stdio.h> main) { int i,sum=0;...
  • NUMPAGES 汇编语言实验报告 实验四 分支和循环程序设计实验设计性实验 班级 姓名 学号 实验日期 实验四 分支和循环程序设计实验设计性实验 一实验要求和目的 1熟悉汇编语言程序设计结构 2熟悉汇编语言分支程序基本...
  • 学 生 验 报 告学 院: 软件通信工程学院课程名称: C++与程序设计专业班级: 通信121姓 名:学 号:学生实验报告(2)学生姓名学号0124036同组人实验项目选择与循环结构程序设计□必修 □选修□演示性实验 □...
  • 从键盘输入一个字符,判断该字符是小写字母、大写字母、数字或其他字符,并给出相应的提示。
  • 2. 编制程序,把输入的字符串中小写换大写,大写换小写,其它字符不变,并把处理后的字符串输出。 3. 编制程序,统计一个班的成绩,分成80—100、60—79、60以下三个区段统计,并保存统计结果到数据段。
  • 实验分支结构程序设计班级:物流191 姓名:郭森 学号:3190505134指导老师:修宇 日期:2020.4.3 成绩:【实验名称】实验分支结构程序设计(设计性实验)【实验目的】(1)学会正确使用比较运算符比较表达式、...
  • 基础的循环结构的程序代码测试,加强循环结构的理解。编程题: 求1000以内的水仙花数。
  • 掌握分支与循环结构的程序设计 掌握常用dos功能操作 程序流程图: 实现代码: DATA SEGMENT BUF DB 30 ;缓冲区长度 DB ? ;输入字符串的长度 DB 30 DUP(?) ;实际输入内容 CRLF DB 0AH,0DH,0AH,'$' MSG1 DB '...
  • 实验报告要求 实验内容1为必做...执行记录 执行记录 2每个内容要求有程序框图与程序清单每条指令注释 每个内容要求有程序框图与程序清单每条指令注释 实验报告应包括实验目的实验内容实验步骤 3实验报告应包括实验
  • 掌握分支程序设计调试方法 3.加深对循环结构了解 4.掌握循环结构程序设计方法和调试方法 二试验设备 PC机一台TD-PITE试验装置一套 三试验内容 设计一数据块间搬移程序设计思想程序要求把内存中一数据区称为源数据块...
  • 汇编语言 实验循环结构和分支结构程序设计 一、编写程序把 BX 寄存器内的二进制数用十六进制数的形式在屏幕上显示出来。 提示:参考书本p161-例5.1 思路 我们在将进制转换的时候是需要倒着处理的,BX是两个字节也...
  • 2.编写程序计算Y的值,当X<0时,Y=-1;当X=0时,Y=0,当X>0时,Y=1,其中,输入数据X和输出数据Y均在数据段中定义,且皆为字节变量。 输入变量的初值定义: 输出结果的保存说明: 3.编写自命题的程序(可...
  • 实验三 分支程序循环程序设计实验 一实验目的 1.掌握分支程序的结构 2.掌握分支程序的设计调试方法 3.加深对循环结构的理解 4.掌握循环结构程序设计的方法以及调试方法 二实验设备 PC机一台TD-PITE实验装置一套 三...
  • 分支循环程序设计实验报告.doc
  • 分支循环程序设计实验报告.doc
  • 实验三 分支程序循环程序设计实验 一实验目的 1.掌握分支程序的结构 2.掌握分支程序的设计调试方法 3.加深对循环结构的理解 4.掌握循环结构程序设计的方法以及调试方法 二实验设备 PC 机一台 TD-PITE 实验装置一套 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,240
精华内容 5,696
关键字:

循环程序与分支程序设计实验