微机原理作业和答案第四章.docVIP

  • 47
  • 0
  • 约1.05万字
  • 约 13页
  • 2017-06-05 发布于湖北
  • 举报
第四章? 汇编语言程序设计 4-‘abcdef’ N EQU $-CHAR1;变量必须先定义后使用,而不能相反 CHAR2 DB N DUP(0);不能把此句与上一句对调 DDD0??? ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS ;P126(代码段和堆栈段是不可少的) CSEG??? SEGMENT ASSUME CS:CSEG,DS:DDD0,SS:STACK START: MOV AX,DDD0 MOV DS,AX ;MOV DX,AX??? MOV ES,AX ;只要SI,DI都用 MOV SI,0 ;LEA SI,CHAR1 MOV DI,0 ;LEA DI,CHAR2 MOV CX,N AGAIN: MOV AL,CHAR1[SI] ; MOV AL,[SI] SUB AL,20H MOV CHAR2[DI],AL ; MOV [DI],AL MOV DL,AL ;不是必须的,但做实验是有用的。 MOV AH,2 INT21H INC SI INC DI LOOP AGAIN MOV AH,4CH INT 21H ;不是必须的 CSEG ENDS END START 第二种方法: DDD0 SEGMENT CHAR1 DB ‘abcdef’ N EQU $-CHAR1 CHAR2 DB N DUP(0) DDD0??? ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS ;P126(代码段和堆栈段是不可少的) CSEG??? SEGMENT ASSUME CS:CSEG,DS:DDD0,SS:STACK START: MOV AX,DDD0 MOV DS,AX MOV ES,AX LEA SI,CHAR1 LEA DI,CHAR2 MOV CX,N CLD ;不写(隐含)也是0(递增)但不能STD AGAIN: LODSB ;执行一次,隐含修改SI SUB AL,32 stosb ;MOV [DI],AL;执行一次, 隐含修改DI nop ;INC DI LOOP AGAIN ;LOOP指令只修改CX,不管SI,DI MOV AH,4CH INT 21H ;不是必须的 CSEG ENDS END START 4-6在BUF地址处起,存放有10

文档评论(0)

1亿VIP精品文档

相关文档