基于32位的 微机原理与接口技术实验指导书 新版(7)

2018-12-20 22:36

ReadChar al ; press any key to continue exit 0 end start

2. 有一个首地址为BUFFER 的N 字节数组,用冒泡排序法使该数组中的数从小到大排序。 3. 显示九九表。

include io32.inc .data

.code start:

mov bh,1 w:

cmp bh,9 ja over mov bl,1 n:

mov al,bh mul bl cmp al,10 jae next WriteChar \ next:

WriteUDecByte al WriteChar \ inc bl cmp bl,bh jna n

WriteCrlf inc bh jmp w over:

ReadChar al ; press any key to continue exit 0 end start 三)实验要求

编写1和3题的流程,记录程序,分析算法。-

实验六、子程序设计和宏

一)实验目的

通过本实验,掌握子程序的定义和调用方法。通过程序调试,进一步理解CALL 指令和RET指令的功能,掌握子程序调用时参数传递的方法。 二)实验内容

1. 十进制到二进制数转换。从键盘取得一个十进制数,将其以二进数形式显示出来。要求定义回车换行子

18

程序、从键盘获得十进制数(0~128 之间),并存放在BL 中的子程序,用二进制显示BL 中数据的子程序。

2. 利用递归程序,计算N!,递归子程序入口参数AL(=N),出口参数DX=(N!)。 3. 求 s=fact(α) + fact(b),fact表示阶乘 ;调用子程序方式 include io32.inc .data

a dd 0 b dd 0 s dw 0

.code start:

ReadUDecDword a ReadUDecDword b

mov ecx,a call fact mov s,ax

mov ecx,b call fact add s,ax

WriteUDecWord s

ReadChar al exit 0

;假设8以内阶乘,入口参数:ECX

fact proc

MOV AX,1 A:

MUL CX LOOP A ret

fact endp

end start ;调用宏方式

include io32.inc

AX 19

出口参数: .data

a dd 0 b dd 0 s dw 0

.code

jiecheng macro n

mov ecx,n

call fact endm start:

ReadUDecDword a ReadUDecDword b

jiecheng (a) mov s,ax

jiecheng b add s,ax

WriteUDecWord s

ReadChar al exit 0

;假设8以内阶乘,入口参数:ECX

fact proc

MOV AX,1 A:

MUL CX LOOP A ret

fact endp

end start

AX 20

出口参数:

三)实验要求

记录实验数据,编程实现实验内容1,绘制流程图。

实验七、 综合实验

一)实验目的

进一步加强对汇编程序设计的理解。 二)实验内容

1.采用交换法实现数据排序。 ; Win32 Consol .exe

include io32.inc .data

;add your data here

A DW 12,45,3,47,88,23,44,56,8,33 jieguo db \ .code start:

; add your code here mov esi,0

MOV ECX,LENGTHOF A aa:

WriteUDecWord A[ESI*(type A)] WriteChar ' ' INC ESI LOOP aa

WriteCrlf

WriteString jieguo

MOV ECX,LENGTHOF A dec ecx MOV ESI,0 W:

CMP ESI,ECX JA OVER

MOV EDI,ESI INC EDI

N: CMP EDI,ECX JA NEXT

21

MOV BX,A[ESI*(TYPE A)] MOV DX,A[EDI*(TYPE A)] CMP BX,DX JNA NEXT1 XCHG BX,DX

MOV A[ESI*(TYPE A)],BX MOV A[EDI*(TYPE A)],DX NEXT1: INC EDI

JMP N NEXT:

WriteUDecWord A[ESI*(type A)] WriteChar ' ' INC ESI JMP W OVER:

ReadChar al ; press any key to continue exit 0 end start

2、实现打字母程序

;MASMPlus 代码模板 - 控制台程序

.386

.model flat, stdcall option casemap :none

include windows.inc include user32.inc include kernel32.inc include masm32.inc include gdi32.inc include io32.inc

includelib gdi32.lib includelib user32.lib includelib kernel32.lib includelib masm32.lib include macro.asm .data

string1 db 'wcw adar is not too difficult a thing for the ordinary man in the street to under-stand. All of us have heard echoes'

db 'we speak in a large hall or before a wall ofrock, and our voices come back to us, echoed by the hard substance which they',0 h db 0

22


基于32位的 微机原理与接口技术实验指导书 新版(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2004年中国人民大学《财务管理学》期末试卷

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

马上注册会员

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