* 例3-1:数据块传送程序:将以S1为起始地址的30个字符依次传送到同数据段的以S2为起始地址的一片字节存储单元里。 41H 42 H … 33 H S1 30个字符 S2 - - … - SI DI 方法一:数据块是用DB定义的一个字符串S1。用寄存器间接寻址方式访问S1和S2,即用[SI]表示S1中各字节的位移量,用[DI]表示S2中各字节的位移量。 第三章 汇编语言程序设计举例 * 程序如下: DATA SEGMENT S1 DB ‘ABCDEFGHIJKLMNOPQRSTUVW’ DB ‘XYZ0123’ S2 DB 30 DUP(?) DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET S1 MOV DI,OFFSET S2 MOV CX,30 NEXT: MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START * DATA SEGMENT S1 DB ‘A’,‘B’,‘C’,‘D’,‘E’ DB ‘FGHIJKLMNOPQRSTUVWXYZ’ DB ‘0’,‘1’,‘2’,‘3’ S2 DB 30 DUP(?) DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX 我们也可以使用其它方法来实现,如用变址寻址方式等。程序如下: MOV SI,0 MOV CX,30 NEXT: MOV AL,S1[SI] MOV S2[SI],AL INC SI LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START * DSEG SEGMENT DATA DB 20 DUP(?) DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG GO: MOV AX,DSEG MOV DS,AX MOV CX,20 MOV SI,OFFSET DATA L01: MOV AH,01H INT 21H MOV [SI],AL INC SI LOOP L01 例3-2:从键盘上输入20个字符,然后以与键入字符的先后相同的顺序显示出来。 MOV CX,20 MOV SI,OFFSET DATA L02: MOV DL,[SI] MOV AH,02H INT 21H INC SI LOOP L02 MOV AH,4CH INT 21H CSEG ENDS END GO * CODE SEGMENT
您可能关注的文档
最近下载
- 部编版语文四年级下册 第五单元综合能力提升卷(含答案).doc VIP
- 未成年人保护法解读与宣传.pptx VIP
- 2012江苏高考《伯父墓表》详解.ppt VIP
- Metformin 盐酸二甲双胍 药品 0.5g 说明书.pdf
- 致用英语口语教程(第三版)(上)Unit9课件PPT课件.pptx VIP
- SAP工艺简介SAP工艺简介.pdf VIP
- 提高术后手术间的归整率.docx VIP
- 硬笔书法纸可直接打印的口字格米字格田字格等模板.doc VIP
- 《Spark批处理技术与应用》课件——5. Spark机器学习(MLlib).pptx VIP
- 【中考真题】2024年北京中考数学试题及答案 .pdf VIP
原创力文档

文档评论(0)