汇编语言小程序例子

上传人:人*** 文档编号:478616322 上传时间:2022-11-04 格式:DOC 页数:9 大小:41.50KB
返回 下载 相关 举报
汇编语言小程序例子_第1页
第1页 / 共9页
汇编语言小程序例子_第2页
第2页 / 共9页
汇编语言小程序例子_第3页
第3页 / 共9页
汇编语言小程序例子_第4页
第4页 / 共9页
汇编语言小程序例子_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《汇编语言小程序例子》由会员分享,可在线阅读,更多相关《汇编语言小程序例子(9页珍藏版)》请在金锄头文库上搜索。

1、1. 编写统计 AX中 1、 0 个数的源程序。 1 的个数存入 CH,0 的个数存入 CL。CODE SEGMENTASSUME CS:CODESTART: MOV CX, 0MOV DX,17AA1:SUB DX, 1JZ AA3SHL AX, 1JNC AA2INC CHJMP AA1AA2:INC CLJMP AA1AA3:MOV AH,4CHINT 21HCODE ENDSEND START2. 编写比较两个字符串 STRING1和 STRING2所含字符是否完全相同的源程序,若相同则显示“ MATCH”,若不相同则显示“ NO MATCH”。程序:DATA SEGMENTR1 DB

2、 MATCH,0AH,0DHR2 DB NO MATCH,0AH,0DHSTRING1 DB XXXXXN1 EQU $-STRING1STRING2 DB YYYYYN2 EQU $-STRING2DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,N1CMP AX,N2JNZ AA1ADD AX,1LEA SI,STRING1LEA DI,STRING2AA2:MOV BL,SIMOV BH,DIINC SIINC DISUB AX,1JZ AA3CMP BL,BHJZ AA2JMP AA

3、1AA3:LEA BX,R1MOV CX,7AA4:MOV DL,BXINC BXMOV AH,2INT 21HLOOP AA4JMP EAA1:LEA BX,R2MOV CX,10AA5:MOV DL,BXINC BXMOV AH,2INT 21HLOOP AA5E: MOV AH,4CH INT 21HCODEENDSEND START3.从键盘读入一个四位的十六进制数,CRT显示等值的二进制数.由于每个十六进制数位对应4 个二进制,所以每读入一个十六进制位后,即可将其对应的4 个二进制位依次输出。由于数字 的ASC码为 30H 39H,字母 a f 与A F的 ASC码为 61H 66H

4、 与 41H 46H ,因此,如果输入的字母为数字,则其低位即为对应的二进制位;如果输入的字符为字母或,则需要减,然后通过移位将低位依次输出。汇编程序如下:DATA SEGMENTMSG1DBHex:,$MSG2DB0DH,0AH,Binary:,$COUNT EQU 4BUF DB 4 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXLEA DX, MSG1MOV AH, 9INT 21HMOV CX, COUNTMOV SI,0INPUT:;通过四次循环从键盘读入四位十六进制数MOV

5、 AH, 1INT 21HMOV BUFSI, ALDEC CXINCSICMP CX, 0JNZ INPUTNEXT3: LEA DX, MSG2MOV AH, 9INT 21HMOV CX, COUNTMOV SI, 0NEXT2: MOV BL, BUFSICMPBL , 9JBEOK; 读入的字符转向OK:SUBBL,7; 读入字符 =9减 7OK:PUSHCXMOV CL ,4SHL BL, CL;逻辑左移4 位, 低 4 位 高 4 位MOV CX, 4; 4次循环将当前处理字符的4 位二进制输出NEXT1: MOVDL, 0SHLBL, 1JNCSKIPINCDLSKIP: MO

6、VAH, 2INT 21HLOOPNEXT1POP CX;INCSILOOPNEXT2 ; 4次循环将4 位十六进制数 , 每位转换为对应的4 位二进制EXIT: MOV AH,4CHINT21HCODEENDSEND START4. 设从 STRING开始存放一个以 $为结束标志的字符串,试编写把字符串中的字符进行分类的源程序,数字字符送入 NUM开始的内存中,大写字母送入 BCHAR开始的内存区中,小写字母存入 LCHAR开始的内存中,其他字符存入 OTHER开始的内存区中。DATA SEGMENTSTRING DB abc123ABC,$N EQU $-STRINGNUM DB N DU

7、P(?)BCHAR DB N DUP(?)LCHAR DB N DUP(?)OTHER DB N DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,STRINGDEC BXLEA SP,BCHARLEA CX,LCHARLEA DX,OTHERLEA SI,NUMAA1:INC BX5.MOV AL,BX如 , 当DX=2A49H时 , 程序执行完后,MEM中的4 个字节内容为39H、 34H、 41H、和32H。答:DATASEGMENTSOURCE DW2A49HMEMDB 4

8、 DUP(?)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA;START:MOVAX,DATAMOVDS,AX;MOVDX,SOURCELEABX,MEM;set the loopMOVCX,4;the loop bodyLB:MOVAX,DXANDAX,000FHCMPAL,10JCAD;ADDAL,7;AD:ADDAL,30HMOVBX,ALINCBX;SHRDX,1SHRDX,1SHRDX,1SHRDX,1LOOPLB;the loop end, return to dosMOVAH,4CHINT21HCODEENDSENDSTART6.下面程序段是实现从键盘输入 10 个 1 位 10 进制数后累加。最后累加和以非压缩 BCD码形式存放在 AH(高位)和 AL(低位)中。答:XORDX, DXMOV CX 10LOP1: MOV AH ,01H;键盘字符输入INT21HMOVAH, DHADDAL , DLAAAMOVDX, AXLOOPLOP1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号