mov ah,02h ;02h号功能
int 21h ;21h中断显示一个字符到屏幕
cmp bl,'Y' ;al=Y?
je Thanks ;确实相等就跳到Thanks继续执行
cmp bl,'y' ;al=y?
je Thanks ;确实相等就跳到Thanks继续执行
jmp TheEnd
Thanks:
lea dx,ThanksMsg ;显示信息
mov ah,9 ;使用9号功能
int 21h ;21h中断
TheEnd:
lea dx,GoodBye ;显示一个结束信息
mov ah,9 ;使用9号功能
int 21h ;21h中断
mov AX,4C00h ;结束程序并返回DOS
INT 21h ;21h号中断的4CH功能
.DATA
;0Dh,0Ah 是在字符串开始的地方加入的一个入口信息
StartUpMessage DB "A Simple Input Program$"
Instructions DB 0Dh,0Ah,"Just press a Y to continue...$?
ThanksMsg DB 0Dh,0Ah,"Thanks for pressing Y!$"
GoodBye DB 0Dh,0Ah,"Have a nice day!$"
END
过程:
汇编语言、C和Pascal都可以使用过程。对于一系列需要重复执行的指令来说是非常重要的。
以下是过程的定义方法:
PROC AProcedure
.
. ;完成一些工作的代码
.
RET ;这东西不出现在过程的结尾的话,就会当机
ENDP AProcedure
MAIN PROC
JMP Start ;跳过字符串定义
HI DB "Hello There!$" ;define a message
Start: ;在这里开始
Call Display_Hi ;调用过程
MOV AX,4C00h ;终止程序并返回DOS
INT 21h ;21h号中断的4CH功能
Display_Hi PROC ;定义一个过程的开始
lea dx,HI ;把信息的地址放入到DX里
mov ah,9 ;9号功能
int 21h ;21h中断
RET ;不要忘了这个东东!
Display_Hi ENDP ;定义过程的结尾
Main ENDP
END MAIN
[ Last edited by fdsiuha on 2005-10-29 at 21:38 ]作者: Michael 时间: 2005-10-31 09:19 我还以为是英文的,进来一看不是。作者: fdsiuha 时间: 2005-10-31 09:53 这是我翻译的,要原文也有...