微机原理第四章1
- 格式:ppt
- 大小:511.50 KB
- 文档页数:50
第四章汇编语言程序设计4-2下列程序执行后,寄存器AX BX CX的内容分别是多少?D SEGMENAT 0202H;定位数据段地址ORG 0202H ;定位偏移地址DA_WORD DW 20HMOV AX,DA_WORD ;(AX)=0020HMOV BX,OFFSET DA_WORD ;(BX)=0202HMOV CL,BYTE PTR DA_WORD ;(CL)=20H将变量DA_WOR的属性改变为字节型) MOVCH,TYPE DA_WORD ;(CH)=2( 变量类型数值);( CX)=0220H4-4试编制一程序,把CHAR中各小写字母分别转换为对应的大写字母,并存放在CHAR 开始的单元中(题目要求:不改变CHAR的内容)方法1,小写字母转换一个输出显示一个,前3种方法均使用了AL寄存器D SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1 ; 变量必须先定义后使用,而不能相反CHAR2 DB N DUP(0);; 不能把此句与上一句对调,CHAR2 DB $-CHAR t ; 的同学这样写,错在哪?CHAR2DB$-CHAR1DUP(0) 是可以的D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:S ;ASSUM是伪指令,后面不能写冒号START: MOV AX,DMOV DS,AX;MOV ES,AX ; 只要用到串操作指令且DILEA SI,CHAR1 ;MOV SI,OFFSET CHAR1LEA DI,CHAR2 ; MOV DI,OFFSET CHAR2 MOV CXN, ;$-CHAR1, 不可以AGAIN:MOV AL,[SI]SUB AL,20H ; AND AL,5FH 有的同学是这样实现的MOV [DI],ALMOV DL,ALMOV AH,2INT 21H ; 从屏幕显示INC SIINC DILOOP AGAINMOV AH,4CHINT 21H ; ; 不是必须的C ENDSEND START方法2:使用通用数据传送指令MOVD SEGMENTCHAR1 DB ‘abcdefghijklmnopqrstuvwxyz 'N EQU $-CHAR1 ; 变量必须先定义后使用, 而不能相反CHAR2 DB N DUP(0); 不能把此句与上一句对调D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126( 代码段和堆栈段是不可少的) C SEGMENTASSUME CS:C ,DS:D ,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AX ; 只要用到串操作指令且DIMOV SI,0 ;LEA SI,CHAR1MOV DI,0 ;LEA DI,CHAR2MOV CX,NAGAIN: MOV AL,CHAR1[SI] ; MOV AL,[SI] SUB AL,20HMOV CHAR2[DI],AL ; MOV [DI],ALINC SIINC DILOOP AGAINMOV AH,4CHINT 21H ; 不是必须的C ENDSEND START第3 种方法: 使用串的读写指令LODSB STOSB D SEGMENTCHAR1 DB ‘abcdef 'N EQU $-CHAR1CHAR2 DB $-CHAR1 DUP(0)D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126( 代码段和堆栈段是不可少的) C SEGMENTASSUME CS:C,DS:D,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AXMOV SI,0 ;LEA SI,CHAR1MOV DI,0 ;LEA DI,CHAR2MOV CX,NCLD ; 不写( 隐含)也是0(递增)但不能STD AGAIN: LODSB ;执行一次, 隐含修改SISUB AL,32STOSB ;MOV [DI],AL ; 执行一次, 隐含修改DI INC DILOOP AGAIN ;LOOP指令只修改ex,不管SI,DIMOV AH,4CH iNT 21H ; 不是必须的e ENDsEND sTART 第四种方法2006级,没有显示使用MOVS指令D sEGMENTeHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-eHAR1 eHAR2 DB N DUP(0) D ENDSS SEGMENT STAeK DB 200 DUP(0)S ENDS e SEGMENTASSUME eS:e,DS:D,SS:SSTART:MOV Ax,DMOV DS,AxMOV ES,AxLEA Si,eHAR1LEA Di,eHAR2MOV ex,NAGAiN:MOVSB ; SUB [Si],20HDEe Di ; MOVSBSUB BYTEPTR[Di],20H ;LOOP AGAiN 错在哪里?结果如何?iNeDiLOOP AGAiNMOV AH,4eH iNT 21H e ENDSEND START 方法5: 只用一个地址指针SiD SEGMENTeHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-eHAR1 eHAR2 DB N DUP(0) D ENDSS SEGMENT STAeKDB 200 DUP(0)S ENDS e SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV SI,0MOV CX,NAGAINMOV AL,CHAR1[SI];只用一个地址指针,SI[CHAR1]是错误的SUB AL,20HMOV CHAR2[SI],ALINC SILOOP AGAINint 3MOV AH,4CHINT 21HC ENDSEND START有的同学按数据是由键盘录入的来考虑的,也可行,程序中还有不少问题方法6:由键盘输入小写字母再转换输出, 回车符也占一个字节,输入需要小写转换成大写字母的内容从输入串的第3 个元素开始D SEGMENTA DB"CHAR1",0DH,0AH,"$"B DB"CHAR2",0DH,0AH,"$"CHAR1 DB 11,?,11 DUP(0); 准备输入1 0个小写字母CHAR2 DB 10 DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV DX,OFFSET AMOV AH,9INT 21HLEA DX,CHAR1MOV AH,0AHINT 21H ; 由键盘输入字符串,1 0个字母(显示) , 1 个回车,共11 个字节LEA SI,CHAR1[2]LEA DI,CHAR2MOV CX,10 ; 需要转换的字符长度为10 个字节AGAIN:MOV AL,[SI]SUB AL,20HMOV [DI],ALINC SIINC DILOOP AGAIN ; 将小写字母字符串转换成大写字母字符串MOV BYTE PTR[DI],0DHINC DIMOV BYTE PTR[DI],0AHINC DIMOV BYTE PTR[DI],'$' ; 必须指明数据类型MOV DX,OFFSET CHAR2MOV AH,9INT 21H ; 输出'$' 结尾的大写字母字符串int 3MOV AH,4CHINT 21HC ENDS END START4-6在BUF地址处起,存放有100个字节的字符串,设其中有一个以上的“ A字符,编程查找出第一个“ A”字符相对起始地址的距离,并将其存入LEN单元。
微机原理第四章在微机原理的学习中,第四章是一个非常重要的环节,本章主要介绍微机的输入输出系统。
输入输出系统是微机系统中的一个重要组成部分,其功能是将外部设备与微机系统相连,并进行数据的输入和输出。
本章将从输入输出系统的基本原理、输入输出接口、输入输出设备等方面进行介绍,帮助读者全面了解微机的输入输出系统。
首先,我们来介绍一下输入输出系统的基本原理。
输入输出系统是微机系统与外部设备进行数据交换的桥梁,它的主要功能是实现数据的输入和输出。
在微机系统中,CPU通过输入输出系统与外部设备进行通信,实现数据的交换和传输。
输入输出系统一般由输入输出接口和输入输出设备两部分组成,输入输出接口是连接CPU 和输入输出设备的桥梁,输入输出设备是实现数据输入输出功能的设备。
其次,我们将介绍输入输出接口的相关知识。
输入输出接口是连接CPU和输入输出设备的关键部件,它起着数据传输和转换的作用。
输入输出接口一般由接口芯片和接口电路组成,接口芯片是实现数据传输和控制的核心部件,接口电路是实现数据转换和信号调节的重要部分。
在微机系统中,输入输出接口起着非常重要的作用,它直接影响着输入输出系统的性能和稳定性。
接着,我们将介绍一些常见的输入输出设备。
输入输出设备是实现数据输入输出功能的设备,常见的输入设备有键盘、鼠标、扫描仪等,常见的输出设备有显示器、打印机、音响等。
输入输出设备在微机系统中起着非常重要的作用,它们直接影响着用户与微机系统的交互体验。
在选择输入输出设备时,需要根据实际需求和使用环境进行合理选择,以确保输入输出系统的正常运行和高效工作。
最后,我们将介绍一些输入输出系统的优化方法。
在实际应用中,为了提高输入输出系统的性能和稳定性,可以采取一些优化措施,例如优化接口设计、优化设备选择、优化数据传输方式等。
通过合理的优化措施,可以有效提高输入输出系统的工作效率和响应速度,提升用户体验和系统稳定性。
综上所述,微机原理第四章主要介绍了微机的输入输出系统,包括输入输出系统的基本原理、输入输出接口、输入输出设备和优化方法等内容。