当前位置:文档之家› 昆明理工大学微机原理实验报告

昆明理工大学微机原理实验报告

昆明理工大学微机原理实验报告
昆明理工大学微机原理实验报告

昆明理工大学电力工程学院学生实验报告

实验课程名称:微机原理及应用

开课实验室:计算机302 2017年5月9日

点击“继续”按钮,点击“新建”按钮

选择“EXE模板

编程练习一

3、编程练习二

汇编源程序清单

练习1

; EXE format allows several segments - for stack, data and code. TITLE 8086 Code Template (for EXE file)

; AUTHOR emu8086

; DATE ?

; 8086 Code Template

DSEG SEGMENT 'DATA'

; TODO: add your data here!!!!

DATA1 DW 0F865H

DATA2 DW 360CH

DSEG ENDS

SSEG SEGMENT STACK 'STACK'

DW 100h DUP(?)

SSEG ENDS

CSEG SEGMENT 'CODE'

START PROC FAR

; Store return address to OS:

PUSH DS

MOV AX, 0

PUSH AX

; set segment registers:

MOV AX, DSEG

MOV DS, AX

MOV ES, AX

; TODO: add your code here!!!!

LEA SI,DATA1

MOV AX, DATA1

ADD AX, DATA2

MOV [2800H], AX

HLT

; return to operating system:

RET

START ENDP

CSEG ENDS

END START ; set entry point.

练习2

; EXE format allows several segments - for stack, data and code.

TITLE 8086 Code Template (for EXE file)

; AUTHOR emu8086

; DATE ?

; 8086 Code Template

DSEG SEGMENT 'DATA'

; TODO: add your data here!!!!

DATA1 DW 0F865H

DATA2 DW 360CH

DSEG ENDS

SSEG SEGMENT STACK 'STACK'

DW 100h DUP(?)

SSEG ENDS

CSEG SEGMENT 'CODE'

START PROC FAR

; Store return address to OS:

PUSH DS

MOV AX, 0

PUSH AX

; set segment registers:

MOV AX, DSEG

MOV DS, AX

MOV ES, AX

; TODO: add your code here!!!!

LEA SI,DATA1

MOV AX, DATA1

ADD AX, DATA2

MOV [2800H], AX

POP DX

POP BX

HLT

; return to operating system:

RET

START ENDP

CSEG ENDS

END START ; set entry point.

昆明理工大学电力工程学院学生实验报告实验课程名称:微机原理及应用

开课实验室:计算机308 2017年5月11日

汇编源程序清单

MLENGTH=128 ;缓存区长度

DATA SEGMENT

STR1 DB MLENGTH ;符合0AH功能调用所需的缓冲区DB 0 ;实际键入的字符数

DB MLENGTH DUP(0)

MESS1 DB 'PLEASE INPUTE STR1:$' ;提示输入一个字符STR1 MESS2 DB 'THE NUMBER OF DIGITAL:$' ;数字个数输出提示MESS3 DB 'THE NUMBER OF LITTER:$' ;字符个数输出提示N DW 30 ;

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,ES:DATA,CS:CODE

START: MOV AX,DATA

MOV DS,AX ;设置DS

MOV ES,AX

MOV DX,OFFSET MESS1 ;显示提示语

CALL DISPMESS

MOV DX,OFFSET STR1

MOV AH,0AH ;接收一个字符串

INT 21H

CALL NEWLINE

MOV BH,0 ;清数字字符计数器

MOV BL,0 ;清字母字符计数器

MOV CL,STR1+1 ;取字符串长度

MOV CH,0

JCXZ COK ;若字符串长度等于零,不统计

MOV SI,OFFSET STR1+2 ;指向字符串首地址

AGAIN: MOV AL,[SI] ;取一个字符

INC SI ;调整数据指针,指向下一个数据

CMP AL,'0' ;判断是否为数字字符

JB NEXT ;小于'0',不属于统计字符,转向取一个字符

CMP AL,'9'

JA NODEC ;大于'9',不属于统计字符,转向取一个字符

INC BH ;'0'-'9',数字字符计数加1

JMP SHORT NEXT ;转向取一个字符

NODEC: OR AL,20H ;转小写

CMP AL,'a' ;判断是否是字母字符

JB NEXT

CMP AL,'z'

INC BL ;字母字符计数加1

NEXT: LOOP AGAIN

COK: MOV DX,OFFSET MESS2

CALL DISPMESS

MOV AL,BH

XOR AH,AH

CALL DISPAL ;显示数字字符个数

CALL NEWLINE

MOV DX,OFFSET MESS3

CALL DISPMESS

MOV AL,BL

XOR AH,AH

