DATA SEGMENT ;定义数据段
BUF DB -3,1,2 ;定义变量
BUF1 DB 1000 DUP() ;预留1000字节的空间
DATA ENDS ;数据段定义结束
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DATA ;段寄存器关联说明
START: ;代码段第一条指令从这里开始
MOV AX,DATA ;数据段段址→ax
MOV DS,AX ;ax→ds,给数据段段寄存器赋值
LEA SI,BUF ;变量BUF有效地址→SI
MOV CX,1000 ;变量BUF元素个数→CX
MOV AX,[SI] ;变量BUF的第一个字数据→AX
LP: CMP AL,0 ;AL<0?
JL NEXT ;是,转NEXT处执行
INC SI ;变量BUF元素地址增1
DEC CL ;CL-1→CL
JNZ LP ;CL不等于0,转LP处执行循环体
NEXT: MOV BUF1,AL ;AL送变量BUF1保存
MOV AH,4CH ;结束程序
INT 21H ;dos功能调用
CODE ENDS ;代码段定义结束
END START ;编译到此结束
程序段功能: 从变量BUF的1000个有符号字节数种找到第一个负数,把这个负数存于BUF1单元。
从程序段来看,这段程序的编者必是初学汇编语言。提两点建议:
1、有一处错误:
DEC CL
从程序功能来看,此处必须要用:
DEC CX
因为你要从1000个有符号字节数中找出第一个负数,而8位计数器CL能存的最大无符号数是255,那么用指令:
DEC CL
实际上是只从前255个元素中查找,而漏掉了后面的745个元素。如果前255个元素中没有负数,执行结果必然是错误的。
2、Intel 8086/8088体系结构的内存管理是分段式的,教科书及老师都习惯于这种模式,这是正确的。但我们作为初学,只是练习,无论是数据量还是代码量,都很有限,没有必要分这个段、那个段的,完全可以在一个段里进行,即把DS、ES及SS,统统地设置成与代码段同段。下面,以另一种方式来实现这个功能,仅供参考。
CODE SEGMENT
ASSUME CS:CODE,DS:CODE,ES:CODE
BUF DB -3,1,2
Element equ ($-BUF)/type BUF ;元素个数
BUF1 DB
START:push cs
pop ds
push cs
pop es
lea si,BUF
mov cx,Elements
LP: lodsb
cmp al,0
jl $+4
loop LP
MOV BUF1,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
不知道对楼主有没有用。。。。
1考试内容及要求
①基础知识
掌握:计算机中常用的数制、码制与编码;常用逻辑电路。
②16位微处理器的结构与原理
掌握:8086/8088微处理器的结构:EU、BIU;存储器分段、总线周期、物理地址与逻辑地址、堆栈等概念;工作模式;典型最小模式原理图、时序;微处理器的主要 *** 作功能。
理解:引脚信号;典型最大模式原理图、时序。
③86系列微型计算机的指令系统与程序设计
掌握:寻址方式;各类指令的应用;指令对标志位的影响;溢出判断;常用DOS功能的调用方法(INT 21H);汇编程序的功能及上机过程(MASM);典型程序设计(计算类、代码转换类、查表类、数据处理类)。
④输入/输出接口
掌握:接口基本概念;I/O接口的功能与构成;I/O接口地址的编址方式、地址空间范围;I/O接口的控制方式;并行通信和串行通信的原理;8255芯片和8251芯片的工作原理、初始化编程、典型系统应用、原理图连接、电路分析及应用程序设计(查询、中断方式)。
了解:8255芯片的方式1、方式2的原理与应用。
⑤中断控制器、计数/定时控制器及DMA控制器
掌握:中断基本原理,中断响应,时序,中断处理过程,中断服务程序设计,中断矢量计算;8259A和8253的工作原理、初始化编程、典型系统应用、典型原理图连接、电路分析及应用程序设计(8153的方式2、方式3,8259的级联)。
了解:可编程DMA控制器8237A的工作原理(一般原理:DMA的总线申请、响应过程)。
⑥存储系统设计与应用
掌握:存储器的种类、地址译码方式(含74LS138的使用)及存储器扩展;典型存储器与微处理器连接的原理图、电路的分析,包括地址、数据、控制总线的连接,地址译码设计、存储空间计算等。
⑦A/D及D/A转换器
理解:D/A转换器DAC0832的结构和工作原理;A/D转换器ADC0809的结构和工作原理。
掌握:DAC0832和ADC0809的简单应用与程序设计(查询、中断方式)。
《单片微机原理与应用》以MCS-51单片机为背景机,系统的介绍微型计算机的原理及应用,主要内容包括计算机基础知识,汇编语言程序设计, MCS-51单片机的内部接口,MCS-51单片机的扩展方法,半导体存储器,常用可编程接口芯片,A/D和D/A转换芯片等;还较详细的介绍以 80C51为基础结构并与其兼容的8XC552单片机和C8051FXXX单片机。
本书内容精练,实例丰富。其中大量的接口电路和程序是作者多年在科研和教学中反复提炼得出的,因而本书应用性很强。本书内容系统全面,论述深入浅出,循序渐进,可作为大专院校“汇编语言程序设计”,“微机原理”或“微机原理及接口技术”等课程的教学用书,也可以供从事电子技术、计算及应用与开发的科研人员和工程技术人员学习参考,还适用于初学者使用。
励磁电流: (恒定 )
发电机在怠速以上都是自励,与发动机转速无关。
发电机输出电流: (变小)
输出电流与转速是成正比的,这个你只要看一下电流表就明白了。
发电机输出电压: (恒定)
发电机在结构一定及磁场强度不变的条件下,其输出电压大小与发电机的转速成正比,理论上来说电压是变小的,但是为了保证整个汽车电气系统的正常工作和延长汽车电气设备的使用寿命,汽车上都安装有电压调节器。电压调节器使发电机输出电压值保持在某一特定范围内,且能随发电机转速的变化而自动调节。所以输出电压可以视为恒定。
以上就是关于微机原理3个数比较大小的程序全部的内容,包括:微机原理3个数比较大小的程序、关于微机原理、微机原理程序,急求大家帮我解释一下,添点注释,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)