第三章 汇编语言程序设计2.pptVIP

  • 4
  • 0
  • 约6.94千字
  • 约 38页
  • 2017-06-02 发布于河南
  • 举报
第三章 汇编语言程序设计2

第3章 汇编语言程序设计(续) ——基本结构程序设计 3.5 基本结构程序设计 例 两个32位无符号数乘法程序。 1)明确任务,确定算法。 2)绘流程图 3.5.2 分支结构 DATA SEGMENT X DW 12 Y DW ? DATA ENDS STACK SEGMENT STACK ‘STACK’ DB 100 DUP (?) STACK ENDS CODE SEGMENT PARA ‘CODE’ ASSUME CS:CODE,DS:DATA,SS:STACK SIGN PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DATA ;装填DS MOV DS,AX MOV AX,X AND AX,AX ;建立标志 JZ ZERO ;X=0转ZERO JNS PLUS ;X0转PLUS MOV BX,0FFFFH ;X0令BX=-1 JMP DONE ZERO:MOV BX,0 JMP DONE PLUS: MOV BX,1 DONE:MOV Y,BX ;存放结果 RET SIGN ENDP CODE ENDS END SIGN 3.5.3 循环结构 例: 100个字节数据从3000H:0100H送到3000H:0200H单元. 循环结构1: mov ax, 3000h mov ds, ax mov si, 0100h mov di, 0200h mov cx, 100 11: mov al, [si] mov [di], al add si , 1 add di, 1 loop 11 循环结构2 mov ax, 3000h mov ds, ax mov si, 0100h mov di, 0200h mov cx, 100 inc cx 11: dec cx jz 12 mov al, [si] mov [di], al inc si inc di jmp 11 12: mov AH,4CH int 21h 例:延时100ms程序 MOV BL,10 DELAY: MOV CX,2801 WAIT:LOOP WAIT ; 10mS DEC BL JNZ DELAY 延时时间=2801×T0×10 3.5.4 子程序结构 若一段指令或在一个程序中多处使用,或在多个程序中用到,则通常在这段指令当做一个独立的模块出来,称为子程序(或过程)。 子程序是模块化设计的重要手段,具有以下优点: (1) 简化程序设计过程,节省程序设计时间; (2)缩短了程序的长度,节省了存储空间; (3)增加了程序的可读性,便于对程序进行修改; (4)方便了程序的模块化、结构化和自顶向下的设计。 通用性:入口参数 出口参数 参数传递方法: 1.用REG,少量参数 2.用程序M中的参数表传递 3.用堆栈传递 (一) 用程序存储器中的参数表传递参数 在主程序中,将参数放在 CALL后面.例: 主程序 … C

文档评论(0)

1亿VIP精品文档

相关文档