CALL DISPAL ; 显示字母字符个数

CALL NEWLINE

JMP RETU ;宏跳转

DISPAL PROC NEAR

MOV CX,3 ;8位二进制数转换成3位十进制

MOV DL,10

DISP1:DIV DL

XCHG AH,AL ;使AH=商、AL=余数

ADD AL,30H ;使余数转换成ASCII码

PUSH AX ;压入堆栈

XCHG AH,AL

MOV AH,0

LOOP DISP1

MOV CX,3

DISP2:POP DX ;弹出1位

CALL ECHOCH ;显示字符

LOOP DISP2

RET

DISPAL ENDP

DISPMESS PROC NEAR ;调用DOS 9号功能,显示字符串MOV AH,09H

INT 21H

RET

DISPMESS ENDP

ECHOCH PROC NEAR ;调用DOS2号功能,显示1个字符MOV AH,2

INT 21H

RET

ECHOCH ENDP

NEWLINE PROC ;显示回车和换行

PUSH AX

PUSH DX

MOV DL,0DH ;回车符的ASCII码是0DH

MOV AH,2

INT 21H ;显示回车符

MOV DL,0AH ;换行符的ASCII码是0AH

MOV AH,2

INT 21H ;显示换行符

POP DX

POP AX

RET

NEWLINE ENDP

RETU:MOV AH,4CH ;返回DOS系统INT 21H

CODE ENDS

END START

昆明理工大学电力工程学院学生实验报告

实验课程名称:微机原理及应用

开课实验室:计算机302 2017年5月16日

汇编源程序清单

MLENGTH=128

DATA SEGMENT

STR1 DB MLENGTH

DB 0

DB MLENGTH DUP(0)

STR2 DB MLENGTH

DB 0

DB MLENGTH DUP(0)

MESS1 DB 'PLEASE INPUTE STR1:$'

MESS2 DB 'PLEASE INPUTE STR2:$'

MESS3 DB 'RESULT:THEY ARE THE SAME$'

MESS4 DB 'RESULT:THEY ARE DIFFERENT$'

N DW 30

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,ES:DATA,CS:CODE

START: MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV DX,OFFSET MESS1

CALL DISPMESS

MOV DX,OFFSET STR1

MOV AH,0AH

INT 21H

CALL NEWLINE

MOV DX,OFFSET MESS2

CALL DISPMESS

MOV DX,OFFSET STR2 ;输入一串字符串至STR2缓冲区

MOV AH,0AH

INT 21H

CALL NEWLINE

MOV AX,SEG STR1 ;取STR1的段地址

MOV DS,AX

MOV AX,SEG STR2

MOV ES,AX

LEA SI,STR1 ;取STR1的偏移地址

LEA DI,STR2

MOV CX,N

CLD

REPE CMPSB ;逐一比较两串的对应字符是否相等

JNE EXIT ;不相等,则转EXIT

MOV BX,0 ;相等,则BX=0

MOV DX,OFFSET MESS3

CALL DISPMESS

JMP RETU

EXIT:MOV BX,-1

MOV DX,OFFSET MESS4

CALL DISPMESS

JMP RETU

DISPMESS PROC NEAR ;调用DOS 9号功能,显示字符串MOV AH,09H

INT 21H

RET

DISPMESS ENDP

NEWLINE PROC ;显示回车和换行

PUSH AX

PUSH DX

MOV DL,0DH ;回车符的ASCII码是0DH

MOV AH,2

INT 21H ;显示回车符

MOV DL,0AH ;换行符的ASCII码是0AH

MOV AH,2

INT 21H ;显示换行符

POP DX

POP AX

RET

NEWLINE ENDP

RETU:MOV AH,4CH ;返回DOS系统

INT 21H

CODE ENDS

END START

昆明理工大学电机学实验报告..

昆明理工大学实验报告 实验课程名称: 电机学实验 开课实验室: 电机实验室 2013年7月5日 年级、专业、班 电自11级 3 班 学号 201110901141 姓名 刘盼 成绩 实验项目名称 电机综合实验 指导教师 教 师 评 语 教师签名 2013年 7 月 5 日 实验一、变压器综合实验 三相变压器并联运行 一、 实验目的 1.学习三相变压器投入并联运行的方法。 2.测试三相变压器并联运行条件不满足时的空载电流。 3.研究三相变压器并联运行时负载的分配规律。 二、 实验原理 理想的并联运行的变压器应满足以下条件: 1、空载时,各变压器的相应的次级电压必须相等而且同相位。为满足此条件,并联个变压器应有相同电压变比:即k1=k2=k3…kn 且属于相同的连接组,不同连接组别的变压器不能并联运行。 2、在有负载时,各变压器的所分担的负载电流英语他们的容量成正比。为满足此条件,保证各个变压器所分担的负载电流与其容量成正比例,各变压器应该有相同的短路电压标幺值。 3、各变压器的负载电流都应同相位。为满足此条件,要求各变压器短路电阻与短路电抗的比值相等。即要求阻抗电压降的有功分量和无功分量分别相等,即各个变压器应该有相同的短路电压有功分量和无功分量。 4.变压器并联运行时的负载分配 。当变压器并联运行时,通常短路电压标幺值随着容量的不同而不相同,大容量的变压器有较大的短路电压。各个并联运行的变压器实际分担负载的计算公式: 由此可见,各个变压器的负载分配与该变压器的额定容量成正比,与短路电压成反比。如果各个变压器的短路电压相同,则变压器的负载分配只与额定容量成正比。

