微机原理程序,急求大家帮我解释一下,添点注释,谢谢

微机原理程序,急求大家帮我解释一下,添点注释,谢谢,第1张

励磁电流: (恒定 )

发电机在怠速以上都是自励,与发动机转速无关。

发电机输出电流: (变小)

输出电流与转速是成正比的,这个你只要看一下电流表就明白了。

发电机输出电压: (恒定)

发电机在结构一定及磁场强度不变的条件下,其输出电压大小与发电机的转速成正比,理论上来说电压是变小的,但是为了保证整个汽车电气系统的正常工作和延长汽车电气设备的使用寿命,汽车上都安装有电压调节器。电压调节器使发电机输出电压值保持在某一特定范围内,且能随发电机转速的变化而自动调节。所以输出电压可以视为恒定。

DATA SEGMENT

TABLE1 DB 0FFH,0FFH,0FFH,0FFH,0FFH

DB 0FFH,0FFH,0FFH,0FFH,0FFH ;这个你自己改吧。

SUM DW

ASCC DB 10 DUP (20h) ,'$'

COUNT DW 10

DATA ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,TABLE1

MOV CX,10

XOR AX,AX

XOR BX,BX

CBW

NEXT: MOV AL,[SI]

CBW

ADD BX,AX

INC SI

LOOP NEXT

MOV SUM,BX

;以下是显示部分

LEA SI,sum

MOV BX,10 ;除数

LEA DI,ASCC+9 ;放入要转换的数

MOV AX,[SI]

AGAIN: XOR DX,DX

AND Ax,AX

JNS NEXT4

NEG AX

NEXT4: DIV BX

ADD DL,30H

MOV [DI],DL

XOR DX,DX

DEC DI

INC COUNT

AND AX,AX

JZ NEXT5

JMP NEXT4

NEXT5:

MOV AX,[SI]

CMP AX,8000H

JNC NEXT6

MOV AL,2BH

MOV [DI],AL

JMP NEXT7

NEXT6: MOV AL,'-'

MOV [DI],AL

NEXT7: LEA DX,ASCC

MOV AH,09H

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

DATA SEGMENT ;定义数据段

DATA1 DW 1234H ;变量DATA1中装入1234H,DW定义字(两个字节),即DW中低字节为34H,高字节为12H

DATA2 DB 16 DUP () ;’?‘号重复16次,保留16个字节的存储单元空间,该存储单元从DATA2起始

DATA ENDS ;SEGMENTENDS是段定义的伪指令助记符,任何一个逻辑段必须以SEGMENT开始,以ENDS结束

CODE SEGMENT ;定义代码段

ASSUME DS:DATA CS:CODE ;(这样写就可以)ASSUME是段分配语句,指明段和段寄存器的关系,

START:MOV AX,DATA ;数据段送入AX

MOV DS,AX ;初始化DS,将AX送入DS

LEA SI,DATA2 ;LEA取有效地址指令,将DATA2的偏移地址送到SI中

LEA DI,DATA1 ;LEA取有效地址指令,将DATA1的偏移地址送到DI中

MOV AX,0 ;将0送到AX中

MOV BX,0AH ;给BX赋值0AH

MOV AX,[DI] ;将DI中的内容送到AX中

ADD SI,4 ;4与SI中的内容相加,结果送回SI中

L1:MOV DX,0 ;将0送到DX中

DIV BX ;AX/BX的商送到AL中,余数送到AH中

ADD DL,30H ;将30H和DL中的内容相加,结果送到DL中

MOV [SI],DL ;DL中的内容送到SI中

DEC SI ;SI自减,一次减1

CMP AX,0 ;AX中的内容与0比较,-0

JNZ L1 ;AX的内容不为0则转移到L1

MOV AL,24H ;将24H送到AL中

MOV [SI+5],AL ;将AL中的内容送到地址为SI+5的单元中

MOV DX,OFFSET DATA2 ;取DATA2的偏移地址送到DX中

MOV AH,9 ;9号功能调用,显示字符串,要求DS:DX指向串地址首址,并且字符串必须 以'$'字符为结束符

INT 21H ;和MOV AH,9 配合使用,共同完成上述任务

MOV AH,4CH ;将4CH送到AH中

INT 21H ;功能调用

CODE ENDS ;代码段结束

END START ;程序结束

xxxx0是个十六进制数,最后一位是0的话转换为十进制定会被16整除, 不信你试试,这是因为前四位分别是16的倍数,最后一位是0,加起来还是16的倍数。

堆栈是一种形象的说法,sp指针指向某一地址,成为栈底,数据从栈底开始向上保存,取出的时候按照后进先出的原则,实际是一种保护数据的方式,在微机原理中很重要。

以上就是关于微机原理程序,急求大家帮我解释一下,添点注释,谢谢全部的内容,包括:微机原理程序,急求大家帮我解释一下,添点注释,谢谢、微机原理编写完整汇编程序,将内存中10个有符号数求和,结果放入SUM单元(类型DW)。有符号数类型DB.、谁能帮我解释下以下微机原理源程序的意思一句一句地等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9719610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存