文档详情

第六章 汇编语言程序设计().ppt

发布:2017-06-17约1.64万字共94页下载文档
文本预览下载声明
第六章 汇编语言程序设计;6-1 汇编语言程序设计步骤;流程图构成部件:;S1;此题可否这样做?为什麽? MOV AX, DS:[1000H] ADD AX, DS:[1010H] DAA MOV DS:[1020H], AX ;法1: MOV AL, DS:[1000H] ADD AL, DS:[1010H] ;低字节相加 DAA ;十进制调整 MOV DS:[1020H], AL ;存低字节和 MOV AL, DS:[1001H] ADC AL, DS:[1011H] ;高字节带进位相加 DAA ;十进制调整 MOV DS:[1021H], AL ;存高字节和;法2: MOV SI,1000H MOV DI,1010H MOV BX,1020H MOV AL, [SI] ADD AL, [DI] ;低字节相加 DAA ;十进制调整 MOV [BX], AL ;存低字节和 MOV AL, [SI+1] ADC AL, [DI+1] ;高字节带进位相加 DAA ;十进制调整 MOV [BX+1], AL ;存高字节和;例2、拆字。将1000H单元的内容拆成两段。每段四位存入其后的单元中。 (低位在前,高位在后) ; MOV AL , [SI] ;AL=38H MOV CL , 4 SHR AL , CL ; AL=03H MOV [SI+2] , AL ;[1002H]=03H HLT;6-3 查表程序 ;法1:;MOV AX,2000H MOV DS,AX ;建立段地址 MOV BX,1080H ;建立表首址(基地址) MOV SI,1000H MOV AL,[SI] ;取BCD数 XLAT ;AL?[BX+AL] MOV [SI+1],AL HLT 设:AL=5 [BX+AL]=[1080H+5]=[1085H]= 25H;例2、将AL的1位十六进制数(低位)转换为ASCII码;6-4 分支程序;例1、将AX中存放的无符号数除以2。(如果是奇数则加1后除以2) ; TEST AX,01H ;测试AX的D0位 JZ E1 ;D0=0,则ZF=1,AX是偶数,程序转移E1 ADD AX,1 ;否则AX为奇数,加1 E1: SHR AX,1 ;AX←AX÷2 HLT;法2:将最低位用移位指令移至进位标志,判断进位标志是0,AX就是偶数;否则,为奇数;法3:将最低位用移位指令移至最高位(符号位),判断符号标志是0,AX就是偶数;否则,为奇数。;例2、 求两无符号数(分别存于AX、BX)中的 较大值,存WMAX。;P141例6.3 CLC SUB AX,BX JC AA MOV DI, 2800H MOV [DI],AX HLT AA: SUB BX,AX MOV DI, 2800H MOV [DI],BX HLT;改: CLC CMP AX,BX JC AA SUB AX,BX MOV DI, 2800H MOV [DI],AX HLT AA: SUB BX,AX MOV DI, 2800H MOV [DI],BX HLT ;X=0?;SYMB: MOV AL,BL ;取X ADD AL,0 JZ STOR ;X=0,Y=X TEST AL,80H JNZ MINUS ;X<0 MOV AL, 1 ;X>0,Y=+1 JMP
显示全部
相似文档