三、实验线路 图A-1 实验线路 四、实验结果及分析 1、测试两台三相变压器满足理想条件并联运行时的空载电流实验参数: 图A-2 实验参数设置Ⅰ

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

昆明理工大学理论力学第一章答案

第一章 静力学公理和物体的受力分析 一、是非判断题 1.1.1 在任何情况下,体内任意两点距离保持不变的物体称为刚体。 ( ∨ ) 1.1.2 物体在两个力作用下平衡的必要与充分条件是这两个力大小相等、方向相反,沿同一直线。 ( × ) 1.1.3 加减平衡力系公理不但适用于刚体,而且也适用于变形体。 ( × ) 1.1.4 力的可传性只适用于刚体,不适用于变形体。 ( ∨ ) 1.1.5 两点受力的构件都是二力杆。 ( × ) 1.1.6 只要作用于刚体上的三个力汇交于一点,该刚体一定平衡。 ( × ) 1.1.7 力的平行四边形法则只适用于刚体。 ( × ) 1.1.8 凡矢量都可以应用平行四边形法则合成。 ( ∨ ) 1.1.9 只要物体平衡,都能应用加减平衡力系公理。 ( × ) 1.1.10 凡是平衡力系,它的作用效果都等于零。 ( × ) 1.1.11 合力总是比分力大。 ( × ) 1.1.12 只要两个力大小相等,方向相同,则它们对物体的作用效果相同。 ( × ) 1.1.13 若物体相对于地面保持静止或匀速直线运动状态,则物体处于平衡。 ( ∨ ) 1.1.14 当软绳受两个等值反向的压力时,可以平衡。 ( × ) 1.1.15 静力学公理中,二力平衡公理和加减平衡力系公理适用于刚体。 ( ∨ ) 1.1.16 静力学公理中,作用力与反作用力公理和力的平行四边形公理适用于任何物体。 ( ∨ ) 1.1.17 凡是两端用铰链连接的直杆都是二力杆。 ( × ) 1.1.18 如图所示三铰拱,受力F ,F 1作用,其中F 作用于铰C 的销子上,则AC 、BC 构件都不是二力构件。 ( × ) 二、填空题 1.2.1 力对物体的作用效应一般分为 外 效应和 内 效应。 1.2.2 对非自由体的运动所预加的限制条件称为 约束 ;约束力的方向总是与约束所能阻止的物体的运动趋势的方向 相反 ;约束力由 主动 力引起,且随 主动 力的改变而改变。

昆明理工大学进程管理实验报告

昆明理工大学信息工程与自动化学院学生实验报告 (2010 —2011 学年第二学期) 课程名称:操作系统开课实验室:年月日 目录 一、实验目的 (1) 二、实验原理及基本技术路线图 (1) 1. 进程的状态转换图 (2) 2. 各原语的功能说明 (2) 3.多级反馈队列调度算法的描述 (3) 4. 程序功能结构图 (4) 5. 流程图 (4) 6. 数据结构定义 (5) 7. 主要变量的说明 (6) 8. 函数的说明 (6) 四、实验方法、步骤 (6) 五、实验过程原始记录 (18) 六、实验结果、分析和结论 (21) 一、实验目的 通过编写进程管理的算法,要求学生掌握整个进程管理的各个环节,进程的数据结构描述,进程的各种状态之间的转换,以及进程的调度算法。以加深对进程的概念及进程调度算法的理解,并且提高链表的应用能力,达到提高编程能力的目的。 二、实验原理及基本技术路线图(方框原理图) 用C语言或C++语言开发。需要定义PCB的数据结构,用链表的形式管理进程,采用

