第四章 汇编语言2.ppt
文本预览下载声明
4.2.4 过程定义伪指令PROC、ENDP 过程就是子程序。一个过程可以被其它程序所调用(用CALL指令),过程的最后一条指令一般是返回指令(RET)。 过程定义伪指令的格式为 过程名 PROC [类型] … … RET 过程名 ENDP 注意:PROC和ENDP必须成对出现。 过程的类型有两种: NEAR——(默认类型)表示段内调用 FAR——表示段间调用 调用一个过程的格式为: CALL 过程名 宏展开:汇编程序会把宏调用按宏定义展开。 例如:宏定义为: Display MACRO string LEA DX,string MOV AH,9 INT 21H ENDM 程序中宏调用: …… DISPLAY ERROR_MESSAGE DISPLAY EXIT_MESSAGE …… 汇编后的结果:(带有+号的指令为宏展开后的结果) …… + LEA DX,ERROR_MESSAGE + MOV AH,9 + INT 21H + LEA DX,EXIT_MESSAGE + MOV AH,9 + INT 21H …… 例1 成绩统计 要求: 设有10个学生成绩分别为80, 100, 78, 56, 79, 90, 96, 82, 88, 75。编制程序分别统计低于60分,60~69分,70~79分,80~89分,90~99分及100分的人的个数,并存放到a100,b90,c80,d70,e60,f50单元中。 程序流程图如下: DATA SEGMENT STUNUM DB 10 GRADE DB 56,100,10,56,79,90,96,82,88,75 A100 DB 0 ; 定义各分数段计数器 B90 DB 0 C80 DB 0 D70 DB 0 E60 DB 0 F50 DB 0 DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START: MOV AX,DATA MOV DS,AX FIVE: INC F50 JMP SHORT NEXT SIX: INC E60 JMP SHORT NEXT SEVEN: INC D70 JMP SHORT NEXT EIGHT: INC C80 JMP SHORT NEXT NINE: INC B90 NEXT: INC BX LOOP COMPARE MOV AH,4CH INT 21H CODE ENDS END START 例2 密码判断 要求: 屏幕显示“ PASSWORD?”,随后从键盘读入字符串,并比较这个字符串与程序内部设定的字符串。若二者相同则显示“OK”,否则不做任何显示
显示全部