VB学习笔记
stack segment stack \'stack\' dw 32 dup(0) ;此处输入堆栈段代码 stack ends data segment ;IBUF OBUF 看成是内存的地址,IBUF+1和IBUF+2就是IBUF后面的第一个和第二个单元的地址 IBUF DB 0FFH,0,255 DUP (0) ;DB 是DEFINE BYTE的缩写就是定义的意思;OFFH =1111 1111 ;DB 7,0,6 DUP(?)就是DB 7,0,?,?,?,?,?,? ;x DUP(y)即重复复制y到寄存器x次; ;DB 7,0,6dup(?)即分别分配内存空间7,0,6;而?表示未设定初始值。 OBUF DB \'>\',0DH,0AH,\'$\' ;0DH和0AH分别是回车和换行的ASCII码 ;$\'是DOS功能调用INT 21H中9号功能要求的要显示字符串的结束标志。 data ends code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV DX, OFFSET OBUF MOV AH,9 INT 21H ;9号功能调用 格式;MOV DX,待显示字符串的首偏移地址 ,OFFSET是将数值回送变量或标号的偏移地址值 ;MOV AH,9 ;INT 21H本调用执行后, ;显示器显示待显示的字符串。执行前要在DS数据段定义一串字符,该字符串必须以$结束。 MOV DX,OFFSET IBUF MOV AH,10 INT 21H ;10号功能调用 格式;MOV DX,数据区的首偏移地址 ;MOV AH,10 ;INT 21H 档需要输入字符串时,应在DS数据段中事先定义以个变量数据区IBUF,其定义格式如下 ;IBUF DB数据区大小,0,数据区大小DUP(0) MOV BL,IBUF+1 MOV BH,0 MOV IBUF [BX+2],\'$\' MOV DL,0AH MOV AH,2 INT 21H ;2号功能调用 格式;MOV DL,待显示字符的ASCII码 ;MOV AH,2 ;INT 21H本调用执行后,显示器显示待显示的字符 MOV DX, OFFSET IBUF+2 MOV AH,9 INT 21H ret ;此处输入代码段代码 begin endp code ends end begin
stack segment stack \'stack\' dw 32 dup(0) stack ends data segment OBUF DB \'>\',0DH,0AH,\'$\' IBUF DB 0FFH,0,255 DUP (0) data ends code SEGMENT begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV DX, OFFSET OBUF MOV AH,9 INT 21H MOV DX,OFFSET IBUF MOV AH,10 INT 21H MOV BL,IBUF+1 MOV BH,0 MOV IBUF [BX+2],\'$\' MOV DL,0AH MOV AH,2 INT 21H MOV DX, OFFSET IBUF+2 MOV AH,9 INT 21H ret begin endp code ends end begin
。。。。。。。。。。。。。。。。。。。。。。。。
- 上一篇 »Python基础学习笔记
- 下一篇 »VB编程技巧推荐