多级反馈队列调度的算法模拟进程的控制。要求有创建、撤销、调度、阻塞、唤醒进程等功能。 1.进程的状态转换图: 2.各原语的功能说明: -进程创建原语:进程创建是调用创建原语来实现。创建原语扫描系统的PCB链表,在找到一定PCB 链表之后,填入调用者提供的有关参数(这些参数包括:进程名、进程优先级P0、进程正文段起始地址d0、资源清单R0等),最后形成代表进程的PCB结构。 -进程撤销(终止): 撤消原语首先检查PCB进程链或进程家族,寻找所要撤消的进程是否存在。如果找到了所要撤消的进程的PCB结构,则撤消原语释放该进程所占有的资源之后,把对应的PCB结构从进程链或进程家族中摘下并返回给PCB空队列。如果被撤消的进程有自己的子进程,则撤消原语先撤消其子进程的PCB结构并释放子进程所占用的资源之后,再撤消当前进程的PCB结构和释放其资源。

微机原理实验报告软件实验1-4

微机原理实验报告 学院:算机科学与软件教育学院 1. 掌握存储器读写方法 2. 了解存储器的块操作方法 二、实验原理 存储器读写和块操作 三、实验设备仪器及材料 计算机,WA VE 6000软件 四、实验过程 S1.asm 代码流程图 data segment Block db 256 dup(55h) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov bx, offset Block ; 起始地址 mov cx, 256 ; 清256 字节Again: mov [bx], byte ptr 0 inc bx ; 地址+1 Loop Again ; 记数减一jmp $ ;死循环code ends end start

五、实验步骤 (1) 进入Wave6000,输入程序并检查,保存程序。 (2) “编译”程序。 (3) “全速执行”程序。 (4) “暂停”程序运行,在“数据窗口(MEMOREY)”查看0400H起始的单元内容,并记录。 (5) 在指令“jmp $”处设断点。“全速执行”程序。 (6) 在“数据窗口(MEMOREY)”查看0400H起始的单元内容,记录并分析实验结果。 六、实验结果及总结 运行前:运行后: 2、调试:如何将存储器块的内容置成某固定值(例全填充为0FFH)? 总结:通过本实验,我了解到单片机读写存储器的读写方法,同时也了解到单片机编程,调试方法。学会内存的移动方法,也加深对存储器读写的认识。

微机原理实验报告 学院:算机科学与软件教育学院 实验 课程 名 微机原理实验成绩实验 项目名称实验二、二进制到BCD码转换 指导老 师 1. 了解BCD值和ASCII值的区别。 2. 了解如何将BCD值转换成ASCII值。 3. 了解如何查表进行数值转换及快速计算。 二、实验原理 ASCII码表 三、实验设备仪器及材料 计算机,WA VE 6000软件 data segment Result db 3 dup(?) data ends code segment assume cs:code, ds:data start proc near mov ax, data mov ds, ax mov ax, 123 mov cl, 100 div cl mov Result, al ; 除以 100, 得百位数 mov al, ah mov ah, 0 mov cl, 10 div cl mov Result+1, al ; 余数除以 10, 得十位数 mov Result+2, ah ; 余数为个位 数 jmp $ code ends end start 代码流程图

昆明理工大学进程管理实验报告

理工大学信息工程与自动化学院学生实验报告 ( 2010—2011学年第二学期) 课程名称:操作系统开课实验室:年月日 目录 一、实验目的1 二、实验原理及基本技术路线图1 1.进程的状态转换图2 2.各原语的功能说明2 3.多级反馈队列调度算法的描述3 4.程序功能结构图4 5.流程图4 6.数据结构定义5 7.主要变量的说明6 8.函数的说明6 四、实验方法、步骤6 五、实验过程原始记录18 六、实验结果、分析和结论21 一、实验目的 通过编写进程管理的算法,要求学生掌握整个进程管理的各个环节,进程的数据结构描述,进程的各种状态之间的转换,以及进程的调度算法。以加深对进程的概念及进程调度算法的理解,并且提高链表的应用能力,达到提高编程能力的目的。 二、实验原理及基本技术路线图(方框原理图) 用C语言或C++语言开发。需要定义PCB的数据结构,用链表的形式管理进程,采用多

级反馈队列调度的算法模拟进程的控制。要求有创建、撤销、调度、阻塞、唤醒进程等功能。 1.进程的状态转换图: 2.各原语的功能说明: -进程创建原语:进程创建是调用创建原语来实现。创建原语扫描系统的PCB链表,在找到一定PCB 链表之后,填入调用者提供的有关参数(这些参数包括:进程名、进程优先级P0、进程正文段起始地址d0、资源清单R0等),最后形成代表进程的PCB结构。 -进程撤销(终止): 撤消原语首先检查PCB进程链或进程家族,寻找所要撤消的进程是否存在。如果找到了所要撤消的进程的PCB结构,则撤消原语释放该进程所占有的资源之后,把对应的PCB结构从进程链或进程家族中摘下并返回给PCB空队列。如果被撤消的进程有自己的子进程,则撤消原语先撤消其子进程的PCB结构并释放子进程所占用的资源之后,再撤消当前进程的PCB结构和释放其资源。 -阻塞原语:当发生引起阻塞的事件时,该原语被该进程自己调用来阻塞自己。阻塞

微机原理实验四实验报告

实验报告

实验四 8251可编程串行口与PC机通信实验一、实验要求 利用实验箱内的8251A芯片,实现与PC机的通信。 二、实验目的 1.掌握8251A芯片结构和编程方法; 2.了解实现串行通信的硬件环境,数据格式和数据交换协议; 3.了解PC机通信的基本要求。 三、实验原理 (一)8251A芯片工作方式配置: 1. 8个数据位; 2.无奇偶校验位; 3.1个停止位; 4.波特率因子设为16; 5. 波特率设为9600。 (二)8251A主要寄存器说明 图4-1 模式字 图4-2 命令字

CO MMAN D I NSTR UCT ION FO RMA T 图4-3 状态字 (三)8251编程 对8251 的编程就是对8251 的寄存器的操作,下面分别给出8251 的几个寄存器的格式。(1)方式控制字 方式控制字用来指定通信方式及其方式下的数据格式,具体各位的定义如图4-4所示。 图4-4 方式控制字说明 (2)命令控制字 命令控制字用于指定8251 进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态,以便接收或发送数据。图4-5 所示的是8251 命令控制字各位的定义。 图4-5命令控制字说明 (3)状态字 CPU 通过状态字来了解8251 当前的工作状态,以决定下一步的操作,8251 的状态字如 图4-6所示。 图4-6 状态字说明 四、实验电路连接: 1.CS8251接228H,CS8279已固定接至238H; 2.扩展通信口18中的232RXD连8251RXD ,232TXD连8251TXD;

3.计算机的两个RS232通信口,一个连至仿真机通信口,一个连至扩展通信口18(所有通信口均为DB9)。注意:RS232通信口必须在设备断电状态下插拔! 图4-7 连线图 五、实验内容及要求 1. 将例程从PDF文档中导入到WMD86软件编辑环境中,调试通过。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。 2.剔除例程中冗余部分,实现对例程的精简和优化。将精简内容与相应理由写入实验报告。 3.将自己学号的后三位数字通过RS232端口的Txd管脚输出。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。 4.通过读状态寄存器的方法,获得发送移位寄存器是否为空的信息,实现学号后三位数字的循环发送。将结果截图保存,贴入实验报告。 5.给每帧数据间添加固定的时间间隔,时间间隔为10000个指令周期。将结果截图保存,

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

微机原理及应用实验报告

微机原理及应用实验报告 班级:机械1301班 姓名:黄佳清 学号:0801130117 座位号: 中南大学机电工程学院

实验一单片机仿真开发机操作和MCS-51指令系统应用 一.实验目的 1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整; 2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编; 3、掌握程序的调试和运行的各种方法。 三.实验内容及步骤(完成分值:60分) 本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真 1.新建工程项目 2.设置工程文件参数 3.编写新程序事例 4.调试程序直至能够运行出结果。 四.实验程序 AJMP MAIN ORG 0030H MAIN: MOV R0,#20H MOV R2,#0FH MOV A,#00H A1: MOV @R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#20H ;暂停,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A2: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,A2 MOV R0,#030H ;断点,观察并记录! MOV DPTR,#7000H MOV R2,#0FH A3: MOVX A,@DPTR MOVX @R0,A INC R0 INC DPTR DJNZ R2,A3 DO: LJMP DO END ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。 五、附加题 1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光

微机原理与接口技术 实验报告

微机原理与接口技术 实验报告 学院:计算机与通信工程学院 专业:计算机科学与技术 班级: 学号: 姓名:

实验一8259中断控制器应用实验 一、实验目的 1.掌握PC机中断处理系统的基本原理。 2. 掌握可编程中断控制器8259的应用编程方法。 二、实验内容 1.PC机内中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。 2.PC机内中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序,体会中断嵌套的过程。 3.扩展多中断源查询方式应用实验。利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理。 三、实验步骤 1.实验1-1:PC机内中断应用实验 (1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下: (2)自设计实验。改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。(注意:考虑PC机内中断级联的方式,参看前面的原理说明),代码如下: DA TA SEGMENT MESS DB 'IRQ10 ',0DH,0AH, '$' DA TA ENDS

CODE SEGMENT ASSUME CS:CODE, DS:DA TA START: MOV AX, CS MOV DS, AX MOV DX,OFFSET INT10 MOV AX,2572H ;设置IRQ10对应的中断向量 INT 21H IN AL,21H ;读取中断屏蔽寄存器 AND AL,0F3H ;开放IRQ3中断和从片 OUT 21H,AL IN AL,0A1H ;从片的中断屏蔽寄存器 AND AL,0FBH ;开放IRQ10中断 OUT 0A1H,AL MOV CX,10 STI WAIT: JMP W AIT INT10: MOV AX, DATA ;中断服务程序 MOV DS, AX MOV DX, OFFSET MESS MOV AH, 09 ;在屏幕上显示每次中断的提示信息 INT 21H MOV AL, 20H ; 发出EOI结束中断到PC内主片的地址20H OUT 20H, AL LOOP NEXT IN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 08H ;关闭IRQ3中断 OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH, 4CH ;返回DOS INT 21H NEXT: IRET ;中断返回 CODE ENDS END START 调用程序代码,观察实验现象,屏幕显示截图如下:

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

实验报告一:I/0地址译码和简单并行接口 ——实验一&实验二 一、实验目的 掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。 二、实验原理及内容 a) I/0地址译码 1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数 字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~ 287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。 2、接线: Y4/IO地址接 CLK/D触发器

Y5/IO地址接 CD/D触发器 D/D触发器接 SD/D触发器接 +5V Q/D触发器接L7(LED灯)或逻辑笔 b) 简单并行接口 1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通 用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器, 8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电 路L0~L7。 2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这 个输出接口输出,根据8个发光二极管发光情况验证正确 性。 3、按下面图4-2-2简单并行输入接口电路图连接电路 (74LS244插通用插座,74LS32用实验台上的“或门”)。 74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关 输出K0~K7,8个数据输出端分别接数据总线D0~D7。 4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这 个ASCⅡ码,并将其对应字母在屏幕上显示出来。 5、接线:1)输出 按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验 台逻辑或门) 2)输入 按图4-2-2接线(图中虚线为实验所需接线,74LS32为实 验台逻辑或门) 三、硬件连线图 1、I/O地址译码

昆明理工大学数据库实验报告

《数据库原理》上机实验报告 专业:自动化、测控 学号: 姓名: 班级: 指导老师:杨彪 昆明理工大学信息工程与自动化学院 2014年12月

一、实验目的与要求: ●熟练使用SQL定义子语言、操纵子语言命令语句 ●掌握关系模型上的完整性约束机制 ●掌握一定的数据库管理技术 ●能完成简单的数据库应用开发 二、实验内容及学时安排(总学时:8) (一)数据定义子语言实验(2学时) 实验1:利用SQL语句创建Employee数据库 程序:create database employee 结果: 实验2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary 及部门表dept。 要求:按表1、表达、表3中的字段说明创建 表1 person表结构 字段名数据类型字段长度允许空否字段说明 P_no Char 6 Not Null 工号,主键 P_name Varchar 10 Not Null 姓名 Sex Char 2 Not Null 性别 Birthdate Datetime 8 Null 出生日期 Prof Varchar 10 Null 职称 Deptno Char 4 Not Null 部门代码,外键(参照dept表) 表2 salary表结构 字段名数据类型字段长度允许空否字段说明 P_no Char 6 Not Null 工号,主键,外键(参照person表)Base Dec 5 Null 基本工资 Bonus Dec 5 Null 奖金,要求>50 Fact Dec 5 Null 实发工资=基本工资+奖金Month Int 2 Not Null 月份 表3 dept表结构 字段名数据类型字段长度允许空否字段说明 Deptno Char 4 Not Null 部门代码,主键,

微机原理实验报告

微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1

四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL

微机原理与单片机实验报告

北京联合大学信息学院实验报告 课程名称:微型计算机原理学号: 姓名: 2012 年 6 月 9 日

目录 实验1 EMU8086模拟器的使用 (3) 实验2 数据传送指令的使用 (5) 实验3 多位十六进制加法运算实验 (9) 实验5 循环程序实验 (11) 实验6 由1 到100 求和实验 (13) 实验7 求表中正数_负数_0 的个数实验 (14) 实验8 数据排列实验(冒泡排序) (16) 实验9 系统功能调用(大小写转换) (18) 实验10 阶乘(递归运算) (20) 实验11 ProteusIO工程文件的建立 (21) 实验12 IO口读写实验(245、373) (22) 实验13 8255 接口实验 (24) 实验14 声光报警 (25) 实验总结 (28)

实验1 EMU8086模拟器的使用 一实验要求 利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的: 熟悉EMU8086实验环境 三EMU8086环境: 1 模拟器编辑窗口 2 模拟器调试窗口

四实验内容 实验内容1:新建文件。 运行emu8086 1. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码: MOV AX, 1020H MOV BX, 2030H MOV AX, BX ADD AX, BX MOV [BX], AX MOV [2032H], AX HLT 2. 编译:单击“编译”按钮,对程序段进行编译; 3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。 4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。 5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。 6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。 7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为400毫秒,单击“全速”按钮,运行程序, 8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容 9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序

(完整word版)微机原理与接口技术试验学习总结

微机原理与接口技术试验学习总结 本学期微机原理的实验课程即将结束,关于微机原理课程实验的心得体会颇多。 初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。 在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。 汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。 我想微机原理课程试验不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特之处,那就是让我们进入一个神奇的世界,那就是编程。对我们来说汇编真的很新奇,很有趣,也使我有更多的兴趣学习微机原理和其

微机原理与接口技术实验报告

微机原理与接口技术》 上机报告 学院:机电学院指导教师:胡勇学号:631424210229 姓名:鞠其林

实验一初级程序的编写与调试实验 、实验目的 1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序. 2、深入了解数据在存储器中的存取方法, 及堆栈中数据的压入与弹出 3、掌握各种寻址方法以及简单指令的执行过程. 二、实验内容 1、设堆栈指针SP=2000H,AX=3000H,BX=5000H请, 编一程序段将AX的内容和BX 的内容进行交换. 请用堆栈作为两寄存器交换内容的中间存储单元, 用DEBUG调试程序进行汇编与调试. 程序: MOV AX,3000 MOV BX,5000 MOV SP,2000 PUSH AX PUSH BX POP AX POP BX HLT

2、设AX=0002H,编一个程序段将AX的内容乘10, 要求用移位的方法完成程序: MOV AX,0002 MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX MOV CL,1 SHL AX,CL HLT

三、心得体会 从这个程序的编辑过程中我感受到了汇编语言的强大,很直观的就可以读懂程 序的含义,但代码比较难记,而且语法严谨,我调试的过程中犯了一点错误, 修改的次数较多,希望我以后可以不再犯同样的错误,也是因为我练的比较的 少,还很生疏,我以后一定多加练习,把汇编学好 实验二 加法及判断程序的编写与调试 、实验目的 1、熟练掌握编写汇编语言源程序的基本方法和基本框架 2、学会编写顺序结构 , 分支结构和循环结构的汇编程序

3、掌握程序中数据的产生与输入输出的方法. 二、实验内容 1、用汇编语言编写一个加法程序: 1325+9839 请用ASCII 码的形式将加数与被加数存放在数据区DATA1和DATA2中, 并将相加结果显示输出. 程序: DATA SEGMENT DATA1 DB '5','2','3','1' DATA2 DB '9','3','8','9' DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA SI,DATA1 LEA DI,DATA2 MOV CX,4 MOV AH,0 NEXT: MOV AL,[SI] ADC AL,[DI] ADC AL,AH MOV AH,0 AAA ADD AL,30H MOV [DI],AL INC DI INC SI LOOP NEXT MOV CX,5 ADD AH,30H MOV [DI],AH NEXT1:MOV DL,[DI] MOV AH,02 INT 21H DEC DI

微机原理实验报告

微机原理与接口技术 实验指导书 班级 学号 099074 工业大学计算机学院

实验一存贮器读写实验 一、实验容 对指定地址区间的RAM(4000H~4FFH)先进行写数据55AAH,然后将其容读出再写到5000H~5FFH中。 二、实验步骤 l、将实验系统与PC机连接; 2、在PC机上启功DJ-8086k软件,实验系统进入联机状态; 3、在DJ-8086k软件环境下编辑、调试程序,将程序调试、编译通过; 4、运行程序。 5、稍后按RST键退出,用存贮器读方法检查4000H~43FFH中的容和5000~53FFH中的容应都是55AA。 三、实验程序清单 CODE SEGMENT ;RAM.ASM ASSUME CS:CODE PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 1850h START: JMP START0 BUF DB ?,?,?,?,?,? data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0 c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: MOV AX,0H MOV DS,AX MOV BX,4000H MOV AX,55AAH MOV CX,0200H RAMW1: MOV DS:[BX],AX ADD BX,0002H LOOP RAMW1 MOV AX,4000H MOV SI,AX

MOV AX,5000H MOV DI,AX MOV CX,0400H CLD REP MOVSB call buf1 mov cx,0ffh con1: push cx call disp pop cx loop con1 call buf2 con2: call disp jmp con2 DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;20H ;显示子程序 ,5ms MOV BX,OFFSET BUF DIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX DIS2: MOV CX,00A0H LOOP $ POP CX CMP CL,0FEH ;01H JZ LX1 INC BX ROR CL,1 ;SHR CL,1 JMP DIS1 LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET

昆明理工大学机电系统设计模块PLC实验报告

三、验证型实验 1、电动机Y/△降压起动控制 (1)工作原理 按下启动按钮SB1,KM1、KM3、时间继电器通电并自保,电动机接成Y 型起动,2s后,时间继电器动作,使KM3断电,KM2通电吸合,电动机接成△型运行。按下停止按扭SB1,电动机停止运行。 图1电动机Y/△减压起动控制主电路 (2)I/O分配 输入元件分配地址输出元件分配地址 停止按钮SB1 I0.0KM1 Q0.0 启动按钮SB2 I0.1 KM2 Q0.1 过载保护FR I0.2 KM3Q0.2 (3)梯形图

图2梯形图程序 (3)程序说明 按下启动按钮SB2,触点I0.1闭合内部辅助线圈M0.0通电 常开触点M0.0闭合,形成自锁 常开触点M0.0闭合,线圈Q0.0通电 常开触点M0.0闭合,线圈Q0.2通电,定时器T38通电开始计时 常闭触点Q0.2断开,形成互锁

2s后,T38断开,Q0.2断电;T38闭合,Q0.1通电并自锁(4)语句表 图3语句表程序 (5)仿真结果 图4 状态表

图5工程图 2、用PLC构成交通灯控制系统 (1)控制要求 如图所示,起动后,南北红灯亮并维持25s。在南北红灯亮的同时,东西绿灯也亮,1s后,东西车灯即甲亮。到20s时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮,同时甲灭。黄灯亮2s后灭东西红灯亮。与此同时,南北红灯灭,南北绿灯亮。1s后,南北车灯即乙亮。南北绿灯亮了25s后闪亮,3s 后熄灭,同时乙灭,黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。

图6 十字路口交通灯 (2)I/O分配 输入元件分配地址输出元件分配地址启动按钮I0.0 南北红灯Q0.0 南北黄灯Q0.1 南北绿灯Q0.2 东西红灯Q0.3 东西黄灯Q0.4 东西绿灯Q0.5 南北车灯Q0.6 东西车灯Q0.7(3)程序设计 起动I0.0 东西绿灯Q0.5 东西车灯甲Q0.7 东西黄灯Q0.4 东西红灯Q0.3 南北绿灯Q0.2 南北车灯乙Q0.6 南北黄灯Q0.1 南北红灯Q0.0 图7十字路口交通信号灯的时序图

昆明理工大学计算机实验报告

昆明理工大学《程序设计语言(Java)》课程实验报告 学院名称:材料科学与工程专业年级: 学生姓名:学号: 联系电话:Email: 实验项目名称:Java基础实验指导教师王樱子 实验目的: 1. 掌握Java程序的编辑、编译、调试和运行方法,熟悉常见编程工具的使用; 2. 掌握if语句,switch语句,for语句,while语句和do…while语句的用法; 3. 掌握一维数组和二维数组的使用方法。 实验内容: 1. 编译两种运行方式:just-in-time编译器,简称JIT编译器。多线程,动态执行,丰富的API文档和类库。 采用UltraEdit为编程工具,对教材例1-1的程序进行编辑、编译和运行。熟悉JDK API 文档的使用方法。 2. if语句,是单重选择,最多只有两个分支。if关键字之后的逻辑表达式必须得到一个逻辑值,不能象其他语言那样以数值来代替。因为Java不提供数值与逻辑值之间的转换。else子句属于逻辑上离它最近的if语句。 switch语句含义与嵌套的if语句是类似的,格式更加简捷。表达式的计算结果必须是int型或字符型,即是int型赋值相容的。当用byte、short或char类型时,要进行提升。switch语句不允许使用浮点型或long型表达式。c1、c2、…、ck是int型或字符型常量。default子句是可选的,并且,最后一个break语句完全可以不写。switch语句和if语句可以互相代替。当主程序执行时,如果第一个命令行参数的首字符分别是数字、小写字母及大写字母时,系统会显示这个首字符。如果输入的是非数字或字母,则显示不是数字或字母。 三种循环语句:for语句、while语句和do语句 for语句的语义是:先执行初始语句,判断逻辑表达式的值,当逻辑表达式为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值。直到逻辑表达式的值为假时,循环结束。 while循环 for语句中常常用循环控制变量显式控制循环的执行次数。当程序中不能明确地指明循环的执行次数时,可以仅用逻辑表达式来决定循环的执行与否。这样的循环可用while语句来实现

相关主题
文本预览
相关文档 最新文档